1 line
2.6 MiB
1 line
2.6 MiB
{"version":3,"file":"main.js","mappings":"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","sources":["webpack://materio.com/webpack/runtime/chunk loaded","webpack://materio.com/webpack/runtime/load script","webpack://materio.com/./node_modules/lodash/now.js","webpack://materio.com/./node_modules/lodash/isObjectLike.js","webpack://materio.com/./node_modules/pretty-bytes/index.js","webpack://materio.com/./node_modules/graphql/language/printer.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/gql/searchresults.fragment.gql","webpack://materio.com/./node_modules/lodash/_getRawTag.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/rest-axios.js","webpack://materio.com/./node_modules/graphql/jsutils/invariant.js","webpack://materio.com/./node_modules/querystring-es3/encode.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/gql/materiauflaglist.fragment.gql","webpack://materio.com/./node_modules/lodash/_trimmedEndIndex.js","webpack://materio.com/./node_modules/lodash/_Symbol.js","webpack://materio.com/./node_modules/axios/lib/cancel/Cancel.js","webpack://materio.com/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue?7975","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue?ac3d","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue?2d21","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LinkedMaterialCard.vue","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue?27a5","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/ModalCard.vue","webpack://materio.com/./node_modules/tslib/tslib.es6.mjs","webpack://materio.com/./node_modules/graphql/jsutils/devAssert.mjs","webpack://materio.com/./node_modules/graphql/jsutils/isObjectLike.mjs","webpack://materio.com/./node_modules/graphql/polyfills/symbols.mjs","webpack://materio.com/./node_modules/graphql/language/location.mjs","webpack://materio.com/./node_modules/graphql/language/printLocation.mjs","webpack://materio.com/./node_modules/graphql/error/GraphQLError.mjs","webpack://materio.com/./node_modules/graphql/error/syntaxError.mjs","webpack://materio.com/./node_modules/graphql/language/kinds.mjs","webpack://materio.com/./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","webpack://materio.com/./node_modules/graphql/jsutils/defineInspect.mjs","webpack://materio.com/./node_modules/graphql/jsutils/invariant.mjs","webpack://materio.com/./node_modules/graphql/language/ast.mjs","webpack://materio.com/./node_modules/graphql/language/tokenKind.mjs","webpack://materio.com/./node_modules/graphql/jsutils/inspect.mjs","webpack://materio.com/./node_modules/graphql/jsutils/instanceOf.mjs","webpack://materio.com/./node_modules/graphql/language/source.mjs","webpack://materio.com/./node_modules/graphql/language/directiveLocation.mjs","webpack://materio.com/./node_modules/graphql/language/blockString.mjs","webpack://materio.com/./node_modules/graphql/language/lexer.mjs","webpack://materio.com/./node_modules/graphql/language/parser.mjs","webpack://materio.com/./node_modules/graphql-tag/lib/index.js","webpack://materio.com/./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack://materio.com/./node_modules/axios/index.js","webpack://materio.com/./node_modules/lodash/_baseGetTag.js","webpack://materio.com/./node_modules/vue-js-modal/dist/index.js","webpack://materio.com/./node_modules/vue-simple-accordion/dist/vue-simple-accordion.common.js","webpack://materio.com/./node_modules/axios/lib/core/transformData.js","webpack://materio.com/./node_modules/querystring-es3/index.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/gql/products.fragment.gql","webpack://materio.com/./node_modules/axios/lib/cancel/CancelToken.js","webpack://materio.com/./node_modules/axios/lib/core/InterceptorManager.js","webpack://materio.com/./node_modules/graphql/jsutils/defineInspect.js","webpack://materio.com/./node_modules/vue-router/dist/vue-router.esm.js","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue?8dc5","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Pages/Home.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/route/index.js","webpack://materio.com/./node_modules/lodash/isObject.js","webpack://materio.com/./node_modules/axios/lib/cancel/isCancel.js","webpack://materio.com/./node_modules/axios/lib/helpers/cookies.js","webpack://materio.com/./node_modules/lodash/_baseTrim.js","webpack://materio.com/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://materio.com/./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack://materio.com/./node_modules/lodash/isSymbol.js","webpack://materio.com/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://materio.com/./node_modules/axios/lib/core/dispatchRequest.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?af64","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?dfb1","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/Modal.vue?185f","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?0b2a","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue?2427","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/LoginForm.vue?6442","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue?f1a2","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/RegisterForm.vue?a940","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?a6be","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Helper/LoginRegister.vue?05ab","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/productsMixins.js","webpack://materio.com/./node_modules/axios/lib/helpers/combineURLs.js","webpack://materio.com/./node_modules/deepmerge/dist/cjs.js","webpack://materio.com/./node_modules/lodash/_freeGlobal.js","webpack://materio.com/./node_modules/axios/lib/helpers/validator.js","webpack://materio.com/./node_modules/querystring-es3/decode.js","webpack://materio.com/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://materio.com/./node_modules/axios/lib/core/Axios.js","webpack://materio.com/./node_modules/axios/lib/core/mergeConfig.js","webpack://materio.com/./node_modules/vuex/dist/vuex.esm.js","webpack://materio.com/./node_modules/axios/lib/core/enhanceError.js","webpack://materio.com/./node_modules/axios/lib/adapters/xhr.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/gql/showroom.fragment.gql","webpack://materio.com/./node_modules/graphql/language/ast.js","webpack://materio.com/./node_modules/slim-select/dist/slimselect.js","webpack://materio.com/./node_modules/check-password-strength/index.js","webpack://materio.com/./node_modules/vue/dist/vue.min.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/graphql-axios.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/common.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/user.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/search.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/blabla.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/showrooms.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/modules/pages.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/store/index.js","webpack://materio.com/./node_modules/axios/lib/defaults.js","webpack://materio.com/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://materio.com/./node_modules/axios/lib/core/settle.js","webpack://materio.com/./node_modules/axios/lib/core/createError.js","webpack://materio.com/./node_modules/axios/lib/helpers/spread.js","webpack://materio.com/./node_modules/axios/lib/axios.js","webpack://materio.com/./node_modules/vuex-extensions/lib/index.js","webpack://materio.com/./node_modules/lodash/debounce.js","webpack://materio.com/./node_modules/vue2-touch-events/index.js","webpack://materio.com/./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js","webpack://materio.com/./node_modules/axios/lib/helpers/bind.js","webpack://materio.com/./node_modules/axios/lib/helpers/buildURL.js","webpack://materio.com/./node_modules/graphql/language/visitor.js","webpack://materio.com/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://materio.com/./node_modules/graphql/language/blockString.js","webpack://materio.com/./node_modules/lodash/_root.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/gql/materiaumodal.fragment.gql","webpack://materio.com/./node_modules/lodash/_objectToString.js","webpack://materio.com/./node_modules/lodash/toNumber.js","webpack://materio.com/./node_modules/vue-i18n/dist/vue-i18n.esm.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/i18n/index.js","webpack://materio.com/./node_modules/vue-meta/dist/vue-meta.esm.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue?3ff7","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue?1ef2","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/LoginBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?faa7","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue?1a29","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue?b921","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?93a2","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/UserTools.vue?e963","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue?3230","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue?238f","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue?526f","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue?fcba","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?d7d2","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue?5cda","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue?d11e","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue?1269","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue?25de","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue?3c4d","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/MiniCard.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue?f744","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/User/FlagCollection.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue?0f3d","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LeftContent.vue","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/HeaderMenu.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/HeaderMenu.vue?03a6","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/HeaderMenu.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LanguageSwitcher.vue?9c78","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/LanguageSwitcher.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/LanguageSwitcher.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/GlobCoolLightBox.vue?4847","webpack://materio.com/web/themes/custom/materiotheme/vuejs/components/Content/GlobCoolLightBox.vue","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/GlobCoolLightBox.vue?0aaa","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/Content/GlobCoolLightBox.vue","webpack://materio.com/./node_modules/@sentry/core/build/esm/debug-build.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/version.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/worldwide.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/carrier.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/debug-build.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/logger.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/integration.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/is.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/browser.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/string.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/object.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/misc.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/eventUtils.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/integrations/eventFilters.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/time.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/session.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/propagationContext.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/merge.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/spanOnScope.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/scope.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/defaultScopes.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/asyncContext/index.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/currentScopes.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/integrations/functiontostring.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/stacktrace.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/integrations/dedupe.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/supports.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/sdk.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/api.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/constants.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/semanticAttributes.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/baggage.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/spanstatus.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/utils.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/parseSampleRate.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/tracing.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/spanUtils.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/dsn.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/normalize.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/envelope.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/envelope.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/error.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/syncpromise.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/eventProcessors.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/debug-ids.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/applyScopeDataToEvent.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/prepareEvent.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/client.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/transactionEvent.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/clientreport.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/sdkMetadata.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/logs/envelope.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/logs/index.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/ipAddress.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/eventbuilder.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/exports.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/helpers.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/client.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/env.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/debug-build.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/instrument/handlers.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/types.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/dom.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/xhr.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/history.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/instrument/console.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/instrument/fetch.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/breadcrumbs.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/severity.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/breadcrumb-log-level.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/url.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/breadcrumbs.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/browserapierrors.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/browsersession.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/instrument/globalError.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/instrument/globalUnhandledRejection.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/globalhandlers.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/httpcontext.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/aggregate-errors.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/integrations/linkederrors.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/stack-parsers.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/getNativeImplementation.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/promisebuffer.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils-hoist/ratelimit.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/transports/base.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/transports/fetch.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/sdk.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/measurement.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getFID.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/interactions.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdle.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/sentrySpan.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/logSpans.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/trace.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/sampling.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/browserMetrics.js","webpack://materio.com/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/inp.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/idleSpan.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/tracing/errors.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/utils/traceData.js","webpack://materio.com/./node_modules/@sentry/core/build/esm/fetch.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/tracing/request.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/tracing/browserTracingIntegration.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/constants.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/debug-build.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/vendor/components.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/errorhandler.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/tracing.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/integration.js","webpack://materio.com/./web/themes/custom/materiotheme/assets/scripts/main.js","webpack://materio.com/./node_modules/@sentry/browser/build/npm/esm/tracing/backgroundtab.js","webpack://materio.com/./node_modules/@sentry/vue/build/esm/sdk.js","webpack://materio.com/./node_modules/axios/lib/utils.js","webpack://materio.com/./node_modules/axios/lib/core/buildFullPath.js","webpack://materio.com/./node_modules/graphql/jsutils/inspect.js","webpack://materio.com/./node_modules/vuex-extensions/lib/util.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/components/cardMixins.js","webpack://materio.com/./web/themes/custom/materiotheme/vuejs/api/ma-axios.js","webpack://materio.com/webpack/bootstrap","webpack://materio.com/webpack/runtime/chunk prefetch function","webpack://materio.com/webpack/runtime/compat get default export","webpack://materio.com/webpack/runtime/define property getters","webpack://materio.com/webpack/runtime/ensure chunk","webpack://materio.com/webpack/runtime/get javascript chunk filename","webpack://materio.com/webpack/runtime/get mini-css chunk filename","webpack://materio.com/webpack/runtime/global","webpack://materio.com/webpack/runtime/hasOwnProperty shorthand","webpack://materio.com/webpack/runtime/make namespace object","webpack://materio.com/webpack/runtime/publicPath","webpack://materio.com/webpack/runtime/jsonp chunk loading","webpack://materio.com/webpack/runtime/startup prefetch","webpack://materio.com/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"materio.com:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\n\nconst BYTE_UNITS = [\n\t'B',\n\t'kB',\n\t'MB',\n\t'GB',\n\t'TB',\n\t'PB',\n\t'EB',\n\t'ZB',\n\t'YB'\n];\n\nconst BIBYTE_UNITS = [\n\t'B',\n\t'kiB',\n\t'MiB',\n\t'GiB',\n\t'TiB',\n\t'PiB',\n\t'EiB',\n\t'ZiB',\n\t'YiB'\n];\n\nconst BIT_UNITS = [\n\t'b',\n\t'kbit',\n\t'Mbit',\n\t'Gbit',\n\t'Tbit',\n\t'Pbit',\n\t'Ebit',\n\t'Zbit',\n\t'Ybit'\n];\n\nconst BIBIT_UNITS = [\n\t'b',\n\t'kibit',\n\t'Mibit',\n\t'Gibit',\n\t'Tibit',\n\t'Pibit',\n\t'Eibit',\n\t'Zibit',\n\t'Yibit'\n];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n\tlet result = number;\n\tif (typeof locale === 'string' || Array.isArray(locale)) {\n\t\tresult = number.toLocaleString(locale, options);\n\t} else if (locale === true || options !== undefined) {\n\t\tresult = number.toLocaleString(undefined, options);\n\t}\n\n\treturn result;\n};\n\nmodule.exports = (number, options) => {\n\tif (!Number.isFinite(number)) {\n\t\tthrow new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n\t}\n\n\toptions = Object.assign({bits: false, binary: false}, options);\n\n\tconst UNITS = options.bits ?\n\t\t(options.binary ? BIBIT_UNITS : BIT_UNITS) :\n\t\t(options.binary ? BIBYTE_UNITS : BYTE_UNITS);\n\n\tif (options.signed && number === 0) {\n\t\treturn ` 0 ${UNITS[0]}`;\n\t}\n\n\tconst isNegative = number < 0;\n\tconst prefix = isNegative ? '-' : (options.signed ? '+' : '');\n\n\tif (isNegative) {\n\t\tnumber = -number;\n\t}\n\n\tlet localeOptions;\n\n\tif (options.minimumFractionDigits !== undefined) {\n\t\tlocaleOptions = {minimumFractionDigits: options.minimumFractionDigits};\n\t}\n\n\tif (options.maximumFractionDigits !== undefined) {\n\t\tlocaleOptions = Object.assign({maximumFractionDigits: options.maximumFractionDigits}, localeOptions);\n\t}\n\n\tif (number < 1) {\n\t\tconst numberString = toLocaleString(number, options.locale, localeOptions);\n\t\treturn prefix + numberString + ' ' + UNITS[0];\n\t}\n\n\tconst exponent = Math.min(Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3), UNITS.length - 1);\n\t// eslint-disable-next-line unicorn/prefer-exponentiation-operator\n\tnumber /= Math.pow(options.binary ? 1024 : 1000, exponent);\n\n\tif (!localeOptions) {\n\t\tnumber = number.toPrecision(3);\n\t}\n\n\tconst numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n\tconst unit = UNITS[exponent];\n\n\treturn prefix + numberString + ' ' + unit;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.print = print;\n\nvar _visitor = require(\"./visitor.js\");\n\nvar _blockString = require(\"./blockString.js\");\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nfunction print(ast) {\n return (0, _visitor.visit)(ast, {\n leave: printDocASTReducer\n });\n}\n\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? (0, _blockString.printBlockString)(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"SearchResultFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SearchResultInterface\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uuid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bundle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"short_description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Materiau\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_cardmedium_url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_hd_url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reference\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"samples\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showroom\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"note\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"note_id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Thematique\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_cardmedium_url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_hd_url\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":462}};\n doc.loc.source = {\"body\":\"fragment SearchResultFields on SearchResultInterface {\\n id\\n uuid\\n bundle\\n path\\n title\\n short_description\\n ... on Materiau{\\n images{\\n url\\n alt\\n style_cardmedium_url\\n style_hd_url\\n }\\n reference\\n \\tsamples{\\n showroom{\\n name\\n id\\n }\\n location\\n }\\n note{\\n id\\n }\\n note_id\\n }\\n ... on Thematique {\\n images{\\n url\\n alt\\n style_cardmedium_url\\n style_hd_url\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SearchResultFields\"] = oneQuery(doc, \"SearchResultFields\");\n \n","var Symbol = require('./_Symbol');\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 * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","import axios from 'axios'\n\n// https://github.com/alvar0hurtad0/drupal-vuejs-todo/blob/master/frontend/src/api/axiosInterceptor.js\n\n// console.log('drupalSettings', drupalSettings)\n// console.log('window.location.origin', window.location.origin)\n\n// axios.interceptors.response.use(\n// response => {\n// return Promise.resolve(response)\n// },\n// error => {\n// const { status } = error.response\n// console.warn('error in rest-axios', status)\n// if (status === 403) {\n// window.location = '/'\n// }\n// return Promise.reject(error)\n// }\n// )\n\nconst REST = axios.create({\n baseURL: window.location.origin + '/' + drupalSettings.path.pathPrefix,\n withCredentials: true,\n headers: {\n // Authorization: 'Bearer {token}',\n 'Content-Type': 'application/json'\n }\n})\n\nREST.interceptors.response.use(\n response => {\n return Promise.resolve(response)\n },\n error => {\n const { status } = error.response\n console.warn('error in rest-axios', status)\n if (status === 403) {\n window.location = '/'\n }\n return Promise.reject(error)\n }\n)\n\nexport default REST\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = invariant;\n\nfunction invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\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\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"MateriauFlagListFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Materiau\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_minicard\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"samples\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showroom\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":194}};\n doc.loc.source = {\"body\":\"fragment MateriauFlagListFields on Materiau {\\n id\\n title\\n path\\n images {\\n url\\n style_minicard{\\n url\\n }\\n }\\n\\tsamples{\\n showroom{\\n name\\n id\\n }\\n location\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MateriauFlagListFields\"] = oneQuery(doc, \"MateriauFlagListFields\");\n \n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.material || _vm.loading)?_c('div',{staticClass:\"loading\"},[_c('span',[_vm._v(\"Loading ...\")])]):_c('article',{directives:[{name:\"touch\",rawName:\"v-touch\",value:(_vm.onTapCard),expression:\"onTapCard\"},{name:\"touch\",rawName:\"v-touch:swipe\",value:(_vm.onSwipeCard),expression:\"onSwipeCard\",arg:\"swipe\"}],staticClass:\"card modal-card\"},[_c('section',{staticClass:\"col col-right\"},[_c('header',[_c('h1',[_vm._v(_vm._s(_vm.material.title))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.material.short_description))]),_vm._v(\" \"),_c('span',{staticClass:\"ref\"},[_vm._v(_vm._s(_vm.material.reference))])]),_vm._v(\" \"),_c('nav',{ref:\"tools\",staticClass:\"tools\"},[_c('section',{staticClass:\"tool close\"},[_c('span',{staticClass:\"btn mdi mdi-close\",on:{\"click\":function($event){$event.preventDefault();return _vm.onCloseModalCard.apply(null, arguments)}}})]),_vm._v(\" \"),_c('section',{staticClass:\"tool flags\"},[_c('span',{directives:[{name:\"touch\",rawName:\"v-touch.prevent.stop\",value:(_vm.onTapTool),expression:\"onTapTool\",modifiers:{\"prevent\":true,\"stop\":true}}],staticClass:\"btn mdi mdi-folder-outline\"}),_vm._v(\" \"),_c('div',{staticClass:\"tool-content\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.My folders\")))]),_vm._v(\" \"),_c('ul',[_vm._l((_vm.flagcolls),function(coll){return (_vm.flagcolls)?_c('li',{key:coll.id},[_c('span',{staticClass:\"flag mdi\",class:[\n _vm.flagIsLoading(coll.id) ? 'mdi-loading mdi-spin' : _vm.flagIsActive(coll.id) ? 'mdi-close-circle isActive' : 'mdi-plus'\n ],attrs:{\"collid\":coll.id},on:{\"click\":function($event){$event.preventDefault();return _vm.onFlagActionCard.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(coll.name)+\"\\n \")])]):_vm._e()}),_vm._v(\" \"),(_vm.collsLength<15)?_c('li',{staticClass:\"create-flag\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.new_folder_name),expression:\"new_folder_name\"}],attrs:{\"placeholder\":\"new folder\"},domProps:{\"value\":(_vm.new_folder_name)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();$event.stopPropagation();return _vm.onCreateFlagColl.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.new_folder_name=$event.target.value}}}),_vm._v(\" \"),_c('span',{staticClass:\"add-btn mdi\",class:_vm.addFlagBtnClassObj,on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCreateFlagColl.apply(null, arguments)}}})]):_vm._e()],2)])]),_vm._v(\" \"),(_vm.material.samples && _vm.material.samples.length)?_c('section',{staticClass:\"tool samples\"},[_c('span',{directives:[{name:\"touch\",rawName:\"v-touch.prevent.stop\",value:(_vm.onTapTool),expression:\"onTapTool\",modifiers:{\"prevent\":true,\"stop\":true}}],staticClass:\"btn mdi mdi-map-marker-star-outline\"}),_vm._v(\" \"),_c('div',{staticClass:\"tool-content\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.Samples\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.material.samples),function(sample){return _c('li',{key:sample.showroom.id},[_c('span',{staticClass:\"showroom\"},[_vm._v(_vm._s(sample.showroom.name))]),_vm._v(\": \"+_vm._s(sample.location)+\"\\n \")])}),0)])]):_vm._e(),_vm._v(\" \"),_c('section',{staticClass:\"tool note\"},[(_vm.note_id)?_c('span',{directives:[{name:\"touch\",rawName:\"v-touch.prevent.stop\",value:(_vm.onTapTool),expression:\"onTapTool\",modifiers:{\"prevent\":true,\"stop\":true}}],staticClass:\"btn mdi mdi-note\"}):_c('span',{directives:[{name:\"touch\",rawName:\"v-touch.prevent.stop\",value:(_vm.onTapTool),expression:\"onTapTool\",modifiers:{\"prevent\":true,\"stop\":true}}],staticClass:\"btn mdi mdi-note-outline\"}),_vm._v(\" \"),_c('div',{staticClass:\"tool-content\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note),expression:\"note\"}],attrs:{\"spellcheck\":\"false\",\"name\":\"note\"},domProps:{\"value\":(_vm.note)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.note=$event.target.value},_vm.onNoteInput]}})])]),_vm._v(\" \"),_c('section',{staticClass:\"tool print\"},[_c('a',{attrs:{\"href\":_vm.material.path+'/printable/print',\"target\":\"_blank\"}},[_c('span',{staticClass:\"btn mdi mdi-printer\"})])])]),_vm._v(\" \"),_c('vsa-list',[_c('vsa-item',{attrs:{\"initActive\":true}},[_c('vsa-heading',[_c('span',{staticClass:\"label\"},[_vm._v(\"Description\")])]),_vm._v(\" \"),_c('vsa-content',[_c('section',{staticClass:\"body\",domProps:{\"innerHTML\":_vm._s(_vm.material.body)}}),_vm._v(\" \"),_c('section',{staticClass:\"attachments\"},[_c('ul',_vm._l((_vm.material.attachments),function(attachmt){return _c('li',{key:attachmt.file.fid},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":attachmt.file.url}},[_vm._v(_vm._s(attachmt.file.filename)+\" \"),_c('span',[_vm._v(\"(\"+_vm._s(_vm.prettyFileSize(attachmt.file.filesize))+\")\")])]),_vm._v(\" \"),(attachmt.description)?_c('p',{staticClass:\"description\",domProps:{\"innerHTML\":_vm._s(attachmt.description)}}):_vm._e()])}),0)]),_vm._v(\" \"),_c('section',{staticClass:\"industriels\"},[(_vm.material.manufacturer && _vm.material.manufacturer.length)?_c('section',[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.Manufacturer\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.material.manufacturer),function(manu){return _c('li',{key:manu.id},[_c('h2',[_vm._v(_vm._s(manu.name))]),_vm._v(\" \"),(manu.website.url)?_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":manu.website.url}},[_vm._v(_vm._s(_vm.shortUrl(manu.website.url)))])]):_vm._e(),_vm._v(\" \"),(manu.email)?_c('p',[_c('a',{attrs:{\"href\":'mailto:'+manu.email}},[_vm._v(_vm._s(manu.email))])]):_vm._e(),_vm._v(\" \"),(manu.phone)?_c('p',[_c('a',{attrs:{\"href\":'tel:'+manu.phone}},[_vm._v(_vm._s(manu.phone))])]):_vm._e(),_vm._v(\" \"),(manu.country.country_name)?_c('p',[_vm._v(_vm._s(manu.country.country_name))]):_vm._e()])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.material.distributor && _vm.material.distributor.length)?_c('section',[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.Distributor\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.material.distributor),function(distrib){return _c('li',{key:distrib.id},[_c('h2',[_vm._v(_vm._s(distrib.name))]),_vm._v(\" \"),(distrib.website.url)?_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":distrib.website.url}},[_vm._v(_vm._s(_vm.shortUrl(distrib.website.url)))])]):_vm._e(),_vm._v(\" \"),(distrib.email)?_c('p',[_c('a',{attrs:{\"href\":'mailto:'+distrib.email}},[_vm._v(_vm._s(distrib.email))])]):_vm._e(),_vm._v(\" \"),(distrib.phone)?_c('p',[_c('a',{attrs:{\"href\":'tel:'+distrib.phone}},[_vm._v(_vm._s(distrib.phone))])]):_vm._e(),_vm._v(\" \"),(distrib.country.country_name)?_c('p',[_vm._v(_vm._s(distrib.country.country_name))]):_vm._e()])}),0)]):_vm._e()])])],1),_vm._v(\" \"),(_vm.material.linked_materials.length)?_c('vsa-item',[_c('vsa-heading',[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.Linked materials\")))])]),_vm._v(\" \"),_c('vsa-content',[_c('section',{staticClass:\"linked-materials\"},[_c('ul',_vm._l((_vm.material.linked_materials),function(m){return _c('li',{key:m.id},[_c('LinkedMaterialCard',{attrs:{\"item\":m}})],1)}),0)])])],1):_vm._e()],1)],1),_vm._v(\" \"),_c('section',{directives:[{name:\"switcher\",rawName:\"v-switcher\"}],staticClass:\"col col-left images\"},_vm._l((_vm.material.images),function(img,index){return _c('figure',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(index),expression:\"index\"}],key:img.url,staticClass:\"lazy\"},[_c('img',{attrs:{\"data-src\":img.style_cardfull.url,\"title\":img.title}}),_vm._v(\" \"),_c('img',{staticClass:\"blank\",attrs:{\"src\":_vm.blanksrc},on:{\"click\":function($event){return _vm.setLightBox(index)}}})])}),0)])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"card linkedmaterialcard\"},[_c('header',{on:{\"click\":function($event){$event.preventDefault();return _vm.openModalCard.apply(null, arguments)}}},[_c('h1',[_vm._v(_vm._s(_vm.item.title))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.item.short_description))]),_vm._v(\" \"),(_vm.isloggedin)?_c('span',{staticClass:\"ref\"},[_vm._v(_vm._s(_vm.item.reference))]):_vm._e()]),_vm._v(\" \"),_c('nav',{staticClass:\"tools\"}),_vm._v(\" \"),_c('section',{directives:[{name:\"switcher\",rawName:\"v-switcher\"}],staticClass:\"images\"},_vm._l((_vm.item.images),function(img,index){return _c('figure',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(index),expression:\"index\"}],key:img.url,staticClass:\"lazy\"},[_c('img',{attrs:{\"data-src\":img.style_linkedmaterialcard.url,\"title\":img.title}}),_vm._v(\" \"),_c('img',{staticClass:\"blank\",attrs:{\"src\":_vm.blanksrc},on:{\"click\":function($event){$event.preventDefault();return _vm.openModalCard.apply(null, arguments)}}})])}),0)])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template>\n <article class=\"card linkedmaterialcard\">\n <header\n @click.prevent=\"openModalCard\"\n >\n <h1>{{ item.title }}</h1>\n <h4>{{ item.short_description }}</h4>\n <span v-if=\"isloggedin\" class=\"ref\">{{ item.reference }}</span>\n </header>\n <nav class=\"tools\">\n\n </nav>\n <section class=\"images\" v-switcher>\n <figure\n v-for=\"(img, index) in item.images\"\n :key=\"img.url\"\n class=\"lazy\"\n v-lazy=\"index\"\n >\n <img\n :data-src=\"img.style_linkedmaterialcard.url\"\n :title=\"img.title\"\n />\n <img\n class=\"blank\"\n :src=\"blanksrc\"\n @click.prevent=\"openModalCard\"\n />\n </figure>\n </section>\n </article>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\nimport cardMixins from 'vuejs/components/cardMixins'\n// import ModalCard from 'vuejs/components/Content/ModalCard'\nconst ModalCard = () => import(\n /* webpackChunkName: \"module-base\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Content/ModalCard')\n\nexport default {\n name: \"LinkedMaterialCard\",\n props: ['item'],\n mixins: [cardMixins],\n // components: {\n // ModalCard\n // },\n data() {\n return {\n blanksrc:`${drupalSettings.path.themePath}/assets/img/blank.gif`,\n loadingItem: false\n }\n },\n computed: {\n ...mapState({\n isloggedin: state => state.User.isloggedin\n })\n },\n methods: {\n itemIsLoading(id) {\n return this.loadingItem\n },\n openModalCard (e) {\n console.log('openModalCard', this.isLoggedin)\n if (this.isloggedin) {\n this.$modal.show(\n ModalCard,\n {\n item: this.item,\n // not really an event\n // more a callback function passed as prop to the component\n addNoteId:(id) => {\n // no needs to refresh the entire item via searchresults\n // plus if we are in article, there is not searchresults\n // this.refreshItem({id: this.item.id})\n // instead create the note id directly\n this.item.note = {id: id}\n }\n },\n {\n name: `modal-${this.item.id}`,\n draggable: false,\n classes: \"vm--modale-card\",\n // this does not work\n // adaptative: true,\n // maxWidth: 850,\n // maxHeight: 610,\n width: '95%',\n height: '95%'\n }\n )\n } else {\n this.$modal.show(\n MemberWarning,\n {},\n {\n // name: `modal-${this.item.id}`,\n draggable: false,\n // classes: \"vm--modale-card\",\n // this does not work\n // adaptative: true,\n // maxWidth: 850,\n // maxHeight: 610,\n width: '400px',\n height: '250px'\n }\n )\n }\n }\n }\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkedMaterialCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LinkedMaterialCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LinkedMaterialCard.vue?vue&type=template&id=b6ad73c2&scoped=true\"\nimport script from \"./LinkedMaterialCard.vue?vue&type=script&lang=js\"\nexport * from \"./LinkedMaterialCard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b6ad73c2\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"loading\" v-if=\"!material || loading\">\n <span>Loading ...</span>\n </div>\n <article\n v-else\n class=\"card modal-card\"\n v-touch=\"onTapCard\"\n v-touch:swipe=\"onSwipeCard\"\n >\n <section class=\"col col-right\">\n <header>\n <h1>{{ material.title }}</h1>\n <h4>{{ material.short_description }}</h4>\n <span class=\"ref\">{{ material.reference }}</span>\n </header>\n <nav ref=\"tools\" class=\"tools\">\n <section class=\"tool close\">\n <span\n class=\"btn mdi mdi-close\"\n @click.prevent=\"onCloseModalCard\"\n />\n </section>\n <section class=\"tool flags\">\n <span\n class=\"btn mdi mdi-folder-outline\"\n v-touch.prevent.stop=\"onTapTool\"\n />\n <div class=\"tool-content\">\n <span class=\"label\">{{ $t(\"materio.My folders\") }}</span>\n <ul>\n <li v-if=\"flagcolls\" v-for=\"coll in flagcolls\" :key=\"coll.id\">\n <span\n class=\"flag mdi\"\n :class=\"[\n flagIsLoading(coll.id) ? 'mdi-loading mdi-spin' : flagIsActive(coll.id) ? 'mdi-close-circle isActive' : 'mdi-plus'\n ]\"\n :collid=\"coll.id\"\n @click.prevent=\"onFlagActionCard\"\n >\n {{ coll.name }}\n </span>\n </li>\n <li v-if=\"collsLength<15\" class=\"create-flag\">\n <input\n placeholder=\"new folder\"\n v-model=\"new_folder_name\"\n @keyup.enter.prevent.stop=\"onCreateFlagColl\"\n />\n <span\n class=\"add-btn mdi\"\n :class=\"addFlagBtnClassObj\"\n @click.prevent.stop=\"onCreateFlagColl\"\n />\n </li>\n </ul>\n </div>\n </section>\n <section class=\"tool samples\" v-if=\"material.samples && material.samples.length\">\n <span\n class=\"btn mdi mdi-map-marker-star-outline\"\n v-touch.prevent.stop=\"onTapTool\"\n />\n <div class=\"tool-content\">\n <span class=\"label\">{{ $t(\"materio.Samples\") }}</span>\n <ul>\n <li\n v-for=\"sample in material.samples\"\n :key=\"sample.showroom.id\"\n >\n <span class=\"showroom\">{{ sample.showroom.name }}</span>: {{ sample.location }}\n </li>\n </ul>\n </div>\n </section>\n <section class=\"tool note\">\n <span\n v-if=\"note_id\"\n class=\"btn mdi mdi-note\"\n v-touch.prevent.stop=\"onTapTool\"\n />\n <span\n v-else\n class=\"btn mdi mdi-note-outline\"\n v-touch.prevent.stop=\"onTapTool\"\n />\n <div class=\"tool-content\">\n <textarea spellcheck=\"false\" v-model=\"note\" name=\"note\" @input=\"onNoteInput\"/>\n </div>\n </section>\n <section class=\"tool print\">\n <a :href=\"material.path+'/printable/print'\" target=\"_blank\">\n <span class=\"btn mdi mdi-printer\"/>\n </a>\n </section>\n <!-- <section class=\"tool industriels\" v-if=\"material.manufacturer || material.distributor\">\n <span class=\"btn mdi mdi-factory\"/>\n <div class=\"tool-content\">\n <section v-if=\"material.distributor\">\n <span class=\"label\">{{ $t(\"materio.Distributor\") }}</span>\n <ul>\n <li v-for=\"distrib in material.distributor\" v-bind:key=\"distrib.id\">\n <h2>{{ distrib.name }}</h2>\n <p v-if=\"distrib.website\">\n <a target=\"_blank\" :href=\"distrib.website.url\">distrib.website.url</a>\n </p>\n <p v-if=\"distrib.email\"><a :href=\"'mailto:'+distrib.email\">{{ distrib.email }}</a></p>\n </li>\n </ul>\n </section>\n <section v-if=\"material.manufacturer\">\n <span class=\"label\">{{ $t(\"materio.Manufacturer\") }}</span>\n <ul>\n <li v-for=\"manu in material.manufacturer\" v-bind:key=\"manu.id\">\n <h2>{{ manu.name }}</h2>\n <p v-if=\"manu.website\">\n <a target=\"_blank\" :href=\"manu.website.url\">manu.website.url</a>\n </p>\n <p v-if=\"manu.email\"><a :href=\"'mailto:'+manu.email\">{{ manu.email }}</a></p>\n </li>\n </ul>\n </section>\n </div>\n </section> -->\n </nav>\n <vsa-list>\n <vsa-item :initActive=\"true\">\n <vsa-heading>\n <span class=\"label\">Description</span>\n </vsa-heading>\n <vsa-content>\n <section class=\"body\" v-html=\"material.body\"/>\n <section class=\"attachments\">\n <!-- <h4 class=\"label\">{{ $t(\"materio.Attachments\") }}</h4> -->\n <ul>\n <li\n v-for=\"attachmt in material.attachments\" :key=\"attachmt.file.fid\"\n >\n <a target=\"_blank\" :href=\"attachmt.file.url\">{{ attachmt.file.filename}} <span>({{ prettyFileSize(attachmt.file.filesize) }})</span></a>\n <p v-if=\"attachmt.description\" class=\"description\" v-html=\"attachmt.description\" />\n </li>\n </ul>\n </section>\n <section class=\"industriels\">\n <!-- <h4 class=\"label\">{{ $t(\"default.Contact\") }}</h4> -->\n <section v-if=\"material.manufacturer && material.manufacturer.length\">\n <span class=\"label\">{{ $t(\"materio.Manufacturer\") }}</span>\n <ul>\n <li v-for=\"manu in material.manufacturer\" v-bind:key=\"manu.id\">\n <h2>{{ manu.name }}</h2>\n <p v-if=\"manu.website.url\">\n <a target=\"_blank\" :href=\"manu.website.url\">{{shortUrl(manu.website.url)}}</a>\n </p>\n <p v-if=\"manu.email\"><a :href=\"'mailto:'+manu.email\">{{ manu.email }}</a></p>\n <p v-if=\"manu.phone\"><a :href=\"'tel:'+manu.phone\">{{ manu.phone }}</a></p>\n <p v-if=\"manu.country.country_name\">{{ manu.country.country_name }}</p>\n </li>\n </ul>\n </section>\n <section v-if=\"material.distributor && material.distributor.length\">\n <span class=\"label\">{{ $t(\"materio.Distributor\") }}</span>\n <ul>\n <li v-for=\"distrib in material.distributor\" v-bind:key=\"distrib.id\">\n <h2>{{ distrib.name }}</h2>\n <p v-if=\"distrib.website.url\">\n <a target=\"_blank\" :href=\"distrib.website.url\">{{shortUrl(distrib.website.url)}}</a>\n </p>\n <p v-if=\"distrib.email\"><a :href=\"'mailto:'+distrib.email\">{{ distrib.email }}</a></p>\n <p v-if=\"distrib.phone\"><a :href=\"'tel:'+distrib.phone\">{{ distrib.phone }}</a></p>\n <p v-if=\"distrib.country.country_name\">{{ distrib.country.country_name }}</p>\n </li>\n </ul>\n </section>\n </section>\n </vsa-content>\n </vsa-item>\n\n <!-- <vsa-item v-if=\"item.samples && item.samples.length\">\n <vsa-heading>\n <span class=\"label\">{{ $t(\"materio.Samples\") }}</span>\n </vsa-heading>\n <vsa-content>\n <section class=\"samples\">\n <ul>\n <li\n v-for=\"sample in material.samples\"\n :key=\"sample.showroom.id\"\n >\n <span class=\"showroom\">{{ sample.showroom.name }}</span>: {{ sample.location }}\n </li>\n </ul>\n </section>\n </vsa-content>\n </vsa-item> -->\n\n <vsa-item v-if=\"material.linked_materials.length\">\n <vsa-heading>\n <span class=\"label\">{{ $t(\"materio.Linked materials\") }}</span>\n </vsa-heading>\n <vsa-content>\n <section class=\"linked-materials\">\n <ul>\n <li v-for=\"m in material.linked_materials\" v-bind:key=\"m.id\">\n <LinkedMaterialCard :item=\"m\"/>\n </li>\n </ul>\n </section>\n </vsa-content>\n </vsa-item>\n\n <!-- <vsa-item v-if=\"material.manufacturer || material.distributor\">\n <vsa-heading>\n <span class=\"label\">{{ $t(\"default.Contact\") }}</span>\n </vsa-heading>\n <vsa-content>\n <section class=\"industriels\">\n <section v-if=\"material.manufacturer\">\n <span class=\"label\">{{ $t(\"materio.Manufacturer\") }}</span>\n <ul>\n <li v-for=\"manu in material.manufacturer\" v-bind:key=\"manu.id\">\n <h2>{{ manu.name }}</h2>\n <p v-if=\"manu.website\">\n <a target=\"_blank\" :href=\"manu.website.url\">{{shortUrl(manu.website.url)}}</a>\n </p>\n <p v-if=\"manu.email\"><a :href=\"'mailto:'+manu.email\">{{ manu.email }}</a></p>\n </li>\n </ul>\n </section>\n <section v-if=\"material.distributor\">\n <span class=\"label\">{{ $t(\"materio.Distributor\") }}</span>\n <ul>\n <li v-for=\"distrib in material.distributor\" v-bind:key=\"distrib.id\">\n <h2>{{ distrib.name }}</h2>\n <p v-if=\"distrib.website\">\n <a target=\"_blank\" :href=\"distrib.website.url\">{{shortUrl(distrib.website.url)}}</a>\n </p>\n <p v-if=\"distrib.email\"><a :href=\"'mailto:'+distrib.email\">{{ distrib.email }}</a></p>\n </li>\n </ul>\n </section>\n </section>\n </vsa-content>\n </vsa-item> -->\n\n <!-- <vsa-item v-if=\"material.attachments && material.attachments.length\">\n <vsa-heading>\n <span class=\"label\">{{ $t(\"materio.Attachments\") }}</span>\n </vsa-heading>\n <vsa-content>\n <section class=\"attachments\">\n <ul>\n <li\n v-for=\"attachmt in material.attachments\" :key=\"attachmt.file.fid\"\n >\n <a target=\"_blank\" :href=\"attachmt.file.url\">{{ attachmt.file.filename}} <span>({{ prettyFileSize(attachmt.file.filesize) }})</span></a>\n <p v-if=\"attachmt.description\" class=\"description\" v-html=\"attachmt.description\" />\n </li>\n </ul>\n </section>\n </vsa-content>\n </vsa-item> -->\n </vsa-list>\n </section>\n <section class=\"col col-left images\" v-switcher>\n <figure\n v-for=\"(img, index) in material.images\"\n :key=\"img.url\"\n class=\"lazy\"\n v-lazy=\"index\"\n >\n <img\n :data-src=\"img.style_cardfull.url\"\n :title=\"img.title\"\n />\n <img\n class=\"blank\"\n :src=\"blanksrc\"\n @click=\"setLightBox(index)\"\n >\n </figure>\n </section>\n <!-- <CoolLightBox\n :items=\"material.images\"\n :index=\"lightbox_index\"\n srcName=\"url\"\n :loop=\"true\"\n :fullScreen=\"true\"\n @close=\"lightbox_index = null\">\n </CoolLightBox> -->\n </article>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\n// import CoolLightBox from 'vue-cool-lightbox'\n// import 'vue-cool-lightbox/dist/vue-cool-lightbox.min.css'\n\nimport {\n VsaList,\n VsaItem,\n VsaHeading,\n VsaContent,\n VsaIcon\n} from 'vue-simple-accordion'\nimport 'vue-simple-accordion/dist/vue-simple-accordion.css'\n\nimport LinkedMaterialCard from 'vuejs/components/Content/LinkedMaterialCard'\n\nimport cardMixins from 'vuejs/components/cardMixins'\n\nimport REST from 'vuejs/api/rest-axios'\nimport MGQ from 'vuejs/api/graphql-axios'\nimport { print } from 'graphql/language/printer'\nimport gql from 'graphql-tag'\nimport materiauModalFields from 'vuejs/api/gql/materiaumodal.fragment.gql'\n\nconst prettyBytes = require('pretty-bytes')\n\nconst _debounce = require('lodash/debounce')\n\nexport default {\n name: \"ModalCard\",\n props: ['item', 'addNoteId'],\n mixins: [cardMixins],\n components: {\n LinkedMaterialCard,\n // CoolLightBox,\n VsaList,\n VsaItem,\n VsaHeading,\n VsaContent,\n VsaIcon\n // VsaList: () => import(\n // /* webpackPrefetch: true */\n // /* webpackChunkName: \"vsa\" */\n // /* webpackExports: [\"VsaList\"] */\n // '/app/node_modules/vue-simple-accordion/'),\n // VsaItem: () => import(\n // /* webpackPrefetch: true */\n // /* webpackChunkName: \"vsa\" */\n // /* webpackExports: [\"VsaItem\"] */\n // '/app/node_modules/vue-simple-accordion/'),\n // VsaHeading: () => import(\n // /* webpackPrefetch: true */\n // /* webpackChunkName: \"vsa\" */\n // /* webpackExports: [\"VsaHeading\"] */\n // '/app/node_modules/vue-simple-accordion/'),\n // VsaContent: () => import(\n // /* webpackPrefetch: true */\n // /* webpackChunkName: \"vsa\" */\n // /* webpackExports: [\"VsaContent\"] */\n // '/app/node_modules/vue-simple-accordion/'),\n // VsaIcon: () => import(\n // /* webpackPrefetch: true */\n // /* webpackChunkName: \"vsa\" */\n // /* webpackExports: [\"VsaIcon\"] */\n // '/app/node_modules/vue-simple-accordion/')\n },\n data() {\n return {\n material: null,\n loading: false,\n blanksrc:`${drupalSettings.path.themePath}/assets/img/blank.gif`,\n new_folder_name: \"\",\n is_creating_folder: false,\n loadingFlag: false,\n lightbox_index: null,\n note: \"\",\n note_id: null\n }\n },\n computed: {\n ...mapState({\n csrf_token: state => state.User.csrf_token,\n flagcolls: state => state.User.flagcolls,\n showrooms: state => state.Showrooms.showrooms_by_tid,\n coolLightBoxItems: state => state.Common.coolLightBoxItems,\n coolLightBoxIndex: state => state.Common.coolLightBoxIndex\n }),\n collsLength() {\n return Object.keys(this.flagcolls).length\n },\n addFlagBtnClassObj() {\n return {\n 'mdi-plus-circle-outline': !this.is_creating_folder,\n 'mdi-loading': this.is_creating_folder,\n active: this.new_folder_name.length > 4 && !this.is_creating_folder,\n loading: this.is_creating_folder\n }\n }\n },\n created () {\n console.log('modale item', this.item)\n this.loadMaterial()\n this.note_id = this.item.note_id\n this.debouncedSaveNote = _debounce(this.saveNote, 500)\n },\n // watch: {\n // // whenever question changes, this function will run\n // // TODO: on mobile, this is called only on white caractere key\n // note: function (n, o) {\n // console.log(\"note watcher: note\", n)\n // this.debouncedSaveNote()\n // }\n // },\n methods: {\n ...mapActions({\n // refreshItem: 'Search/refreshItem',\n createFlagColl: 'User/createFlagColl',\n flagUnflag: 'User/flagUnflag',\n setcoolLightBoxItems: 'Common/setcoolLightBoxItems',\n setcoolLightBoxIndex: 'Common/setcoolLightBoxIndex'\n }),\n loadMaterial(){\n console.log('loadMaterial', this.item.id)\n this.loading = true\n const ast = gql`{\n materiau(id: ${this.item.id}, lang: \"${drupalDecoupled.lang_code}\") {\n ...MateriauModalFields\n }\n }\n ${materiauModalFields}\n `\n MGQ.post('', { query: print(ast)\n })\n .then(({ data:{data:{materiau}}}) => {\n console.log('loadMaterial material loaded', materiau)\n this.material = materiau\n this.loading = false\n if (materiau.note && materiau.note.id) {\n this.note_id = materiau.note.id\n this.note = materiau.note.contenu\n }\n // delay the lazyload to let the card the time to update dom\n // maybe not the best method\n // setTimeout(function () {\n // this.activateLazyLoad()\n // }.bind(this), 5)\n this.setcoolLightBoxItems(this.material.images)\n })\n .catch(error => {\n console.warn('Issue with loadMaterial', error)\n Promise.reject(error)\n })\n },\n onCreateFlagColl () {\n console.log(\"Card onCreateFlagColl\", this.new_folder_name)\n this.is_creating_folder = true;\n this.createFlagColl(this.new_folder_name)\n .then(data => {\n console.log(\"Card onCreateFlagColl then\", data)\n this.new_folder_name = \"\";\n this.is_creating_folder = false;\n let collid = data.id\n this.loadingFlag = collid;\n this.flagUnflag({ action: 'flag', id: this.item.id, collid: collid})\n .then(data => {\n console.log(\"onFlagActionCard then\", data)\n this.loadingFlag = false;\n })\n })\n },\n flagIsActive(collid) {\n // console.log(this.item.uuid)\n // console.log(this.flagcolls[collid].items_uuids)\n // return this.flagcolls[collid].items_uuids.indexOf(this.item.uuid) !== -1;\n return this.flagcolls[collid].items.indexOf(this.item.id) !== -1;\n },\n flagIsLoading(collid) {\n // console.log(this.item.uuid)\n // console.log(this.flagcolls[collid].items_uuids)\n return collid === this.loadingFlag;\n },\n onFlagActionCard (e) {\n console.log(\"Card onFlagActionCard\", e)\n if (!this.loadingFlag) {\n let collid = e.target.getAttribute('collid');\n let isActive = this.flagIsActive(collid);\n let action = isActive ? 'unflag' : 'flag';\n // console.log('collid', collid)\n // console.log(\"this.item\", this.item)\n this.loadingFlag = collid;\n this.flagUnflag({ action: action, id: this.item.id, collid: collid})\n .then(data => {\n console.log(\"onFlagActionCard then\", data)\n this.loadingFlag = false;\n })\n }\n },\n onCloseModalCard (e) {\n // this.$modal.hideAll()\n this.$modal.hide(`modal-${this.item.id}`)\n },\n onSwipeCard (e) {\n console.log('onSwipeCard', e)\n switch(e){\n case 'top':\n break\n case 'bottom':\n break\n case 'left':\n case 'right':\n this.$modal.hide(`modal-${this.item.id}`)\n break\n }\n },\n prettyFileSize(bytes){\n return prettyBytes(parseInt(bytes))\n },\n shortUrl(url){\n return url.replace(/^http:\\/\\//, '').replace(/^www\\./, '')\n },\n onNoteInput(e){\n console.log('onNoteInput', e, this.note)\n this.note = e.target.value\n this.debouncedSaveNote()\n },\n saveNote(){\n console.log(\"saveNote\", this.note_id, this.note)\n if (this.note_id) {\n this.updateNote()\n } else {\n this.createNote()\n }\n },\n updateNote(){\n let params = {\n type: [{target_id:'note'}],\n field_contenu: this.note\n }\n let config = {\n headers:{\n \"X-CSRF-Token\": this.csrf_token\n }\n }\n REST.patch(`/node/${this.note_id}?_format=json`, params, config)\n .then(({ data }) => {\n console.log('updateNote REST data', data)\n })\n .catch(error => {\n console.warn('Issue with updateNote', error)\n })\n },\n createNote(){\n let params = {\n type: [{target_id:'note'}],\n title: [{value:`note`}],\n field_contenu: this.note,\n field_target: this.item.id\n }\n let config = {\n headers:{\n \"X-CSRF-Token\": this.csrf_token\n }\n }\n REST.post('/node?_format=json', params, config)\n .then(({ data }) => {\n console.log('createNote REST data', data)\n this.note_id = data.nid[0].value\n // call search results refresh of the item to display that note is now existing for this item\n // this.refreshItem({id: this.item.id})\n // no needs to refresh the entire item via searchresults\n // plus if we are in article, there is not searchresults\n // instead call the callbackfunction from the parent to add directly the note id\n this.addNoteId(this.note_id)\n })\n .catch(error => {\n console.warn('Issue with createNote', error)\n })\n },\n onTapTool (e) {\n console.log('ontapTool', e)\n let tools = e.target.parentNode.parentNode.querySelectorAll('section.tool')\n tools.forEach((item, i) => {\n item.classList.remove('tapped')\n })\n e.target.parentNode.classList.add('tapped')\n },\n onTapCard (e) {\n console.log('ontapCard', e.target.tagName)\n // in case we tap on note's textarea\n if(e.target.tagName == \"TEXTAREA\"){\n return;\n }\n let tools = this.$refs['tools'].querySelectorAll('section.tool')\n // console.log()\n tools.forEach((item, i) => {\n console.log('item', item)\n item.classList.remove('tapped')\n })\n },\n setLightBox(index){\n this.setcoolLightBoxItems(this.material.images)\n this.setcoolLightBoxIndex(index)\n }\n }\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalCard.vue?vue&type=template&id=c426cd78&scoped=true\"\nimport script from \"./ModalCard.vue?vue&type=script&lang=js\"\nexport * from \"./ModalCard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c426cd78\",\n null\n \n)\n\nexport default component.exports","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\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}\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)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n 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]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) 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: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], 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 { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\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), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\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++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\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 || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { 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) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : 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], 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 () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return formatError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n */\n\nexport function formatError(error) {\n var _error$message;\n\n error || devAssert(0, 'Received null or undefined error.');\n var message = (_error$message = error.message) !== null && _error$message !== void 0 ? _error$message : 'An unknown error occurred.';\n var locations = error.locations;\n var path = error.path;\n var extensions = error.extensions;\n return extensions && Object.keys(extensions).length > 0 ? {\n message: message,\n locations: locations,\n path: path,\n extensions: extensions\n } : {\n message: message,\n locations: locations,\n path: path\n };\n}\n/**\n * @see https://github.com/graphql/graphql-spec/blob/master/spec/Section%207%20--%20Response.md#errors\n */\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '<SOF>',\n EOF: '<EOF>',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // <BOM>\n\n case 9: // \\t\n\n case 32: // <space>\n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import { __assign } from \"tslib\";\nimport { parse } from 'graphql';\nvar docCache = new Map();\nvar fragmentSourceMap = new Map();\nvar printFragmentWarnings = true;\nvar experimentalFragmentVariables = false;\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\nfunction processFragments(ast) {\n var seenKeys = new Set();\n var definitions = [];\n ast.definitions.forEach(function (fragmentDefinition) {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n var sourceKeySet = fragmentSourceMap.get(fragmentName);\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n }\n else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set);\n }\n sourceKeySet.add(sourceKey);\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n }\n else {\n definitions.push(fragmentDefinition);\n }\n });\n return __assign(__assign({}, ast), { definitions: definitions });\n}\nfunction stripLoc(doc) {\n var workSet = new Set(doc.definitions);\n workSet.forEach(function (node) {\n if (node.loc)\n delete node.loc;\n Object.keys(node).forEach(function (key) {\n var value = node[key];\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n var loc = doc.loc;\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n return doc;\n}\nfunction parseDocument(source) {\n var cacheKey = normalize(source);\n if (!docCache.has(cacheKey)) {\n var parsed = parse(source, {\n experimentalFragmentVariables: experimentalFragmentVariables,\n allowLegacyFragmentVariables: experimentalFragmentVariables\n });\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n docCache.set(cacheKey, stripLoc(processFragments(parsed)));\n }\n return docCache.get(cacheKey);\n}\nexport function gql(literals) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof literals === 'string') {\n literals = [literals];\n }\n var result = literals[0];\n args.forEach(function (arg, i) {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n }\n else {\n result += arg;\n }\n result += literals[i + 1];\n });\n return parseDocument(result);\n}\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\nvar extras = {\n gql: gql,\n resetCaches: resetCaches,\n disableFragmentWarnings: disableFragmentWarnings,\n enableExperimentalFragmentVariables: enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables: disableExperimentalFragmentVariables\n};\n(function (gql_1) {\n gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;\n})(gql || (gql = {}));\ngql[\"default\"] = gql;\nexport default gql;\n//# sourceMappingURL=index.js.map","/*!\n * vue-infinite-loading v2.4.5\n * (c) 2016-2020 PeachScript\n * MIT License\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueInfiniteLoading=e():t.VueInfiniteLoading=e()}(this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=9)}([function(t,e,n){var i=n(6);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"6223ff68\",i,!0,{})},function(t,e,n){var i=n(8);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"27f0e51f\",i,!0,{})},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var a=(o=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),r=i.sources.map((function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"}));return[n].concat(r).concat([a]).join(\"\\n\")}var o;return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+n+\"}\":n})).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var i={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(i[r]=!0)}for(a=0;a<t.length;a++){var o=t[a];\"number\"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]=\"(\"+o[2]+\") and (\"+n+\")\"),e.push(o))}},e}},function(t,e,n){\"use strict\";function i(t,e){for(var n=[],i={},a=0;a<e.length;a++){var r=e[a],o=r[0],s={id:t+\":\"+a,css:r[1],media:r[2],sourceMap:r[3]};i[o]?i[o].parts.push(s):n.push(i[o]={id:o,parts:[s]})}return n}n.r(e),n.d(e,\"default\",(function(){return f}));var a=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!a)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var r={},o=a&&(document.head||document.getElementsByTagName(\"head\")[0]),s=null,l=0,d=!1,c=function(){},u=null,p=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function f(t,e,n,a){d=n,u=a||{};var o=i(t,e);return b(o),function(e){for(var n=[],a=0;a<o.length;a++){var s=o[a];(l=r[s.id]).refs--,n.push(l)}e?b(o=i(t,e)):o=[];for(a=0;a<n.length;a++){var l;if(0===(l=n[a]).refs){for(var d=0;d<l.parts.length;d++)l.parts[d]();delete r[l.id]}}}}function b(t){for(var e=0;e<t.length;e++){var n=t[e],i=r[n.id];if(i){i.refs++;for(var a=0;a<i.parts.length;a++)i.parts[a](n.parts[a]);for(;a<n.parts.length;a++)i.parts.push(m(n.parts[a]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{var o=[];for(a=0;a<n.parts.length;a++)o.push(m(n.parts[a]));r[n.id]={id:n.id,refs:1,parts:o}}}}function h(){var t=document.createElement(\"style\");return t.type=\"text/css\",o.appendChild(t),t}function m(t){var e,n,i=document.querySelector('style[data-vue-ssr-id~=\"'+t.id+'\"]');if(i){if(d)return c;i.parentNode.removeChild(i)}if(p){var a=l++;i=s||(s=h()),e=w.bind(null,i,a,!1),n=w.bind(null,i,a,!0)}else i=h(),e=y.bind(null,i),n=function(){i.parentNode.removeChild(i)};return e(t),function(i){if(i){if(i.css===t.css&&i.media===t.media&&i.sourceMap===t.sourceMap)return;e(t=i)}else n()}}var g,v=(g=[],function(t,e){return g[t]=e,g.filter(Boolean).join(\"\\n\")});function w(t,e,n,i){var a=n?\"\":i.css;if(t.styleSheet)t.styleSheet.cssText=v(e,a);else{var r=document.createTextNode(a),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(r,o[e]):t.appendChild(r)}}function y(t,e){var n=e.css,i=e.media,a=e.sourceMap;if(i&&t.setAttribute(\"media\",i),u.ssrId&&t.setAttribute(\"data-vue-ssr-id\",e.id),a&&(n+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}},function(t,e){function n(e){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(e)}t.exports=n},function(t,e,n){\"use strict\";n.r(e);var i=n(0),a=n.n(i);for(var r in i)\"default\"!==r&&function(t){n.d(e,t,(function(){return i[t]}))}(r);e.default=a.a},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,'.loading-wave-dots[data-v-46b20d22]{position:relative}.loading-wave-dots[data-v-46b20d22] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite;animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite}.loading-wave-dots[data-v-46b20d22] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-46b20d22] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-46b20d22] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-46b20d22 linear .75s infinite;animation:loading-circles-data-v-46b20d22 linear .75s infinite}.loading-circles[data-v-46b20d22] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-46b20d22] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-46b20d22] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-46b20d22 linear .75s infinite;animation:loading-bubbles-data-v-46b20d22 linear .75s infinite}.loading-bubbles[data-v-46b20d22] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-46b20d22]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite;animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite}.loading-default[data-v-46b20d22]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-46b20d22]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-46b20d22 linear .85s infinite;animation:loading-rotating-data-v-46b20d22 linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-46b20d22],.loading-circles[data-v-46b20d22]{position:relative}.loading-bubbles[data-v-46b20d22] .bubble-item,.loading-circles[data-v-46b20d22] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2),.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3),.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4),.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5),.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6),.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7),.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child,.loading-circles[data-v-46b20d22] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(t,e,n){\"use strict\";n.r(e);var i=n(1),a=n.n(i);for(var r in i)\"default\"!==r&&function(t){n.d(e,t,(function(){return i[t]}))}(r);e.default=a.a},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,\".infinite-loading-container[data-v-644ea9c9]{clear:both;text-align:center}.infinite-loading-container[data-v-644ea9c9] [class^=loading-]{display:inline-block;margin:5px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.btn-try-infinite[data-v-644ea9c9]{margin-top:5px;padding:5px 10px;color:#999;font-size:14px;line-height:1;background:transparent;border:1px solid #ccc;border-radius:3px;outline:none;cursor:pointer}.btn-try-infinite[data-v-644ea9c9]:not(:active):hover{opacity:.8}\",\"\"])},function(t,e,n){\"use strict\";n.r(e);var i={throttleLimit:50,loopCheckTimeout:1e3,loopCheckMaxCalls:10},a=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){return t={passive:!0},!0}});window.addEventListener(\"testpassive\",e,e),window.remove(\"testpassive\",e,e)}catch(t){}return t}(),r={STATE_CHANGER:[\"emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\",IDENTIFIER:\"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property.\"},o={INFINITE_LOOP:[\"executed the callback function more than \".concat(i.loopCheckMaxCalls,\" times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\"),'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper --\\x3e\\n <infinite-loading force-use-infinite-wrapper></infinite-loading>\\n</div>\\nor\\n<div class=\"infinite-wrapper\">\\n ...\\n \\x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\".infinite-wrapper\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")},s={READY:0,LOADING:1,COMPLETE:2,ERROR:3},l={color:\"#666\",fontSize:\"14px\",padding:\"10px 0\"},d={mode:\"development\",props:{spinner:\"default\",distance:100,forceUseInfiniteWrapper:!1},system:i,slots:{noResults:\"No results :(\",noMore:\"No more data :)\",error:\"Opps, something went wrong :(\",errorBtnText:\"Retry\",spinner:\"\"},WARNINGS:r,ERRORS:o,STATUS:s},c=n(4),u=n.n(c),p={BUBBLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map((function(){return t(\"span\",{attrs:{class:\"bubble-item\"}})})))}},CIRCLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map((function(){return t(\"span\",{attrs:{class:\"circle-item\"}})})))}},DEFAULT:{render:function(t){return t(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(t){return t(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(t){return t(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map((function(){return t(\"span\",{attrs:{class:\"wave-item\"}})})))}}};function f(t,e,n,i,a,r,o,s){var l,d=\"function\"==typeof t?t.options:t;if(e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId=\"data-v-\"+r),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},d._ssrRegister=l):a&&(l=s?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(d.functional){d._injectStyles=l;var c=d.render;d.render=function(t,e){return l.call(e),c(t,e)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:d}}var b=f({name:\"Spinner\",computed:{spinnerView:function(){return p[(this.$attrs.spinner||\"\").toUpperCase()]||this.spinnerInConfig},spinnerInConfig:function(){return d.slots.spinner&&\"string\"==typeof d.slots.spinner?{render:function(){return this._v(d.slots.spinner)}}:\"object\"===u()(d.slots.spinner)?d.slots.spinner:p[d.props.spinner.toUpperCase()]||p.DEFAULT}}},(function(){var t=this.$createElement;return(this._self._c||t)(this.spinnerView,{tag:\"component\"})}),[],!1,(function(t){var e=n(5);e.__inject__&&e.__inject__(t)}),\"46b20d22\",null).exports;function h(t){\"production\"!==d.mode&&console.warn(\"[Vue-infinite-loading warn]: \".concat(t))}function m(t){console.error(\"[Vue-infinite-loading error]: \".concat(t))}var g={timers:[],caches:[],throttle:function(t){var e=this;-1===this.caches.indexOf(t)&&(this.caches.push(t),this.timers.push(setTimeout((function(){t(),e.caches.splice(e.caches.indexOf(t),1),e.timers.shift()}),d.system.throttleLimit)))},reset:function(){this.timers.forEach((function(t){clearTimeout(t)})),this.timers.length=0,this.caches=[]}},v={isChecked:!1,timer:null,times:0,track:function(){var t=this;this.times+=1,clearTimeout(this.timer),this.timer=setTimeout((function(){t.isChecked=!0}),d.system.loopCheckTimeout),this.times>d.system.loopCheckMaxCalls&&(m(o.INFINITE_LOOP),this.isChecked=!0)}},w={key:\"_infiniteScrollHeight\",getScrollElm:function(t){return t===window?document.documentElement:t},save:function(t){var e=this.getScrollElm(t);e[this.key]=e.scrollHeight},restore:function(t){var e=this.getScrollElm(t);\"number\"==typeof e[this.key]&&(e.scrollTop=e.scrollHeight-e[this.key]+e.scrollTop),this.remove(e)},remove:function(t){void 0!==t[this.key]&&delete t[this.key]}};function y(t){return t.replace(/[A-Z]/g,(function(t){return\"-\".concat(t.toLowerCase())}))}function x(t){return t.offsetWidth+t.offsetHeight>0}var k=f({name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isFirstLoad:!0,status:s.READY,slots:d.slots}},components:{Spinner:b},computed:{isShowSpinner:function(){return this.status===s.LOADING},isShowError:function(){return this.status===s.ERROR},isShowNoResults:function(){return this.status===s.COMPLETE&&this.isFirstLoad},isShowNoMore:function(){return this.status===s.COMPLETE&&!this.isFirstLoad},slotStyles:function(){var t=this,e={};return Object.keys(d.slots).forEach((function(n){var i=y(n);(!t.$slots[i]&&!d.slots[n].render||t.$slots[i]&&!t.$slots[i][0].tag)&&(e[n]=l)})),e}},props:{distance:{type:Number,default:d.props.distance},spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:{type:[Boolean,String],default:d.props.forceUseInfiniteWrapper},identifier:{default:+new Date},onInfinite:Function},watch:{identifier:function(){this.stateChanger.reset()}},mounted:function(){var t=this;this.$watch(\"forceUseInfiniteWrapper\",(function(){t.scrollParent=t.getScrollParent()}),{immediate:!0}),this.scrollHandler=function(e){t.status===s.READY&&(e&&e.constructor===Event&&x(t.$el)?g.throttle(t.attemptLoad):t.attemptLoad())},setTimeout((function(){t.scrollHandler(),t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,a)}),1),this.$on(\"$InfiniteLoading:loaded\",(function(e){t.isFirstLoad=!1,\"top\"===t.direction&&t.$nextTick((function(){w.restore(t.scrollParent)})),t.status===s.LOADING&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||h(r.STATE_CHANGER)})),this.$on(\"$InfiniteLoading:complete\",(function(e){t.status=s.COMPLETE,t.$nextTick((function(){t.$forceUpdate()})),t.scrollParent.removeEventListener(\"scroll\",t.scrollHandler,a),e&&e.target===t||h(r.STATE_CHANGER)})),this.$on(\"$InfiniteLoading:reset\",(function(e){t.status=s.READY,t.isFirstLoad=!0,w.remove(t.scrollParent),t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,a),setTimeout((function(){g.reset(),t.scrollHandler()}),1),e&&e.target===t||h(r.IDENTIFIER)})),this.stateChanger={loaded:function(){t.$emit(\"$InfiniteLoading:loaded\",{target:t})},complete:function(){t.$emit(\"$InfiniteLoading:complete\",{target:t})},reset:function(){t.$emit(\"$InfiniteLoading:reset\",{target:t})},error:function(){t.status=s.ERROR,g.reset()}},this.onInfinite&&h(r.INFINITE_EVENT)},deactivated:function(){this.status===s.LOADING&&(this.status=s.READY),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,a)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,a)},methods:{attemptLoad:function(t){var e=this;this.status!==s.COMPLETE&&x(this.$el)&&this.getCurrentDistance()<=this.distance?(this.status=s.LOADING,\"top\"===this.direction&&this.$nextTick((function(){w.save(e.scrollParent)})),\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!t||this.forceUseInfiniteWrapper||v.isChecked||v.track()):this.status===s.LOADING&&(this.status=s.READY)},getCurrentDistance:function(){var t;\"top\"===this.direction?t=\"number\"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:t=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom);return t},getScrollParent:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return\"string\"==typeof this.forceUseInfiniteWrapper&&(t=document.querySelector(this.forceUseInfiniteWrapper)),t||(\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e)),t||this.getScrollParent(e.parentNode)}},destroyed:function(){!this.status!==s.COMPLETE&&(g.reset(),w.remove(this.scrollParent),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,a))}},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"infinite-loading-container\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowSpinner,expression:\"isShowSpinner\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.spinner},[t._t(\"spinner\",[n(\"spinner\",{attrs:{spinner:t.spinner}})])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoResults,expression:\"isShowNoResults\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noResults},[t._t(\"no-results\",[t.slots.noResults.render?n(t.slots.noResults,{tag:\"component\"}):[t._v(t._s(t.slots.noResults))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoMore,expression:\"isShowNoMore\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noMore},[t._t(\"no-more\",[t.slots.noMore.render?n(t.slots.noMore,{tag:\"component\"}):[t._v(t._s(t.slots.noMore))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowError,expression:\"isShowError\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.error},[t._t(\"error\",[t.slots.error.render?n(t.slots.error,{tag:\"component\",attrs:{trigger:t.attemptLoad}}):[t._v(\"\\n \"+t._s(t.slots.error)+\"\\n \"),n(\"br\"),t._v(\" \"),n(\"button\",{staticClass:\"btn-try-infinite\",domProps:{textContent:t._s(t.slots.errorBtnText)},on:{click:t.attemptLoad}})]],{trigger:t.attemptLoad})],2)])}),[],!1,(function(t){var e=n(7);e.__inject__&&e.__inject__(t)}),\"644ea9c9\",null).exports;function E(t){d.mode=t.config.productionTip?\"development\":\"production\"}Object.defineProperty(k,\"install\",{configurable:!1,enumerable:!1,value:function(t,e){Object.assign(d.props,e&&e.props),Object.assign(d.slots,e&&e.slots),Object.assign(d.system,e&&e.system),t.component(\"infinite-loading\",k),E(t)}}),\"undefined\"!=typeof window&&window.Vue&&(window.Vue.component(\"infinite-loading\",k),E(window.Vue));e.default=k}])}));","module.exports = require('./lib/axios');","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports[\"vue-js-modal\"]=e():t[\"vue-js-modal\"]=e()}(window,function(){return i={},o.m=n=[function(t,e,n){var i=n(7);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(4).default)(\"d763679c\",i,!1,{})},function(t,e,n){var i=n(10);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(4).default)(\"6b9cc0e0\",i,!1,{})},function(t,e,n){var i=n(12);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(4).default)(\"663c004e\",i,!1,{})},function(t,e){t.exports=function(n){var s=[];return s.toString=function(){return this.map(function(t){var e=function(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var o=function(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}(i),r=i.sources.map(function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"});return[n].concat(r).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}(t,n);return t[2]?\"@media \"+t[2]+\"{\"+e+\"}\":e}).join(\"\")},s.i=function(t,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},i=0;i<this.length;i++){var o=this[i][0];\"number\"==typeof o&&(n[o]=!0)}for(i=0;i<t.length;i++){var r=t[i];\"number\"==typeof r[0]&&n[r[0]]||(e&&!r[2]?r[2]=e:e&&(r[2]=\"(\"+r[2]+\") and (\"+e+\")\"),s.push(r))}},s}},function(t,e,n){\"use strict\";function l(t,e){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],s=r[0],a={id:t+\":\"+o,css:r[1],media:r[2],sourceMap:r[3]};i[s]?i[s].parts.push(a):n.push(i[s]={id:s,parts:[a]})}return n}n.r(e),n.d(e,\"default\",function(){return v});var i=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!i)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var u={},o=i&&(document.head||document.getElementsByTagName(\"head\")[0]),r=null,s=0,c=!1,a=function(){},d=null,h=\"data-vue-ssr-id\",f=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function v(s,t,e,n){c=e,d=n||{};var a=l(s,t);return p(a),function(t){for(var e=[],n=0;n<a.length;n++){var i=a[n];(o=u[i.id]).refs--,e.push(o)}t?p(a=l(s,t)):a=[];for(n=0;n<e.length;n++){var o;if(0===(o=e[n]).refs){for(var r=0;r<o.parts.length;r++)o.parts[r]();delete u[o.id]}}}}function p(t){for(var e=0;e<t.length;e++){var n=t[e],i=u[n.id];if(i){i.refs++;for(var o=0;o<i.parts.length;o++)i.parts[o](n.parts[o]);for(;o<n.parts.length;o++)i.parts.push(b(n.parts[o]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{var r=[];for(o=0;o<n.parts.length;o++)r.push(b(n.parts[o]));u[n.id]={id:n.id,refs:1,parts:r}}}}function m(){var t=document.createElement(\"style\");return t.type=\"text/css\",o.appendChild(t),t}function b(e){var n,i,t=document.querySelector(\"style[\"+h+'~=\"'+e.id+'\"]');if(t){if(c)return a;t.parentNode.removeChild(t)}if(f){var o=s++;t=r=r||m(),n=w.bind(null,t,o,!1),i=w.bind(null,t,o,!0)}else t=m(),n=function(t,e){var n=e.css,i=e.media,o=e.sourceMap;i&&t.setAttribute(\"media\",i);d.ssrId&&t.setAttribute(h,e.id);o&&(n+=\"\\n/*# sourceURL=\"+o.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,t),i=function(){t.parentNode.removeChild(t)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}var g,y=(g=[],function(t,e){return g[t]=e,g.filter(Boolean).join(\"\\n\")});function w(t,e,n,i){var o=n?\"\":i.css;if(t.styleSheet)t.styleSheet.cssText=y(e,o);else{var r=document.createTextNode(o),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(r,s[e]):t.appendChild(r)}}},function(t,z,e){\"use strict\";(function(t){var i=function(){if(\"undefined\"!=typeof Map)return Map;function i(t,n){var i=-1;return t.some(function(t,e){return t[0]===n&&(i=e,!0)}),i}return Object.defineProperty(t.prototype,\"size\",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var e=i(this.__entries__,t),n=this.__entries__[e];return n&&n[1]},t.prototype.set=function(t,e){var n=i(this.__entries__,t);~n?this.__entries__[n][1]=e:this.__entries__.push([t,e])},t.prototype.delete=function(t){var e=this.__entries__,n=i(e,t);~n&&e.splice(n,1)},t.prototype.has=function(t){return!!~i(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,i=this.__entries__;n<i.length;n++){var o=i[n];t.call(e,o[1],o[0])}},t;function t(){this.__entries__=[]}}(),n=\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&window.document===document,e=void 0!==t&&t.Math===Math?t:\"undefined\"!=typeof self&&self.Math===Math?self:\"undefined\"!=typeof window&&window.Math===Math?window:Function(\"return this\")(),l=\"function\"==typeof requestAnimationFrame?requestAnimationFrame.bind(e):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)},u=2;var o=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\",\"size\",\"weight\"],r=\"undefined\"!=typeof MutationObserver,s=(a.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},a.prototype.removeObserver=function(t){var e=this.observers_,n=e.indexOf(t);~n&&e.splice(n,1),!e.length&&this.connected_&&this.disconnect_()},a.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},a.prototype.updateObservers_=function(){var t=this.observers_.filter(function(t){return t.gatherActive(),t.hasActive()});return t.forEach(function(t){return t.broadcastActive()}),0<t.length},a.prototype.connect_=function(){n&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),r?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},a.prototype.disconnect_=function(){n&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},a.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?\"\":e;o.some(function(t){return!!~n.indexOf(t)})&&this.refresh()},a.getInstance=function(){return this.instance_||(this.instance_=new a),this.instance_},a.instance_=null,a);function a(){function t(){r&&(r=!1,i()),s&&n()}function e(){l(t)}function n(){var t=Date.now();if(r){if(t-a<u)return;s=!0}else s=!(r=!0),setTimeout(e,o);a=t}var i,o,r,s,a;this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=(i=this.refresh.bind(this),s=r=!(o=20),a=0,n)}var c=function(t,e){for(var n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];Object.defineProperty(t,o,{value:e[o],enumerable:!1,writable:!1,configurable:!0})}return t},h=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||e},f=g(0,0,0,0);function v(t){return parseFloat(t)||0}function p(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return t.reduce(function(t,e){return t+v(n[\"border-\"+e+\"-width\"])},0)}function d(t){var e=t.clientWidth,n=t.clientHeight;if(!e&&!n)return f;var i,o=h(t).getComputedStyle(t),r=function(t){for(var e={},n=0,i=[\"top\",\"right\",\"bottom\",\"left\"];n<i.length;n++){var o=i[n],r=t[\"padding-\"+o];e[o]=v(r)}return e}(o),s=r.left+r.right,a=r.top+r.bottom,l=v(o.width),u=v(o.height);if(\"border-box\"===o.boxSizing&&(Math.round(l+s)!==e&&(l-=p(o,\"left\",\"right\")+s),Math.round(u+a)!==n&&(u-=p(o,\"top\",\"bottom\")+a)),(i=t)!==h(i).document.documentElement){var c=Math.round(l+s)-e,d=Math.round(u+a)-n;1!==Math.abs(c)&&(l-=c),1!==Math.abs(d)&&(u-=d)}return g(r.left,r.top,l,u)}var m=\"undefined\"!=typeof SVGGraphicsElement?function(t){return t instanceof h(t).SVGGraphicsElement}:function(t){return t instanceof h(t).SVGElement&&\"function\"==typeof t.getBBox};function b(t){return n?m(t)?g(0,0,(e=t.getBBox()).width,e.height):d(t):f;var e}function g(t,e,n,i){return{x:t,y:e,width:n,height:i}}var y=(w.prototype.isActive=function(){var t=b(this.target);return(this.contentRect_=t).width!==this.broadcastWidth||t.height!==this.broadcastHeight},w.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},w);function w(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=g(0,0,0,0),this.target=t}var _=function(t,e){var n,i,o,r,s,a,l,u=(i=(n=e).x,o=n.y,r=n.width,s=n.height,a=\"undefined\"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,l=Object.create(a.prototype),c(l,{x:i,y:o,width:r,height:s,top:o,right:i+r,bottom:s+o,left:i}),l);c(this,{target:t,contentRect:u})},E=(x.prototype.observe=function(t){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(t instanceof h(t).Element))throw new TypeError('parameter 1 is not of type \"Element\".');var e=this.observations_;e.has(t)||(e.set(t,new y(t)),this.controller_.addObserver(this),this.controller_.refresh())}},x.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(t instanceof h(t).Element))throw new TypeError('parameter 1 is not of type \"Element\".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},x.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},x.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},x.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map(function(t){return new _(t.target,t.broadcastRect())});this.callback_.call(t,e,t),this.clearActive()}},x.prototype.clearActive=function(){this.activeObservations_.splice(0)},x.prototype.hasActive=function(){return 0<this.activeObservations_.length},x);function x(t,e,n){if(this.activeObservations_=[],this.observations_=new i,\"function\"!=typeof t)throw new TypeError(\"The callback provided as parameter 1 is not a function.\");this.callback_=t,this.controller_=e,this.callbackCtx_=n}var T=new(\"undefined\"!=typeof WeakMap?WeakMap:i),O=function t(e){if(!(this instanceof t))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var n=s.getInstance(),i=new E(e,n,this);T.set(this,i)};[\"observe\",\"unobserve\",\"disconnect\"].forEach(function(e){O.prototype[e]=function(){var t;return(t=T.get(this))[e].apply(t,arguments)}});var S=void 0!==e.ResizeObserver?e.ResizeObserver:O;z.a=S}).call(this,e(8))},function(t,e,n){\"use strict\";var i=n(0);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,\"\\n.vue-modal-top,\\n.vue-modal-bottom,\\n.vue-modal-left,\\n.vue-modal-right,\\n.vue-modal-topRight,\\n.vue-modal-topLeft,\\n.vue-modal-bottomLeft,\\n.vue-modal-bottomRight {\\n display: block;\\n overflow: hidden;\\n position: absolute;\\n background: transparent;\\n z-index: 9999999;\\n}\\n.vue-modal-topRight,\\n.vue-modal-topLeft,\\n.vue-modal-bottomLeft,\\n.vue-modal-bottomRight {\\n width: 12px;\\n height: 12px;\\n}\\n.vue-modal-top {\\n right: 12;\\n top: 0;\\n width: 100%;\\n height: 12px;\\n cursor: n-resize;\\n}\\n.vue-modal-bottom {\\n left: 0;\\n bottom: 0;\\n width: 100%;\\n height: 12px;\\n cursor: s-resize;\\n}\\n.vue-modal-left {\\n left: 0;\\n top: 0;\\n width: 12px;\\n height: 100%;\\n cursor: w-resize;\\n}\\n.vue-modal-right {\\n right: 0;\\n top: 0;\\n width: 12px;\\n height: 100%;\\n cursor: e-resize;\\n}\\n.vue-modal-topRight {\\n right: 0;\\n top: 0;\\n background: transparent;\\n cursor: ne-resize;\\n}\\n.vue-modal-topLeft {\\n left: 0;\\n top: 0;\\n cursor: nw-resize;\\n}\\n.vue-modal-bottomLeft {\\n left: 0;\\n bottom: 0;\\n cursor: sw-resize;\\n}\\n.vue-modal-bottomRight {\\n right: 0;\\n bottom: 0;\\n cursor: se-resize;\\n}\\n#vue-modal-triangle::after {\\n display: block;\\n position: absolute;\\n content: '';\\n background: transparent;\\n left: 0;\\n top: 0;\\n width: 0;\\n height: 0;\\n border-bottom: 10px solid #ddd;\\n border-left: 10px solid transparent;\\n}\\n#vue-modal-triangle.clicked::after {\\n border-bottom: 10px solid #369be9;\\n}\\n\",\"\"])},function(t,e){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){\"use strict\";var i=n(1);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,\"\\n.vm--block-scroll {\\n overflow: hidden;\\n width: 100vw;\\n}\\n.vm--container {\\n position: fixed;\\n box-sizing: border-box;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100vh;\\n z-index: 999;\\n}\\n.vm--overlay {\\n position: fixed;\\n box-sizing: border-box;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100vh;\\n background: rgba(0, 0, 0, 0.2);\\n /* z-index: 999; */\\n opacity: 1;\\n}\\n.vm--container.scrollable {\\n height: 100%;\\n min-height: 100vh;\\n overflow-y: auto;\\n -webkit-overflow-scrolling: touch;\\n}\\n.vm--modal {\\n position: relative;\\n overflow: hidden;\\n box-sizing: border-box;\\n\\n background-color: white;\\n border-radius: 3px;\\n box-shadow: 0 20px 60px -2px rgba(27, 33, 58, 0.4);\\n}\\n.vm--container.scrollable .vm--modal {\\n margin-bottom: 2px;\\n}\\n.vm--top-right-slot {\\n display: block;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n.vm-transition--overlay-enter-active,\\n.vm-transition--overlay-leave-active {\\n transition: all 50ms;\\n}\\n.vm-transition--overlay-enter,\\n.vm-transition--overlay-leave-active {\\n opacity: 0;\\n}\\n.vm-transition--modal-enter-active,\\n.vm-transition--modal-leave-active {\\n transition: all 400ms;\\n}\\n.vm-transition--modal-enter,\\n.vm-transition--modal-leave-active {\\n opacity: 0;\\n transform: translateY(-20px);\\n}\\n.vm-transition--default-enter-active,\\n.vm-transition--default-leave-active {\\n transition: all 2ms;\\n}\\n.vm-transition--default-enter,\\n.vm-transition--default-leave-active {\\n opacity: 0;\\n}\\n\",\"\"])},function(t,e,n){\"use strict\";var i=n(2);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,\"\\n.vue-dialog {\\n font-size: 14px;\\n}\\n.vue-dialog div {\\n box-sizing: border-box;\\n}\\n.vue-dialog-content {\\n flex: 1 0 auto;\\n width: 100%;\\n padding: 14px;\\n}\\n.vue-dialog-content-title {\\n font-weight: 600;\\n padding-bottom: 14px;\\n}\\n.vue-dialog-buttons {\\n display: flex;\\n flex: 0 1 auto;\\n width: 100%;\\n border-top: 1px solid #eee;\\n}\\n.vue-dialog-buttons-none {\\n width: 100%;\\n padding-bottom: 14px;\\n}\\n.vue-dialog-button {\\n font-size: inherit;\\n background: transparent;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n cursor: pointer;\\n box-sizing: border-box;\\n line-height: 40px;\\n height: 40px;\\n color: inherit;\\n font: inherit;\\n outline: none;\\n}\\n.vue-dialog-button:hover {\\n background: #f9f9f9;\\n}\\n.vue-dialog-button:active {\\n background: #f3f3f3;\\n}\\n.vue-dialog-button:not(:first-of-type) {\\n border-left: 1px solid #eee;\\n}\\n\",\"\"])},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"Modal\",function(){return W}),n.d(e,\"Dialog\",function(){return X}),n.d(e,\"version\",function(){return J});function i(){var e=this,t=e.$createElement,n=e._self._c||t;return e.visible?n(\"div\",{class:e.containerClass},[n(\"transition\",{attrs:{name:e.guaranteedOverlayTransition},on:{\"before-enter\":e.beforeOverlayTransitionEnter,\"after-enter\":e.afterOverlayTransitionEnter,\"before-leave\":e.beforeOverlayTransitionLeave,\"after-leave\":e.afterOverlayTransitionLeave}},[e.visibility.overlay?n(\"div\",{staticClass:\"vm--overlay\",attrs:{\"data-modal\":e.name,\"aria-expanded\":e.visibility.overlay.toString()},on:{click:function(t){return t.target!==t.currentTarget?null:(t.stopPropagation(),e.onOverlayClick(t))}}},[n(\"div\",{staticClass:\"vm--top-right-slot\"},[e._t(\"top-right\")],2)]):e._e()]),e._v(\" \"),n(\"transition\",{attrs:{name:e.guaranteedModalTransition},on:{\"before-enter\":e.beforeModalTransitionEnter,\"after-enter\":e.afterModalTransitionEnter,\"before-leave\":e.beforeModalTransitionLeave,\"after-leave\":e.afterModalTransitionLeave}},[e.visibility.modal?n(\"div\",{ref:\"modal\",class:e.modalClass,style:e.modalStyle,attrs:{\"aria-expanded\":e.visibility.modal.toString(),role:\"dialog\",\"aria-modal\":\"true\"}},[e._t(\"default\"),e._v(\" \"),e.resizable&&!e.isAutoHeight?n(\"resizer\",{attrs:{\"min-width\":e.minWidth,\"min-height\":e.minHeight,\"max-width\":e.maxWidth,\"max-height\":e.maxHeight,\"viewport-height\":e.viewportHeight,\"viewport-width\":e.viewportWidth,\"resize-indicator\":e.resizeIndicator,\"resize-edges\":e.resizeEdges},on:{resize:e.onModalResize}}):e._e()],2):e._e()])],1):e._e()}function o(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",[this.resizeEdges.includes(\"t\")?n(\"div\",{staticClass:\"vue-modal-top\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"b\")?n(\"div\",{staticClass:\"vue-modal-bottom\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"l\")?n(\"div\",{staticClass:\"vue-modal-left\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"r\")?n(\"div\",{staticClass:\"vue-modal-right\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"tr\")?n(\"div\",{staticClass:\"vue-modal-topRight\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"tl\")?n(\"div\",{staticClass:\"vue-modal-topLeft\"}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"br\")?n(\"div\",{class:t.className,attrs:{id:t.getID}}):t._e(),t._v(\" \"),this.resizeEdges.includes(\"bl\")?n(\"div\",{staticClass:\"vue-modal-bottomLeft\"}):t._e()])}o._withStripped=i._withStripped=!0;function h(t,e,n){return n<t?t:e<n?e:n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function u(){var t=window.innerWidth,e=document.documentElement.clientWidth;return t&&e?Math.min(t,e):e||t}function a(t){return t.split(\";\").map(function(t){return t.trim()}).filter(Boolean).map(function(t){return t.split(\":\")}).reduce(function(t,e){var n=s(e,2);return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){r(e,t,n[t])})}return e}({},t,r({},n[0],n[1]))},{})}function f(t){return t.touches&&0<t.touches.length?t.touches[0]:t}var v=[\"INPUT\",\"TEXTAREA\",\"SELECT\"],c=function(t){var e=0<arguments.length&&void 0!==t?t:0;return function(){return(e++).toString()}}(),l={name:\"VueJsModalResizer\",props:{minHeight:{type:Number,default:0},minWidth:{type:Number,default:0},maxWidth:{type:Number,default:Number.MAX_SAFE_INTEGER},maxHeight:{type:Number,default:Number.MAX_SAFE_INTEGER},viewportWidth:{type:Number,required:!0},viewportHeight:{type:Number,required:!0},resizeIndicator:{type:Boolean,default:!0},resizeEdges:{type:Array,required:!0}},data:function(){return{clicked:!1,targetClass:\"\",size:{},initialX:0,initialY:0}},mounted:function(){this.$el.addEventListener(\"mousedown\",this.start,!1)},computed:{className:function(){return[\"vue-modal-bottomRight\",{clicked:this.clicked}]},getID:function(){return this.resizeIndicator?\"vue-modal-triangle\":\"\"}},methods:{start:function(t){this.targetClass=t.target.className,this.clicked=!0,this.initialX=t.clientX,this.initialY=t.clientY,window.addEventListener(\"mousemove\",this.mousemove,!1),window.addEventListener(\"mouseup\",this.stop,!1),t.stopPropagation(),t.preventDefault()},stop:function(){this.clicked=!1,this.clicked=!1,this.targetClass=\"\",this.initialX=0,this.initialY=0,window.removeEventListener(\"mousemove\",this.mousemove,!1),window.removeEventListener(\"mouseup\",this.stop,!1),this.$emit(\"resize-stop\",{element:this.$el.parentElement,size:this.size})},mousemove:function(t){this.resize(t)},resize:function(t){var e=this.$el.parentElement,n=t.clientX,i=t.clientY,o=parseInt(e.style.width.replace(\"px\",\"\")),r=parseInt(e.style.height.replace(\"px\",\"\"));if(!(t.clientX>this.viewportWidth||t.clientX<0)&&!(t.clientY>this.viewportHeight||t.clientY<0)&&e){switch(this.targetClass){case\"vue-modal-right\":n-=e.offsetLeft,i=r;break;case\"vue-modal-left\":i=r,n=o+(this.initialX-t.clientX);break;case\"vue-modal-top\":n=o,i=r+(this.initialY-t.clientY);break;case\"vue-modal-bottom\":n=o,i-=e.offsetTop;break;case\"vue-modal-bottomRight\":n-=e.offsetLeft,i-=e.offsetTop;break;case\"vue-modal-topRight\":n-=e.offsetLeft,i=r+(this.initialY-t.clientY);break;case\"vue-modal-bottomLeft\":n=o+(this.initialX-t.clientX),i-=e.offsetTop;break;case\"vue-modal-topLeft\":n=o+(this.initialX-t.clientX),i=r+(this.initialY-t.clientY);break;default:console.error(\"Incorrrect/no resize direction.\")}var s=Math.min(u(),this.maxWidth),a=Math.min(window.innerHeight,this.maxHeight);n=h(this.minWidth,s,n),i=h(this.minHeight,a,i),this.initialX=t.clientX,this.initialY=t.clientY,this.size={width:n,height:i};var l={width:n-o,height:i-r};e.style.width=n+\"px\",e.style.height=i+\"px\",this.$emit(\"resize\",{element:e,size:this.size,direction:this.targetClass,dimGrowth:l})}}}};n(6);function d(t,e,n,i,o,r,s,a){var l,u=\"function\"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),r&&(u._scopeId=\"data-v-\"+r),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=l):o&&(l=a?function(){o.call(this,this.$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:u}}var p=d(l,o,[],!1,null,null,null);p.options.__file=\"src/components/Resizer.vue\";var m=p.exports;function b(t){return(b=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function g(t){switch(b(t)){case\"number\":return{type:\"px\",value:t};case\"string\":return function(e){if(\"auto\"===e)return{type:e,value:0};var t=_.find(function(t){return t.regexp.test(e)});return t?{type:t.name,value:parseFloat(e)}:{type:\"\",value:e}}(t);default:return{type:\"\",value:t}}}function y(t){if(\"string\"!=typeof t)return 0<=t;var e=g(t);return(\"%\"===e.type||\"px\"===e.type)&&0<e.value}var w=\"[-+]?[0-9]*.?[0-9]+\",_=[{name:\"px\",regexp:new RegExp(\"^\".concat(w,\"px$\"))},{name:\"%\",regexp:new RegExp(\"^\".concat(w,\"%$\"))},{name:\"px\",regexp:new RegExp(\"^\".concat(w,\"$\"))}],E=n(5),x=\"undefined\"!=typeof window&&window.ResizeObserver?ResizeObserver:E.a;function T(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function O(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}function S(t){return e='button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable=\"\"]:not([disabled]), [contentEditable=\"true\"]:not([disabled]), [contentEditable=\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex=\"-1\"])',O(t.querySelectorAll(e)||[]);var e}function z(t){return t==document.activeElement}var M=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.root=null,this.elements=[],this.onKeyDown=this.onKeyDown.bind(this),this.enable=this.enable.bind(this),this.disable=this.disable.bind(this),this.firstElement=this.firstElement.bind(this),this.lastElement=this.lastElement.bind(this)}var e,n,i;return e=t,(n=[{key:\"lastElement\",value:function(){return this.elements[this.elements.length-1]||null}},{key:\"firstElement\",value:function(){return this.elements[0]||null}},{key:\"onKeyDown\",value:function(t){var e;if(\"Tab\"===(e=t).key||9===e.keyCode)return t.shiftKey&&z(this.firstElement())?(this.lastElement().focus(),void t.preventDefault()):!document.activeElement||z(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0}},{key:\"enabled\",value:function(){return!!this.root}},{key:\"enable\",value:function(t){if(t){this.root=t,this.elements=S(this.root);var e=this.firstElement();e&&e.focus(),this.root.addEventListener(\"keydown\",this.onKeyDown)}}},{key:\"disable\",value:function(){this.root.removeEventListener(\"keydown\",this.onKeyDown),this.root=null}}])&&T(e.prototype,n),i&&T(e,i),t}();function L(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function k(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}var R=\"vm-transition--default\",C=\"enter\",$=\"entering\",A=\"leave\",j=\"leavng\",H={name:\"VueJsModal\",props:{name:{required:!0,type:String},resizable:{type:Boolean,default:!1},resizeEdges:{default:function(){return[\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\",\"t\",\"tr\"]},validator:function(e){return[\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\",\"t\",\"tr\"].filter(function(t){return-1!==e.indexOf(t)}).length===e.length},type:Array},centerResize:{type:Boolean,default:!0},resizeIndicator:{type:Boolean,default:!0},adaptive:{type:Boolean,default:!1},draggable:{type:[Boolean,String],default:!1},scrollable:{type:Boolean,default:!1},focusTrap:{type:Boolean,default:!1},reset:{type:Boolean,default:!1},overlayTransition:{type:String,default:\"vm-transition--overlay\"},transition:{type:String,default:\"vm-transition--modal\"},clickToClose:{type:Boolean,default:!0},classes:{type:[String,Array],default:function(){return[]}},styles:{type:[String,Array,Object]},minWidth:{type:Number,default:0,validator:function(t){return 0<=t}},minHeight:{type:Number,default:0,validator:function(t){return 0<=t}},maxWidth:{type:Number,default:Number.MAX_SAFE_INTEGER},maxHeight:{type:Number,default:Number.MAX_SAFE_INTEGER},width:{type:[Number,String],default:600,validator:function(t){return\"auto\"===t||y(t)}},height:{type:[Number,String],default:300,validator:function(t){return\"auto\"===t||y(t)}},shiftX:{type:Number,default:.5,validator:function(t){return 0<=t&&t<=1}},shiftY:{type:Number,default:.5,validator:function(t){return 0<=t&&t<=1}}},components:{Resizer:m},data:function(){return{visible:!1,visibility:{modal:!1,overlay:!1},overlayTransitionState:null,modalTransitionState:null,shiftLeft:0,shiftTop:0,modal:{width:0,widthType:\"px\",height:0,heightType:\"px\",renderedHeight:0},viewportHeight:0,viewportWidth:0}},created:function(){this.setInitialSize()},beforeMount:function(){this.$modal.subscription.$on(\"toggle\",this.onToggle),window.addEventListener(\"resize\",this.onWindowResize),window.addEventListener(\"orientationchange\",this.onWindowResize),this.onWindowResize(),this.scrollable&&!this.isAutoHeight&&console.warn('Modal \"'.concat(this.name,'\" has scrollable flag set to true ')+'but height is not \"auto\" ('.concat(this.height,\")\")),this.clickToClose&&window.addEventListener(\"keyup\",this.onEscapeKeyUp)},mounted:function(){var n=this;this.resizeObserver=new x(function(t){if(0<t.length){var e=k(t,1)[0];n.modal.renderedHeight=e.contentRect.height}}),this.$focusTrap=new M},beforeDestroy:function(){this.$modal.subscription.$off(\"toggle\",this.onToggle),window.removeEventListener(\"resize\",this.onWindowResize),window.removeEventListener(\"orientationchange\",this.onWindowResize),this.clickToClose&&window.removeEventListener(\"keyup\",this.onEscapeKeyUp),document.body.classList.remove(\"vm--block-scroll\")},computed:{guaranteedOverlayTransition:function(){return this.overlayTransition||R},guaranteedModalTransition:function(){return this.transition||R},isAutoHeight:function(){return\"auto\"===this.modal.heightType},position:function(){var t=this.viewportHeight,e=this.viewportWidth,n=this.shiftLeft,i=this.shiftTop,o=this.shiftX,r=this.shiftY,s=this.trueModalWidth,a=this.trueModalHeight,l=e-s,u=Math.max(t-a,0),c=i+r*u;return{left:parseInt(h(0,l,n+o*l)),top:!a&&this.isAutoHeight?void 0:parseInt(h(0,u,c))}},trueModalWidth:function(){var t=this.viewportWidth,e=this.modal,n=this.adaptive,i=this.minWidth,o=this.maxWidth,r=\"%\"===e.widthType?t/100*e.width:e.width;if(n){var s=Math.max(i,Math.min(t,o));return h(i,s,r)}return r},trueModalHeight:function(){var t=this.viewportHeight,e=this.modal,n=this.isAutoHeight,i=this.adaptive,o=this.minHeight,r=this.maxHeight,s=\"%\"===e.heightType?t/100*e.height:e.height;if(n)return this.modal.renderedHeight;if(i){var a=Math.max(o,Math.min(t,r));return h(o,a,s)}return s},autoHeight:function(){return this.adaptive&&this.modal.renderedHeight>=this.viewportHeight?Math.max(this.minHeight,this.viewportHeight)+\"px\":\"auto\"},containerClass:function(){return[\"vm--container\",this.scrollable&&this.isAutoHeight&&\"scrollable\"]},modalClass:function(){return[\"vm--modal\",this.classes]},stylesProp:function(){return\"string\"==typeof this.styles?a(this.styles):this.styles},modalStyle:function(){return[this.stylesProp,{top:this.position.top+\"px\",left:this.position.left+\"px\",width:this.trueModalWidth+\"px\",height:this.isAutoHeight?this.autoHeight:this.trueModalHeight+\"px\"}]},isComponentReadyToBeDestroyed:function(){return this.overlayTransitionState===A&&this.modalTransitionState===A}},watch:{isComponentReadyToBeDestroyed:function(t){t&&(this.visible=!1)}},methods:{startTransitionEnter:function(){this.visibility.overlay=!0,this.visibility.modal=!0},startTransitionLeave:function(){this.visibility.overlay=!1,this.visibility.modal=!1},beforeOverlayTransitionEnter:function(){this.overlayTransitionState=$},afterOverlayTransitionEnter:function(){this.overlayTransitionState=C},beforeOverlayTransitionLeave:function(){this.overlayTransitionState=j},afterOverlayTransitionLeave:function(){this.overlayTransitionState=A},beforeModalTransitionEnter:function(){var t=this;this.modalTransitionState=$,this.$nextTick(function(){t.resizeObserver.observe(t.$refs.modal)})},afterModalTransitionEnter:function(){this.modalTransitionState=C,this.draggable&&this.addDraggableListeners(),this.focusTrap&&this.$focusTrap.enable(this.$refs.modal);var t=this.createModalEvent({state:\"opened\"});this.$emit(\"opened\",t)},beforeModalTransitionLeave:function(){this.modalTransitionState=j,this.resizeObserver.unobserve(this.$refs.modal),this.$focusTrap.enabled()&&this.$focusTrap.disable()},afterModalTransitionLeave:function(){this.modalTransitionState=A;var t=this.createModalEvent({state:\"closed\"});this.$emit(\"closed\",t)},onToggle:function(t,e,n){if(this.name===t){var i=void 0===e?!this.visible:e;this.toggle(i,n)}},setInitialSize:function(){var t=g(this.width),e=g(this.height);this.modal.width=t.value,this.modal.widthType=t.type,this.modal.height=e.value,this.modal.heightType=e.type},onEscapeKeyUp:function(t){27===t.which&&this.visible&&this.$modal.hide(this.name)},onWindowResize:function(){this.viewportWidth=u(),this.viewportHeight=window.innerHeight,this.ensureShiftInWindowBounds()},createModalEvent:function(t){var e=0<arguments.length&&void 0!==t?t:{};return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){L(e,t,n[t])})}return e}({name:this.name,ref:this.$refs.modal||null},e)},onModalResize:function(t){this.modal.widthType=\"px\",this.modal.width=t.size.width,this.modal.heightType=\"px\",this.modal.height=t.size.height,this.centerResize||(this.shiftLeft=this.getResizedShiftLeft(t),this.shiftTop=this.getResizedShiftTop(t));var e=this.modal.size;this.$emit(\"resize\",this.createModalEvent({size:e}))},getResizedShiftLeft:function(t){this.viewportHeight,this.viewportWidth,this.trueModalWidth,this.trueModalHeight;var e=this.shiftLeft;switch(t.direction){case\"vue-modal-topRight\":case\"vue-modal-bottomRight\":case\"vue-modal-right\":e+=.5*t.dimGrowth.width;break;case\"vue-modal-bottomLeft\":case\"vue-modal-topLeft\":case\"vue-modal-left\":e-=.5*t.dimGrowth.width;break;case\"vue-modal-top\":case\"vue-modal-bottom\":break;default:console.error(\"Could not Find Resize Direction In ShiftLeft\")}return e},getResizedShiftTop:function(t){this.viewportHeight,this.viewportWidth,this.trueModalWidth,this.trueModalHeight;var e=this.shiftTop;switch(t.direction){case\"vue-modal-bottom\":case\"vue-modal-bottomRight\":case\"vue-modal-bottomLeft\":e+=.5*t.dimGrowth.height;break;case\"vue-modal-top\":case\"vue-modal-topRight\":case\"vue-modal-topLeft\":e-=.5*t.dimGrowth.height;break;case\"vue-modal-left\":case\"vue-modal-right\":break;default:console.error(\"Could not Find Resize Direction In ShiftTop\")}return e},open:function(t){var e=this;this.reset&&(this.setInitialSize(),this.shiftLeft=0,this.shiftTop=0),this.scrollable&&document.body.classList.add(\"vm--block-scroll\");var n=!1,i=this.createModalEvent({cancel:function(){n=!0},state:\"before-open\",params:t});this.$emit(\"before-open\",i),n?this.scrollable&&document.body.classList.remove(\"vm--block-scroll\"):(\"undefined\"!=typeof document&&document.activeElement&&\"BODY\"!==document.activeElement.tagName&&document.activeElement.blur&&document.activeElement.blur(),this.visible=!0,this.$nextTick(function(){e.startTransitionEnter()}))},close:function(t){this.scrollable&&document.body.classList.remove(\"vm--block-scroll\");var e=!1,n=this.createModalEvent({cancel:function(){e=!0},state:\"before-close\",params:t});this.$emit(\"before-close\",n),e||this.startTransitionLeave()},toggle:function(t,e){this.visible!==t&&(t?this.open(e):this.close(e))},getDraggableElement:function(){return!0===this.draggable?this.$refs.modal:\"string\"==typeof this.draggable?this.$refs.modal.querySelector(this.draggable):null},onOverlayClick:function(){this.clickToClose&&this.toggle(!1)},addDraggableListeners:function(){var s=this,t=this.getDraggableElement();if(t){var a=0,l=0,u=0,c=0,e=function(t){var e=t.target;if(!(n=e)||-1===v.indexOf(n.nodeName)){var n,i=f(t),o=i.clientX,r=i.clientY;document.addEventListener(\"mousemove\",d),document.addEventListener(\"touchmove\",d),document.addEventListener(\"mouseup\",h),document.addEventListener(\"touchend\",h),a=o,l=r,u=s.shiftLeft,c=s.shiftTop}},d=function(t){var e=f(t),n=e.clientX,i=e.clientY;s.shiftLeft=u+n-a,s.shiftTop=c+i-l,t.preventDefault()},h=function t(e){s.ensureShiftInWindowBounds(),document.removeEventListener(\"mousemove\",d),document.removeEventListener(\"touchmove\",d),document.removeEventListener(\"mouseup\",t),document.removeEventListener(\"touchend\",t),e.preventDefault()};t.addEventListener(\"mousedown\",e),t.addEventListener(\"touchstart\",e)}},ensureShiftInWindowBounds:function(){var t=this.viewportHeight,e=this.viewportWidth,n=this.shiftLeft,i=this.shiftTop,o=this.shiftX,r=this.shiftY,s=this.trueModalWidth,a=this.trueModalHeight,l=e-s,u=Math.max(t-a,0),c=n+o*l,d=i+r*u;this.shiftLeft-=c-h(0,l,c),this.shiftTop-=d-h(0,u,d)}}},N=(n(9),d(H,i,[],!1,null,null,null));N.options.__file=\"src/components/Modal.vue\";function D(){var n=this,t=n.$createElement,i=n._self._c||t;return i(n.$modal.context.componentName,{tag:\"component\",attrs:{name:\"dialog\",height:\"auto\",classes:[\"vue-dialog\",this.params.class],width:n.width,\"shift-y\":.3,adaptive:!0,\"focus-trap\":!0,clickToClose:n.clickToClose,transition:n.transition},on:{\"before-open\":n.beforeOpened,\"before-close\":n.beforeClosed,opened:function(t){return n.$emit(\"opened\",t)},closed:function(t){return n.$emit(\"closed\",t)}}},[i(\"div\",{staticClass:\"vue-dialog-content\"},[n.params.title?i(\"div\",{staticClass:\"vue-dialog-content-title\",domProps:{innerHTML:n._s(n.params.title||\"\")}}):n._e(),n._v(\" \"),n.params.component?i(n.params.component,n._b({tag:\"component\"},\"component\",n.params.props,!1)):i(\"div\",{domProps:{innerHTML:n._s(n.params.text||\"\")}})],1),n._v(\" \"),n.buttons?i(\"div\",{staticClass:\"vue-dialog-buttons\"},n._l(n.buttons,function(t,e){return i(\"button\",{key:e,class:t.class||\"vue-dialog-button\",style:n.buttonStyle,attrs:{type:\"button\",tabindex:\"0\"},domProps:{innerHTML:n._s(t.title)},on:{click:function(t){return t.stopPropagation(),n.click(e,t)}}},[n._v(n._s(t.title))])}),0):i(\"div\",{staticClass:\"vue-dialog-buttons-none\"})])}var W=N.exports;D._withStripped=!0;var I={name:\"VueJsDialog\",props:{width:{type:[Number,String],default:400},clickToClose:{type:Boolean,default:!0},transition:{type:String}},data:function(){return{params:{}}},computed:{buttons:function(){return this.params.buttons||[]},buttonStyle:function(){return{flex:\"1 1 \".concat(100/this.buttons.length,\"%\")}}},methods:{beforeOpened:function(t){this.params=t.params||{},this.$emit(\"before-opened\",t)},beforeClosed:function(t){this.params={},this.$emit(\"before-closed\",t)},click:function(t,e,n){var i=2<arguments.length&&void 0!==n?n:\"click\",o=this.buttons[t],r=null==o?void 0:o.handler;\"function\"==typeof r&&r(t,e,{source:i})}}},P=(n(11),d(I,D,[],!1,null,null,null));P.options.__file=\"src/components/Dialog.vue\";function B(){var n=this,t=n.$createElement,i=n._self._c||t;return i(\"div\",{attrs:{id:\"modals-container\"}},n._l(n.modals,function(e){return i(\"modal\",n._g(n._b({key:e.id,on:{closed:function(t){return n.remove(e.id)}}},\"modal\",e.modalAttrs,!1),e.modalListeners),[i(e.component,n._g(n._b({tag:\"component\",on:{close:function(t){return n.$modal.hide(e.modalAttrs.name,t)}}},\"component\",e.componentAttrs,!1),n.$listeners))],1)}),1)}var X=P.exports;function Y(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}B._withStripped=!0;var G=d({data:function(){return{modals:[]}},created:function(){this.$root.__modalContainer=this},mounted:function(){var t=this;this.$modal.subscription.$on(\"hide-all\",function(){t.modals=[]})},methods:{add:function(t,e,n,i){var o=this,r=1<arguments.length&&void 0!==e?e:{},s=2<arguments.length&&void 0!==n?n:{},a=3<arguments.length&&void 0!==i?i:{},l=c(),u=s.name||\"dynamic_modal_\"+l;this.modals.push({id:l,modalAttrs:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){Y(e,t,n[t])})}return e}({},s,{name:u}),modalListeners:a,component:t,componentAttrs:r}),this.$nextTick(function(){o.$modal.show(u)})},remove:function(e){var t=this.modals.findIndex(function(t){return t.id===e});-1!==t&&this.modals.splice(t,1)}}},B,[],!1,null,null,null);G.options.__file=\"src/components/ModalsContainer.vue\";var U=G.exports;function F(t){return(F=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function q(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var V=function(i,t){function o(t,e,n,i){var o,r=2<arguments.length&&void 0!==n?n:{},s=3<arguments.length?i:void 0,a=null===(o=c.root)||void 0===o?void 0:o.__modalContainer,l=u.dynamicDefaults||{};null!=a&&a.add(t,e,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){q(e,t,n[t])})}return e}({},l,r),s)}var u=1<arguments.length&&void 0!==t?t:{},r=new i,c={root:null,componentName:u.componentName||\"Modal\"};return{context:c,subscription:r,show:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var i=e[0];switch(F(i)){case\"string\":(function(t,e){r.$emit(\"toggle\",t,!0,e)}).apply(void 0,e);break;case\"object\":case\"function\":o.apply(void 0,e);break;default:console.warn(\"[vue-js-modal] $modal() received an unsupported argument as a first argument.\",i)}},hide:function(t,e){r.$emit(\"toggle\",t,!1,e)},hideAll:function(){r.$emit(\"hide-all\")},toggle:function(t,e){r.$emit(\"toggle\",t,void 0,e)},setDynamicModalContainer:function(t){c.root=t;var e,n=(e=document.createElement(\"div\"),document.body.appendChild(e),e);new i({parent:t,render:function(t){return t(U)}}).$mount(n)}}},K={install:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(!e.prototype.$modal){var i=new V(e,n);if(Object.defineProperty(e.prototype,\"$modal\",{get:function(){if(this instanceof e){var t=this.$root;i.context.root||i.setDynamicModalContainer(t)}return i}}),e.component(i.context.componentName,W),n.dialog){var o=n.dialogComponentName||\"VDialog\";e.component(o,X)}}}},J=\"__VERSION__\";e.default=K}],o.c=i,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,\"a\",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p=\"/dist/\",o(o.s=13);function o(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var n,i});\n//# sourceMappingURL=index.js.map","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"00ee\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n\n\n/***/ }),\n\n/***/ \"0366\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(\"1c0b\");\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"057f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar nativeGetOwnPropertyNames = __webpack_require__(\"241c\").f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n\n/***/ }),\n\n/***/ \"06cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar has = __webpack_require__(\"5135\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"0cfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar createElement = __webpack_require__(\"cc12\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"0d03\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(\"6eeb\");\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n\n\n/***/ }),\n\n/***/ \"0df6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"159b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar DOMIterables = __webpack_require__(\"fdbc\");\nvar forEach = __webpack_require__(\"17c2\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n\n\n/***/ }),\n\n/***/ \"17c2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $forEach = __webpack_require__(\"b727\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n/***/ }),\n\n/***/ \"1be4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ \"1c0b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"1c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"1c7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n\n/***/ \"1d1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar defineProperties = __webpack_require__(\"37e8\");\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n\n\n/***/ }),\n\n/***/ \"1d80\":\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"1dde\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n\n/***/ }),\n\n/***/ \"23cb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ \"23e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar copyConstructorProperties = __webpack_require__(\"e893\");\nvar isForced = __webpack_require__(\"94ca\");\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n\n/***/ \"241c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"25f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefine = __webpack_require__(\"6eeb\");\nvar anObject = __webpack_require__(\"825a\");\nvar fails = __webpack_require__(\"d039\");\nvar flags = __webpack_require__(\"ad6d\");\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ \"277d\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar isArray = __webpack_require__(\"e8b5\");\n\n// `Array.isArray` method\n// https://tc39.github.io/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar userAgent = __webpack_require__(\"342f\");\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n\n/***/ \"342f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ \"35a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"f5df\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"37e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar anObject = __webpack_require__(\"825a\");\nvar objectKeys = __webpack_require__(\"df75\");\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"3bbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"3ca3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar charAt = __webpack_require__(\"6547\").charAt;\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar defineIterator = __webpack_require__(\"7dd0\");\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"3d02\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"3f8c\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"4160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar forEach = __webpack_require__(\"17c2\");\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n\n\n/***/ }),\n\n/***/ \"428f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\n\nmodule.exports = global;\n\n\n/***/ }),\n\n/***/ \"44ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar classof = __webpack_require__(\"c6b6\");\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n\n/***/ \"44d2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar create = __webpack_require__(\"7c73\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(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\n\n/***/ }),\n\n/***/ \"4930\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n\n\n/***/ }),\n\n/***/ \"49b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"4d64\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"4de4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $filter = __webpack_require__(\"b727\").filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"4df4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bind = __webpack_require__(\"0366\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar callWithSafeIterationClosing = __webpack_require__(\"9bdd\");\nvar isArrayIteratorMethod = __webpack_require__(\"e95a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar createProperty = __webpack_require__(\"8418\");\nvar getIteratorMethod = __webpack_require__(\"35a1\");\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"4e6f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"4fad\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar $entries = __webpack_require__(\"6f53\").entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n\n/***/ }),\n\n/***/ \"50c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"5135\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"5692\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(\"c430\");\nvar store = __webpack_require__(\"c6cd\");\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"56ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar anObject = __webpack_require__(\"825a\");\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ \"5899\":\n/***/ (function(module, exports) {\n\n// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n\n/***/ \"58a8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar whitespaces = __webpack_require__(\"5899\");\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n\n\n/***/ }),\n\n/***/ \"5c6c\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"62e4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n\n/***/ \"64c0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"6547\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ \"65f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n/***/ }),\n\n/***/ \"69f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(\"7f9a\");\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar objectHas = __webpack_require__(\"5135\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ \"6eeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar inspectSource = __webpack_require__(\"8925\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n\n/***/ \"6f53\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar objectKeys = __webpack_require__(\"df75\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar propertyIsEnumerable = __webpack_require__(\"d1e7\").f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"7156\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n\n/***/ }),\n\n/***/ \"7418\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"746f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar has = __webpack_require__(\"5135\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n\n\n/***/ }),\n\n/***/ \"7839\":\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n\n/***/ \"7a82\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar objectDefinePropertyModile = __webpack_require__(\"9bf2\");\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n\n\n/***/ }),\n\n/***/ \"7b0b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ \"7c73\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar defineProperties = __webpack_require__(\"37e8\");\nvar enumBugKeys = __webpack_require__(\"7839\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar html = __webpack_require__(\"1be4\");\nvar documentCreateElement = __webpack_require__(\"cc12\");\nvar sharedKey = __webpack_require__(\"f772\");\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"7db0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $find = __webpack_require__(\"b727\").find;\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\n\n/***/ }),\n\n/***/ \"7dd0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar createIteratorConstructor = __webpack_require__(\"9ed3\");\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar setPrototypeOf = __webpack_require__(\"d2bb\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar IteratorsCore = __webpack_require__(\"ae93\");\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"7f9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar inspectSource = __webpack_require__(\"8925\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n\n/***/ \"825a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"83ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n\n/***/ \"8418\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ \"861d\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"8875\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n\n\n/***/ }),\n\n/***/ \"8925\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"c6cd\");\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n\n\n/***/ }),\n\n/***/ \"90e3\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n\n/***/ }),\n\n/***/ \"9112\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"9455\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ \"94ca\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n\n/***/ \"9bdd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n\n/***/ }),\n\n/***/ \"9bf2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\nvar anObject = __webpack_require__(\"825a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"9ed3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(\"ae93\").IteratorPrototype;\nvar create = __webpack_require__(\"7c73\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar Iterators = __webpack_require__(\"3f8c\");\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n\n/***/ \"a4d3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar global = __webpack_require__(\"da84\");\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar IS_PURE = __webpack_require__(\"c430\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(\"fdbf\");\nvar fails = __webpack_require__(\"d039\");\nvar has = __webpack_require__(\"5135\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar isObject = __webpack_require__(\"861d\");\nvar anObject = __webpack_require__(\"825a\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar nativeObjectCreate = __webpack_require__(\"7c73\");\nvar objectKeys = __webpack_require__(\"df75\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertyNamesExternal = __webpack_require__(\"057f\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar shared = __webpack_require__(\"5692\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar uid = __webpack_require__(\"90e3\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\nvar setToStringTag = __webpack_require__(\"d44e\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar $forEach = __webpack_require__(\"b727\").forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n\n\n/***/ }),\n\n/***/ \"a630\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar from = __webpack_require__(\"4df4\");\nvar checkCorrectnessOfIteration = __webpack_require__(\"1c7e\");\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n\n\n/***/ }),\n\n/***/ \"a640\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\n\n/***/ }),\n\n/***/ \"a691\":\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n\n/***/ \"a9e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar isForced = __webpack_require__(\"94ca\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar has = __webpack_require__(\"5135\");\nvar classof = __webpack_require__(\"c6b6\");\nvar inheritIfRequired = __webpack_require__(\"7156\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar fails = __webpack_require__(\"d039\");\nvar create = __webpack_require__(\"7c73\");\nvar getOwnPropertyNames = __webpack_require__(\"241c\").f;\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar trim = __webpack_require__(\"58a8\").trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n\n\n/***/ }),\n\n/***/ \"ad6d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(\"825a\");\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"ae40\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar has = __webpack_require__(\"5135\");\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n\n\n/***/ }),\n\n/***/ \"ae93\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __webpack_require__(\"e163\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar IS_PURE = __webpack_require__(\"c430\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n\n/***/ \"b041\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar classof = __webpack_require__(\"f5df\");\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n\n/***/ }),\n\n/***/ \"b0c0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n\n\n/***/ }),\n\n/***/ \"b622\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar shared = __webpack_require__(\"5692\");\nvar has = __webpack_require__(\"5135\");\nvar uid = __webpack_require__(\"90e3\");\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\nvar USE_SYMBOL_AS_UID = __webpack_require__(\"fdbf\");\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n\n\n/***/ }),\n\n/***/ \"b64b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar nativeKeys = __webpack_require__(\"df75\");\nvar fails = __webpack_require__(\"d039\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n\n\n/***/ }),\n\n/***/ \"b727\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar bind = __webpack_require__(\"0366\");\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar arraySpeciesCreate = __webpack_require__(\"65f0\");\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n\n\n/***/ }),\n\n/***/ \"c04e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"c430\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"c6b6\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"c6cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar setGlobal = __webpack_require__(\"ce4e\");\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"ca84\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar indexOf = __webpack_require__(\"4d64\").indexOf;\nvar hiddenKeys = __webpack_require__(\"d012\");\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"cc12\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"ce4e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n\n/***/ \"d012\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"d039\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"d066\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar global = __webpack_require__(\"da84\");\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n\n/***/ }),\n\n/***/ \"d1e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"d28b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineWellKnownSymbol = __webpack_require__(\"746f\");\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n\n\n/***/ }),\n\n/***/ \"d2bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar aPossiblePrototype = __webpack_require__(\"3bbe\");\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n\n/***/ \"d3b7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar toString = __webpack_require__(\"b041\");\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n\n/***/ }),\n\n/***/ \"d44e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar has = __webpack_require__(\"5135\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n\n/***/ \"da81\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, module) {/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\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/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\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 nullTag = '[object Null]',\n objectTag = '[object Object]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n undefinedTag = '[object Undefined]',\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/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && 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/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\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\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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 detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeMax = Math.max,\n nativeNow = Date.now;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(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\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\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 assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\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\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\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 baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\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\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\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 * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\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\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\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\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\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\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\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\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\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\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\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\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\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\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\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\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 buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\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\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\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\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\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\n/**\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}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = merge;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\"), __webpack_require__(\"62e4\")(module)))\n\n/***/ }),\n\n/***/ \"da84\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"dbb4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar ownKeys = __webpack_require__(\"56ef\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar createProperty = __webpack_require__(\"8418\");\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n\n\n/***/ }),\n\n/***/ \"ddb0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar DOMIterables = __webpack_require__(\"fdbc\");\nvar ArrayIteratorMethods = __webpack_require__(\"e260\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n\n\n/***/ }),\n\n/***/ \"df75\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"e01a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n\nvar $ = __webpack_require__(\"23e7\");\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar global = __webpack_require__(\"da84\");\nvar has = __webpack_require__(\"5135\");\nvar isObject = __webpack_require__(\"861d\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\nvar copyConstructorProperties = __webpack_require__(\"e893\");\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n\n\n/***/ }),\n\n/***/ \"e163\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(\"e177\");\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n\n/***/ \"e177\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n\n/***/ \"e260\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar addToUnscopables = __webpack_require__(\"44d2\");\nvar Iterators = __webpack_require__(\"3f8c\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\nvar defineIterator = __webpack_require__(\"7dd0\");\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"e439\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(\"23e7\");\nvar fails = __webpack_require__(\"d039\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar nativeGetOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n\n\n/***/ }),\n\n/***/ \"e538\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nexports.f = wellKnownSymbol;\n\n\n/***/ }),\n\n/***/ \"e893\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"5135\");\nvar ownKeys = __webpack_require__(\"56ef\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(\"06cf\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n\n/***/ }),\n\n/***/ \"e8b5\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n\n/***/ }),\n\n/***/ \"e95a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar Iterators = __webpack_require__(\"3f8c\");\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\n\n/***/ }),\n\n/***/ \"f5df\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(\"00ee\");\nvar classofRaw = __webpack_require__(\"c6b6\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n\n/***/ \"f772\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5692\");\nvar uid = __webpack_require__(\"90e3\");\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"VsaList\", function() { return /* reexport */ components_VsaList; });\n__webpack_require__.d(__webpack_exports__, \"VsaItem\", function() { return /* reexport */ components_VsaItem; });\n__webpack_require__.d(__webpack_exports__, \"VsaHeading\", function() { return /* reexport */ VsaHeading; });\n__webpack_require__.d(__webpack_exports__, \"VsaContent\", function() { return /* reexport */ VsaContent; });\n__webpack_require__.d(__webpack_exports__, \"VsaIcon\", function() { return /* reexport */ VsaIcon; });\n\n// NAMESPACE OBJECT: ./src/components/index.js\nvar components_namespaceObject = {};\n__webpack_require__.r(components_namespaceObject);\n__webpack_require__.d(components_namespaceObject, \"VsaList\", function() { return components_VsaList; });\n__webpack_require__.d(components_namespaceObject, \"VsaItem\", function() { return components_VsaItem; });\n__webpack_require__.d(components_namespaceObject, \"VsaHeading\", function() { return VsaHeading; });\n__webpack_require__.d(components_namespaceObject, \"VsaContent\", function() { return VsaContent; });\n__webpack_require__.d(components_namespaceObject, \"VsaIcon\", function() { return VsaIcon; });\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (true) {\n var getCurrentScript = __webpack_require__(\"8875\")\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_require__.p = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.for-each.js\nvar es_array_for_each = __webpack_require__(\"4160\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.entries.js\nvar es_object_entries = __webpack_require__(\"4fad\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js\nvar web_dom_collections_for_each = __webpack_require__(\"159b\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.is-array.js\nvar es_array_is_array = __webpack_require__(\"277d\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js\nvar es_symbol = __webpack_require__(\"a4d3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js\nvar es_symbol_description = __webpack_require__(\"e01a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js\nvar es_symbol_iterator = __webpack_require__(\"d28b\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js\nvar es_array_iterator = __webpack_require__(\"e260\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js\nvar es_object_to_string = __webpack_require__(\"d3b7\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js\nvar es_string_iterator = __webpack_require__(\"3ca3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js\nvar web_dom_collections_iterator = __webpack_require__(\"ddb0\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\n\n\n\n\n\n\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js\nvar es_array_from = __webpack_require__(\"a630\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js\nvar es_array_slice = __webpack_require__(\"fb6a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.date.to-string.js\nvar es_date_to_string = __webpack_require__(\"0d03\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js\nvar es_function_name = __webpack_require__(\"b0c0\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js\nvar es_regexp_to_string = __webpack_require__(\"25f0\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\n\n\n\n\n\n\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/lodash.merge/index.js\nvar lodash_merge = __webpack_require__(\"da81\");\nvar lodash_merge_default = /*#__PURE__*/__webpack_require__.n(lodash_merge);\n\n// CONCATENATED MODULE: ./src/components/VsaWrapper.js\nvar VsaHeading = {\n name: \"VsaHeading\"\n};\nvar VsaContent = {\n name: \"VsaContent\"\n};\nvar VsaIcon = {\n name: \"VsaIcon\"\n};\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js\nvar es_array_find = __webpack_require__(\"7db0\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js\nvar es_number_constructor = __webpack_require__(\"a9e3\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js\nvar es_array_filter = __webpack_require__(\"4de4\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.define-properties.js\nvar es_object_define_properties = __webpack_require__(\"1d1c\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.define-property.js\nvar es_object_define_property = __webpack_require__(\"7a82\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\nvar es_object_get_own_property_descriptor = __webpack_require__(\"e439\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js\nvar es_object_get_own_property_descriptors = __webpack_require__(\"dbb4\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js\nvar es_object_keys = __webpack_require__(\"b64b\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js\n\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\n return obj;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js\n\n\n\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n// CONCATENATED MODULE: ./src/constants/default.js\nvar DEFAULT_OPTIONS = {\n tags: {\n list: \"dl\",\n list__item: \"div\",\n item__heading: \"dt\",\n heading__content: \"span\",\n heading__icon: \"span\",\n item__content: \"dd\"\n },\n roles: {\n presentation: false,\n heading: false,\n region: true\n },\n transition: \"vsa-collapse\",\n initActive: false,\n forceActive: undefined,\n autoCollapse: true,\n navigation: true\n};\n/* harmony default export */ var constants_default = (DEFAULT_OPTIONS);\n// CONCATENATED MODULE: ./src/constants/index.js\n\n\n// EXTERNAL MODULE: ./src/components/Heading/Heading.scss\nvar Heading = __webpack_require__(\"9455\");\n\n// CONCATENATED MODULE: ./src/components/Heading/Heading.js\n\n/* harmony default export */ var Heading_Heading = ({\n props: {\n tag: {\n type: String,\n required: true\n }\n },\n render: function render(h) {\n return h(this.tag, {\n staticClass: \"vsa-item__heading\",\n ref: \"vsa-item__heading\"\n }, this.$slots[\"default\"]);\n }\n});\n// EXTERNAL MODULE: ./src/components/Heading/Trigger/Trigger.scss\nvar Trigger = __webpack_require__(\"1c6c\");\n\n// CONCATENATED MODULE: ./src/components/Heading/Trigger/Trigger.js\n\n/* harmony default export */ var Trigger_Trigger = ({\n props: {\n isActive: {\n type: Boolean,\n required: true\n }\n },\n render: function render(h) {\n return h(\"button\", {\n attrs: {\n type: \"button\",\n \"aria-expanded\": String(this.isActive)\n },\n staticClass: \"vsa-item__trigger\",\n ref: \"vsa-item__trigger\"\n }, this.$slots[\"default\"]);\n }\n});\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\n\n\n\n\n\n\n\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: ./src/components/Heading/Trigger/TriggerIcon.scss\nvar TriggerIcon = __webpack_require__(\"4e6f\");\n\n// CONCATENATED MODULE: ./src/components/Heading/Trigger/TriggerIcon.js\n\n\n/* harmony default export */ var Trigger_TriggerIcon = ({\n props: {\n isActive: {\n type: Boolean,\n required: true\n },\n tag: {\n type: String,\n required: true\n },\n data: {\n type: Array,\n required: true\n }\n },\n render: function render(h) {\n return h(this.tag, {\n staticClass: \"vsa-item__trigger__icon\",\n \"class\": {\n \"vsa-item__trigger__icon--is-default\": !this.data.length,\n \"vsa-item__trigger__icon--is-active\": this.isActive\n },\n ref: \"vsa-item__trigger__icon\"\n }, _toConsumableArray(this.data));\n }\n});\n// EXTERNAL MODULE: ./src/components/Heading/Trigger/TriggerContent.scss\nvar TriggerContent = __webpack_require__(\"0df6\");\n\n// CONCATENATED MODULE: ./src/components/Heading/Trigger/TriggerContent.js\n\n\n/* harmony default export */ var Trigger_TriggerContent = ({\n props: {\n tag: {\n type: String,\n required: true\n },\n data: {\n type: Array,\n required: true\n }\n },\n render: function render(h) {\n return h(this.tag, {\n staticClass: \"vsa-item__trigger__content\",\n ref: \"vsa-item__trigger__content\"\n }, _toConsumableArray(this.data));\n }\n});\n// CONCATENATED MODULE: ./src/components/Heading/Trigger/index.js\n\n\n\n\n// CONCATENATED MODULE: ./src/components/Heading/index.js\n\n\n\n// EXTERNAL MODULE: ./src/components/Content/Content.scss\nvar Content = __webpack_require__(\"49b2\");\n\n// CONCATENATED MODULE: ./src/components/Content/Content.js\n\n\n/* harmony default export */ var Content_Content = ({\n props: {\n isActive: {\n type: Boolean,\n required: true\n },\n tag: {\n type: String,\n required: true\n },\n data: {\n type: Array,\n required: true\n },\n transition: {\n type: String,\n required: true\n }\n },\n render: function render(h) {\n return h(\"transition\", {\n attrs: {\n name: this.transition,\n appear: true\n }\n }, [h(this.tag, {\n directives: [{\n name: \"show\",\n value: this.isActive\n }],\n staticClass: \"vsa-item__content\",\n ref: \"vsa-item__content\"\n }, _toConsumableArray(this.data))]);\n }\n});\n// CONCATENATED MODULE: ./src/components/Content/index.js\n\n\n// EXTERNAL MODULE: ./src/components/VsaItem.scss\nvar VsaItem = __webpack_require__(\"64c0\");\n\n// CONCATENATED MODULE: ./src/components/VsaItem.js\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var components_VsaItem = ({\n props: {\n transition: {\n type: String,\n required: false,\n \"default\": undefined\n },\n forceActive: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n initActive: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n level: {\n type: [String, Number],\n required: false,\n \"default\": undefined\n },\n onHeadingClick: {\n type: Function,\n required: false,\n \"default\": function _default() {}\n }\n },\n inject: {\n vsaList: {\n type: Object,\n required: true\n },\n vsaListProps: {\n type: Function,\n required: true\n }\n },\n data: function data() {\n return {\n isActive: false\n };\n },\n computed: {\n rootProps: function rootProps() {\n return this.vsaListProps();\n },\n mergedOptions: function mergedOptions() {\n return this.getMergedOptions();\n },\n dataAttrs: function dataAttrs() {\n return this.getDataAttrs();\n },\n tags: function tags() {\n return this.mergedOptions.tags;\n },\n headingData: function headingData() {\n return this.getComponent(\"VsaHeading\");\n },\n iconData: function iconData() {\n return this.getComponent(\"VsaIcon\");\n },\n contentData: function contentData() {\n return this.getComponent(\"VsaContent\");\n }\n },\n watch: {\n mergedOptions: {\n handler: function handler(value) {\n if (typeof value.forceActive !== \"undefined\") {\n this.isActive = value.forceActive;\n return;\n }\n\n if (typeof value.initActive !== \"undefined\") {\n this.isActive = value.initActive;\n }\n },\n deep: true,\n immediate: true\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.vsaList.$emit(\"on-child-removed\", this);\n },\n created: function created() {\n var _this = this;\n\n this.$on(\"vsa-heading-click\", function (arg) {\n _this.onHeadingClick(arg);\n });\n this.vsaList.$emit(\"on-child-created\", this);\n },\n methods: {\n getMergedOptions: function getMergedOptions() {\n return lodash_merge_default()({}, constants_default, this.$vsaOptions, this.vsaList.$props, this.$props);\n },\n getComponent: function getComponent(name) {\n try {\n var wrapper = this.$slots[\"default\"].find(function (slot) {\n if (typeof slot.componentOptions !== \"undefined\") {\n return new slot.componentOptions.Ctor().$options.name === name;\n }\n });\n\n if (!wrapper) {\n return [];\n }\n\n var children = wrapper.componentOptions.children;\n\n if (children) {\n return children;\n }\n\n return [wrapper];\n } catch (error) {\n return [];\n }\n },\n getDataAttrs: function getDataAttrs() {\n return {\n \"data-vsa-list\": \"\".concat(this.vsaList._uid),\n \"data-vsa-item\": \"\".concat(this._uid),\n \"data-vsa-active\": String(this.isActive)\n };\n },\n handleClick: function handleClick() {\n var _this2 = this;\n\n this.isActive = !this.isActive;\n this.$nextTick(function () {\n var data = {\n list: _this2.vsaList,\n item: _this2\n };\n\n _this2.$emit(\"vsa-heading-click\", data);\n });\n\n if (this.mergedOptions.autoCollapse) {\n var children = this.vsaList._data.children;\n children.forEach(function (child) {\n if (child._uid !== _this2._uid) {\n child._data.isActive = false;\n }\n });\n }\n },\n handleKeyPress: function handleKeyPress(e) {\n if (this.mergedOptions.navigation) {\n var current = this.$el;\n var target;\n\n switch (e.keyCode) {\n // Arrow Down\n case 40:\n if (current.nextElementSibling) {\n target = current.nextElementSibling;\n }\n\n break;\n // Arrow Up\n\n case 38:\n if (current.previousElementSibling) {\n target = current.previousElementSibling;\n }\n\n break;\n // End\n\n case 35:\n var last = current.nextElementSibling;\n\n while (last) {\n if (last.nextElementSibling) {\n last = last.nextElementSibling;\n } else {\n break;\n }\n }\n\n if (last) {\n target = last;\n }\n\n break;\n // Home\n\n case 36:\n var first = current.previousElementSibling;\n\n while (first) {\n if (first.previousElementSibling) {\n first = first.previousElementSibling;\n } else {\n break;\n }\n }\n\n if (first) {\n target = first;\n }\n\n break;\n\n default:\n return;\n }\n\n if (target) {\n target.querySelector(\".vsa-item__heading > .vsa-item__trigger\").focus();\n }\n }\n }\n },\n render: function render(h) {\n return h(this.tags[\"list__item\"], {\n attrs: _objectSpread2({\n id: \"vsa-item-\".concat(this._uid)\n }, this.dataAttrs),\n staticClass: \"vsa-item\",\n \"class\": {\n \"vsa-item--is-active\": this.isActive\n },\n style: this.styles,\n ref: \"vsa-item\"\n }, [h(Heading_Heading, {\n attrs: _objectSpread2(_objectSpread2({}, this.dataAttrs), this.mergedOptions.roles[\"heading\"] && {\n role: \"heading\",\n \"aria-level\": String(this.level)\n }),\n props: {\n tag: this.tags[\"item__heading\"]\n }\n }, [h(Trigger_Trigger, {\n nativeOn: {\n click: this.handleClick,\n keydown: this.handleKeyPress\n },\n props: {\n isActive: this.isActive\n },\n attrs: _objectSpread2(_objectSpread2({}, this.dataAttrs), {}, {\n \"aria-controls\": \"vsa-panel-\".concat(this._uid),\n \"aria-disabled\": String(!!(this.isActive && this.mergedOptions.forceActive))\n })\n }, [h(Trigger_TriggerContent, {\n attrs: _objectSpread2({}, this.dataAttrs),\n props: {\n tag: this.tags[\"heading__content\"],\n data: this.headingData\n }\n }), h(Trigger_TriggerIcon, {\n attrs: _objectSpread2({}, this.dataAttrs),\n props: {\n tag: this.tags[\"heading__icon\"],\n isActive: this.isActive,\n data: this.iconData\n }\n })])]), h(Content_Content, {\n attrs: _objectSpread2(_objectSpread2(_objectSpread2({\n id: \"vsa-panel-\".concat(this._uid)\n }, this.dataAttrs), this.mergedOptions.roles[\"region\"] && {\n role: \"region\"\n }), {}, {\n \"aria-labelledby\": \"vsa-item-\".concat(this._uid)\n }),\n props: {\n transition: this.mergedOptions.transition,\n tag: this.tags[\"item__content\"],\n isActive: this.isActive,\n data: this.contentData\n }\n })]);\n }\n});\n// EXTERNAL MODULE: ./src/components/VsaList.scss\nvar VsaList = __webpack_require__(\"3d02\");\n\n// CONCATENATED MODULE: ./src/components/VsaList.js\n\n\n\n\n\n/* harmony default export */ var components_VsaList = ({\n props: {\n tags: {\n type: Object,\n required: false,\n \"default\": Object\n },\n transition: {\n type: String,\n required: false,\n \"default\": undefined\n },\n initActive: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n forceActive: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n autoCollapse: {\n type: Boolean,\n required: false,\n \"default\": undefined\n },\n roles: {\n type: Object,\n required: false,\n \"default\": Object\n },\n navigation: {\n type: Boolean,\n required: false,\n \"default\": undefined\n }\n },\n provide: function provide() {\n var _this = this;\n\n return {\n vsaList: this,\n vsaListProps: function vsaListProps() {\n return _this.$props;\n }\n };\n },\n data: function data() {\n return {\n children: []\n };\n },\n computed: {\n mergedOptions: function mergedOptions() {\n return this.getMergedOptions();\n }\n },\n methods: {\n getMergedOptions: function getMergedOptions() {\n return lodash_merge_default()({}, constants_default, this.$vsaOptions, this.$props);\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.$on(\"on-child-created\", function (newChild) {\n _this2.children.push(newChild);\n });\n this.$on(\"on-child-removed\", function (removedChild) {\n _this2.children = _this2.children.filter(function (child) {\n return child._uid !== removedChild._uid;\n });\n });\n },\n render: function render(h) {\n return h(this.mergedOptions.tags[\"list\"], {\n attrs: _objectSpread2({\n id: \"vsa-list-\".concat(this._uid),\n \"data-vsa-list\": \"\".concat(this._uid)\n }, this.mergedOptions.roles[\"presentation\"] && {\n role: \"presentation\"\n }),\n staticClass: \"vsa-list\",\n ref: \"vsa-list\"\n }, this.$slots[\"default\"]);\n }\n});\n// CONCATENATED MODULE: ./src/components/index.js\n\n\n\n\n// CONCATENATED MODULE: ./src/index.js\n\n\n\n\n\n\n\n\n/* harmony default export */ var src_0 = ({\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Vue.prototype.$vsaOptions = lodash_merge_default()({}, constants_default, options);\n Object.entries(components_namespaceObject).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n component = _ref2[1];\n\n Vue.component(name, component);\n });\n }\n});\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (src_0);\n\n\n\n/***/ }),\n\n/***/ \"fb6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar createProperty = __webpack_require__(\"8418\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n\n\n/***/ }),\n\n/***/ \"fc6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(\"44ad\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ \"fdbc\":\n/***/ (function(module, exports) {\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n\n/***/ }),\n\n/***/ \"fdbf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_SYMBOL = __webpack_require__(\"4930\");\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=vue-simple-accordion.common.js.map","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProductsFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Product\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uuid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bundle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"price_description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"variations\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uuid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sku\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"price\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":214}};\n doc.loc.source = {\"body\":\"fragment ProductsFields on Product {\\n id\\n title\\n uuid\\n bundle\\n body\\n price_description\\n path\\n variations{\\n id\\n uuid\\n title\\n description\\n sku\\n price{\\n value\\n currency\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProductsFields\"] = oneQuery(doc, \"ProductsFields\");\n \n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = defineInspect;\n\nvar _invariant = _interopRequireDefault(require(\"./invariant.js\"));\n\nvar _nodejsCustomInspectSymbol = _interopRequireDefault(require(\"./nodejsCustomInspectSymbol.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\nfunction defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || (0, _invariant.default)(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (_nodejsCustomInspectSymbol.default) {\n classObject.prototype[_nodejsCustomInspectSymbol.default] = fn;\n }\n}\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","<script>\n\nimport Vue from 'vue'\nimport productsMixins from 'vuejs/components/productsMixins'\n\nexport default {\n props: ['html', 'full'], // get the html from parent with props\n mixins: [productsMixins],\n data() {\n return {\n template: null, // compiled template from html used in render\n showrooms: [],\n showroomsOdd: [],\n showroomsEven: [],\n showroomMode: 1,\n showroomInterval: 0,\n showroomI:0,\n showroomJ:0\n }\n },\n beforeMount() {\n console.log('Home beforeMount, full', this.full)\n // compile the html src (coming from parent with props or from ajax call)\n if (this.html) {\n // console.log('html', this.html)\n this.compileTemplate()\n }\n },\n render(h) {\n if (!this.template) {\n return h('span', this.$t('default.Loading…'))\n } else {\n return this.template.render.call(this)\n }\n },\n mounted(){\n // this.initShowroomCarroussel()\n },\n methods: {\n compileTemplate(){\n this.template = Vue.compile(this.html)\n this.$options.staticRenderFns = []\n this._staticTrees = []\n this.template.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)))\n console.log('compileTemplate, full', this.full)\n if (this.full) {\n setTimeout(this.initShowroomCarroussel.bind(this), 250)\n }\n },\n initShowroomCarroussel(){\n console.log('startShowroomCarroussel')\n this.showrooms = document.querySelectorAll('.field--name-computed-showrooms-reference > .field__item')\n console.log('showrooms', this.showrooms.length, this.showrooms)\n if (!this.showrooms.length) {\n return\n }\n // console.log('TEST')\n for (let i = 0; i < this.showrooms.length; i++) {\n if (i%2 === 0) {\n this.showroomsOdd.push(this.showrooms[i])\n } else {\n this.showroomsEven.push(this.showrooms[i])\n }\n }\n console.log('Odd', this.showroomsOdd)\n console.log('Even', this.showroomsEven)\n\n // TODO: share media query and variables between scss and js\n let column_width= 205\n let column_goutiere= 13\n let bp = (column_width + column_goutiere )*7 +1\n const mediaQuery = window.matchMedia(`(min-width: ${bp}px)`)\n // Register event listener\n mediaQuery.addListener(this.checkShowroomMode)\n this.checkShowroomMode(mediaQuery)\n\n // this.showroomInterval = setInterval(this.switchShowroomCarroussel.bind(this), 5000);\n // console.log('this.showroomInterval', this.showroomInterval)\n // this.switchShowroomCarroussel()\n },\n checkShowroomMode(mq){\n console.log('checkShowroomMode', mq)\n // default mode 1\n let newmode = 1\n if (mq.matches) {\n // if mediaquery match switch to mode 2\n newmode = 2\n }\n if(newmode !== this.showroomMode) {\n // if new mode different from old mode\n // reset sowrooms classes\n for (let i = 0; i < this.showrooms.length; i++) {\n this.showrooms[i].classList.remove('active')\n }\n // record new mode\n this.showroomMode = newmode\n // clear interval\n // if (this.showroomInterval) {\n clearInterval(this.showroomInterval)\n this.showroomInterval = 0\n // }\n // reset indexes\n this.showroomI = 0\n this.showroomJ = 0\n }\n // in any case (re)launch the animation\n this.showroomInterval = setInterval(this.switchShowroomCarroussel.bind(this), 15000);\n console.log('this.showroomInterval', this.showroomInterval)\n this.switchShowroomCarroussel()\n },\n switchShowroomCarroussel(){\n console.log('switchShowroomCarroussel')\n if (this.showroomMode === 1) {\n this.showrooms[this.showroomI].classList.add('active')\n this.showrooms[this.showroomI-1 < 0 ? this.showrooms.length -1 : this.showroomI-1].classList.remove('active')\n this.showroomI = this.showroomI+1 >= this.showrooms.length ? 0 : this.showroomI+1\n } else {\n this.showroomsOdd[this.showroomI].classList.add('active')\n this.showroomsOdd[this.showroomI-1 < 0 ? this.showroomsOdd.length -1 : this.showroomI-1].classList.remove('active')\n this.showroomI = this.showroomI+1 >= this.showroomsOdd.length ? 0 : this.showroomI+1\n\n this.showroomsEven[this.showroomJ].classList.add('active')\n this.showroomsEven[this.showroomJ-1 < 0 ? this.showroomsEven.length -1 : this.showroomJ-1].classList.remove('active')\n this.showroomJ = this.showroomJ+1 >= this.showroomsEven.length ? 0 : this.showroomJ+1\n\n }\n },\n onClickLink(e){\n console.log(\"onClickLink\", e, this.$router, this.$route)\n // record the target before event finish the propagation as currentTarget will be deleted after\n let target = e.currentTarget\n console.log('target', target)\n\n if (target.protocol == \"mailto:\") {\n // https://stackoverflow.com/questions/10172499/mailto-using-javascript\n window.location.href = target.href\n }else {\n let path = null;\n let article = null;\n\n // if we have an article link with appropriate data attributes\n // 'data-id'\n // 'data-entity-type'\n // 'data-bundle'\n if (target.dataset.entityType == 'node' && target.dataset.bundle == 'article') {\n let matches = target.pathname.match(/^\\/\\w{2}\\/[^\\/]+\\/(.*)/i)\n console.log('matches', matches)\n article = {\n nid: target.dataset.id,\n alias: matches[1]\n }\n } else {\n // find existing router route compared with link href\n let pathbase = target.pathname.match(/^(\\/\\w{2}\\/[^\\/]+)\\/?.*/i)\n console.log('pathbase', pathbase)\n\n for (let i = 0; i < this.$router.options.routes.length; i++) {\n if (this.$router.options.routes[i].path == pathbase[1]) {\n if (target.pathname !== this.$route.path) {\n path = target.pathname\n }\n break\n }\n }\n\n }\n\n if (article) {\n this.$router.push({\n name:`article`,\n params: { alias: article.alias, id: article.nid }\n })\n } else if (path) {\n this.$router.push({\n path: path\n })\n }\n }\n },\n onClickFieldLabel(e, part){\n console.log(\"onClickFieldLabel\", part, e, this.$router, this.$route)\n\n }\n },\n watch: {\n html: function(val) {\n // console.log('html prop changed', val)\n this.compileTemplate()\n }\n }\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59fe59f7\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport Home from 'vuejs/components/Pages/Home'\n// import Base from 'vuejs/components/Pages/Base'\n// import Thematique from 'vuejs/components/Pages/Thematique'\n// import Blabla from 'vuejs/components/Pages/Blabla'\n// import Article from 'vuejs/components/Pages/Article'\n// import Showrooms from 'vuejs/components/Pages/Showrooms'\n// import Pricing from 'vuejs/components/Pages/Pricing'\n\n// const Home = () => import(\n// /* webpackMode: \"lazy\" */\n// /* webpackPrefetch: true */\n// /* webpackPreload: true */\n// 'vuejs/components/Pages/Home')\n\nconst Base = () => import(\n /* webpackChunkName: \"module-base\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Base')\n\nconst Thematique = () => import(\n /* webpackChunkName: \"module-thematique\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Thematique')\n\nconst Blabla = () => import(\n /* webpackChunkName: \"module-blabla\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Blabla')\n\nconst Article = () => import(\n /* webpackChunkName: \"module-article\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Article')\n\nconst Showrooms = () => import(\n /* webpackChunkName: \"module-showrooms\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Showrooms')\n\nconst Pricing = () => import(\n /* webpackChunkName: \"module-pricing\" */\n /* webpackMode: \"lazy\" */\n /* webpackPrefetch: true */\n /* webpackPreload: true */\n 'vuejs/components/Pages/Pricing')\n\nVue.use(VueRouter)\n\n// https://www.lullabot.com/articles/decoupled-hard-problems-routing\n\n// We could use aliases to never reload the page on language changement\n// BUT beforeupdate is not triggered when push alias instead of path or name\n// const languages = ['en', 'fr'];\n// console.log('path aliases', (() => languages.map(l => `/${l}/base`))())\n\nconst basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix\n\nconst routes = [\n {\n name: 'home',\n path: basePath,\n // path: '/',\n // alias: (() => languages.map(l => `/${l}`))(),\n component: Home\n // components: {\n // 'home': Home\n // }\n },\n {\n name: 'base',\n path: `${basePath}base`,\n // path: `/base`,\n // alias: (() => languages.map(l => `/${l}/base`))(),\n component: Base\n // components: {\n // 'base': Base\n // }\n },\n {\n name: 'thematique',\n path: `${basePath}thematique/:alias`,\n component: Thematique\n },\n {\n name: 'blabla',\n path: `${basePath}blabla`,\n component: Blabla\n },\n {\n name: 'article',\n path: `${basePath}blabla/:alias`,\n component: Article\n // meta: { uuid:null }\n },\n {\n name: 'showrooms',\n path: `${basePath}showrooms`,\n component: Showrooms\n // meta: { uuid:null }\n },\n // {\n // path: '*',\n // name: 'notfound',\n // components: {\n // 'notfound': NotFound\n // }\n // },\n {\n name: 'pricing',\n path: `${basePath}pricing`,\n component: Pricing\n }\n // {\n // name:'cart',\n // path: `${basePath}cart`,\n // component: Cart\n // }\n]\n\nexport default new VueRouter({\n mode: 'history',\n routes: routes\n})\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"overlay\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.close.apply(null, arguments)}}},[_c('div',{staticClass:\"modal\",style:(_vm.styles)},[_vm._t(\"default\")],2)])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template>\n <div\n class=\"overlay\"\n @click.self=\"close\"\n >\n <div\n class=\"modal\"\n v-bind:style=\"styles\"\n >\n <slot></slot>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: \"\",\n props: {\n styles: {\n default: function () {\n return {\n width: '500px',\n height: '350px'\n }\n },\n type: Object\n }\n },\n data: () => ({\n\n }),\n methods: {\n close () {\n console.log('click close')\n this.$emit('close')\n }\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n.overlay{\n background-color: rgba(0,0,0,0.8);\n position:fixed;\n top:0; right:0; bottom:0; left:0;\n z-index:99999;\n}\n.modal{\n background-color:#fff;\n position:absolute;\n box-sizing:border;\n max-width:80vw;\n max-height:70vh;\n top:0; right:0; bottom:0; left:0;\n margin:auto;\n padding:1em;\n border-radius:3px;\n box-shadow:2px 2px;\n\n}\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=526ed56c&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=526ed56c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"526ed56c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"login-register\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t(_vm.header)))]),_vm._v(\" \"),_c('div',{staticClass:\"wrapper\"},[_c('section',{staticClass:\"login\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"default.Login\"))+\" \")]),_vm._v(\" \"),_c('LoginForm',{on:{\"onLogedIn\":_vm.onLogedIn}})],1),_vm._v(\" \"),_c('section',{staticClass:\"register\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"default.Register a new account\")))]),_vm._v(\" \"),_c('RegisterForm',{on:{\"onRegistered\":_vm.onRegistered}})],1)])])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<script>\n\nimport Vue from 'vue'\nimport { mapState, mapActions } from 'vuex'\nimport MA from 'vuejs/api/ma-axios'\n\nexport default {\n name: \"LoginForm\",\n data: () => ({\n form:null,\n mail:null,\n password:null\n }),\n computed: {\n ...mapState({\n loginMessage: state => state.User.loginMessage,\n })\n },\n methods: {\n ...mapActions({\n userLogin: 'User/userLogin'\n }),\n getLoginForm(){\n // Form through ajax is provided by materio_user drupal custom module\n // vuejs attributes a inserted by form alter in same module\n MA.get(`/materio_user/login_form`)\n .then(({data}) => {\n // console.log('getLoginForm data', data)\n this.form = Vue.compile(data.rendered)\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.form.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));\n })\n .catch((error) => {\n console.warn('Issue with getLoginForm', error)\n })\n },\n login () {\n this.userLogin({\n mail: this.mail,\n pass: this.password\n }).then( () => {\n console.log('logedin from login component')\n this.$emit('onLogedIn')\n }\n ).catch((error) => {\n console.warn('Issue with login from login component', error)\n Promise.reject(error)\n })\n }\n },\n beforeMount () {\n if (!this.form) {\n this.getLoginForm()\n }\n },\n mounted(){\n // console.log('LoginBlock mounted')\n Drupal.attachBehaviors(this.$el);\n },\n render(h) {\n // console.log('LoginBlock render')\n if (!this.form) {\n // console.log('LoginBlock render NAN')\n return h('span', this.$t('default.Loading…'))\n } else {\n // console.log('LoginBlock render template')\n return this.form.render.call(this)\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .form-item,\n .form-actions{\n display:inline-block;\n max-width:32%;\n margin:0;\n }\n input{\n box-sizing:border-box;\n max-width:100%;\n }\n div.description{\n display:none;\n }\n .form-item-persistent-login{\n display:none;\n }\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./LoginForm.vue?vue&type=script&lang=js\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginForm.vue?vue&type=style&index=0&id=53519c9f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"53519c9f\",\n null\n \n)\n\nexport default component.exports","<script>\n\nimport Vue from 'vue'\nimport { mapState, mapActions } from 'vuex'\nimport MA from 'vuejs/api/ma-axios'\n\nimport passwordStrength from 'check-password-strength'\n\nexport default {\n name: \"RegisterForm\",\n data: () => ({\n form: null,\n mail: null,\n pass1: null,\n pass2: null,\n ps: \"\"\n }),\n computed: {\n ...mapState({\n registerMessage: state => state.User.registerMessage,\n }),\n psswd_class: function(){\n return this.ps.toLowerCase()\n },\n can_register: function() {\n if (this.ps === \"Strong\") {\n return 'can-register'\n }\n return ''\n }\n },\n methods: {\n ...mapActions({\n userRegister: 'User/userRegister'\n }),\n getRegisterForm(){\n // Form through ajax is provided by materio_user drupal custom module\n // vuejs attributes a inserted by form alter in same module\n MA.get(`/materio_user/register_form`)\n .then(({data}) => {\n // console.log(\"getRegisterForm data\", data.rendered)\n this.form = Vue.compile(data.rendered)\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.form.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));\n this.initFormBehaviours()\n })\n .catch((error) => {\n console.warn('Issue with getRegisterForm', error)\n })\n },\n initFormBehaviours(){\n Drupal.attachBehaviors(this.$el)\n this.checkSubmitEnabled()\n },\n checkSubmitEnabled () {\n console.log(\"checkSubmitEnabled\", this)\n // debugger;\n if (this.$refs.register) {\n if (this.ps === 'Strong') {\n this.$refs.register.disabled = false\n } else {\n this.$refs.register.disabled = true\n }\n }\n \n },\n register () {\n console.log('register', this.mail, this.pass1, this.pass2)\n // TODO: check for identical password\n // TODO: check for valide email\n // TODO: check for unique email\n if (this.pass1 === this.pass2) {\n this.userRegister({\n name: this.mail,\n mail: this.mail,\n pass: this.pass1\n }).then( () => {\n console.log('registered from register component')\n this.$emit('onRegistered')\n }\n ).catch((error) => {\n console.warn('Issue with register from registerform component', error)\n Promise.reject(error)\n })\n\n }\n }\n },\n beforeMount () {\n if (!this.form) {\n this.getRegisterForm()\n }\n },\n mounted(){\n // console.log('LoginBlock mounted')\n if (this.form) {\n this.initForm()\n }\n },\n render(h) {\n // console.log('LoginBlock render')\n if (!this.form) {\n // console.log('LoginBlock render NAN')\n return h('span', this.$t('default.Loading…'))\n } else {\n // console.log('LoginBlock render template')\n return this.form.render.call(this)\n }\n },\n watch: {\n pass1: function(n, o){\n if (n) {\n this.ps = passwordStrength(n).value\n console.log('watch pass1 n', n, 'ps :', this.ps)\n this.checkSubmitEnabled()\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .form-type-email,\n .form-type-password-confirm{\n // display:inline-block;\n max-width:30%;\n margin:0;\n }\n .form-type-password input{\n &.weak {\n border-width: 2px;\n border-color: red!important;\n &:focus{\n outline:none;\n }\n }\n &.medium {\n border-width: 2px;\n border-color: orange!important;\n &:focus{\n outline:none;\n }\n }\n &.strong {\n border-width: 2px;\n border-color: green!important;\n &:focus{\n outline:none;\n }\n }\n }\n input{\n box-sizing:content-box;\n max-width:100%;\n }\n // input#edit-submit{\n //\n // }\n label,\n div.description{\n display:none;\n }\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterForm.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./RegisterForm.vue?vue&type=script&lang=js\"\nexport * from \"./RegisterForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./RegisterForm.vue?vue&type=style&index=0&id=5688f6c8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5688f6c8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginRegister.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginRegister.vue?vue&type=script&lang=js\"","<template>\n <div id=\"login-register\">\n <h2>{{ $t(header) }}</h2>\n <div class=\"wrapper\">\n <section class=\"login\">\n <h3>{{ $t(\"default.Login\") }} </h3>\n <LoginForm @onLogedIn=\"onLogedIn\" />\n </section>\n <section class=\"register\">\n <h3>{{ $t(\"default.Register a new account\") }}</h3>\n <RegisterForm @onRegistered=\"onRegistered\" />\n </section>\n </div>\n </div>\n</template>\n\n<script>\n\nimport { mapState, mapActions } from 'vuex'\nimport LoginForm from 'vuejs/components/Form/LoginForm'\nimport RegisterForm from 'vuejs/components/Form/RegisterForm'\n\nexport default {\n name: \"LoginRegister\",\n data: () => ({\n loginEmail:null,\n password:null,\n registerEmail:null\n }),\n props:{\n header: {\n type: String,\n default: 'materio.Please login or create a new account'\n }, \n callbackargs: Object, \n onLogedInBack: Function, \n onRegisteredBack: Function\n },\n methods: {\n ...mapActions({\n userLogin: 'User/userLogin',\n userRegister: 'User/userRegister'\n }),\n onLogedIn () {\n // this.$emit('onLogedIn', this.callbackargs)\n this.onLogedInBack(this.callbackargs)\n },\n onRegistered () {\n // this.$emit('onRegistered', this.callbackargs)\n this.onRegisteredBack(this.callbackargs)\n }\n },\n components: {\n LoginForm,\n RegisterForm\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\nfieldset{\n padding:0;\n margin:0;\n border:none;\n}\n\n</style>\n","import { render, staticRenderFns } from \"./LoginRegister.vue?vue&type=template&id=5c7cdbee&scoped=true\"\nimport script from \"./LoginRegister.vue?vue&type=script&lang=js\"\nexport * from \"./LoginRegister.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginRegister.vue?vue&type=style&index=0&id=5c7cdbee&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c7cdbee\",\n null\n \n)\n\nexport default component.exports","// https://forum.vuejs.org/t/how-to-use-helper-functions-for-imported-modules-in-vuejs-vue-template/6266/5\n\nimport REST from 'vuejs/api/rest-axios'\nimport Modal from 'vuejs/components/Helper/Modal'\nimport LoginRegister from 'vuejs/components/Helper/LoginRegister'\nimport { mapState } from 'vuex'\n\nexport default {\n components: {\n Modal,\n LoginRegister\n },\n computed: {\n ...mapState({\n isloggedin: state => state.User.isloggedin,\n isAdherent: state => state.User.isAdherent,\n csrftoken: state => state.User.csrftoken\n })\n },\n methods: {\n closeModal () {\n this.showLoginModal = false\n },\n checkaddtocart (e, variation_id) {\n console.log('checkaddtocart', e, variation_id, this.isloggedin)\n\n if (!this.isloggedin) {\n // show popup for login or register\n // login or register event will be catched by onLogedin or onRegistered\n // this.showLoginModal = variation_id\n this.showLoginModal(variation_id)\n } else {\n // if already logedin directly goes to cart operations\n this.addtocart(variation_id)\n }\n },\n showLoginModal (variation_id) {\n this.$modal.show(\n LoginRegister,\n // props\n {\n // item: this.item,\n header: 'materio.In order to be able to place your order, please log in or create your account',\n callbackargs: { variation_id: variation_id },\n // close: (variation_id) => { this.closeModal(variation_id) },\n onLogedInBack: (cba) => { this.onLogedIn(cba.variation_id) },\n onRegisteredBack: (cba) => { this.onRegistered(cba.variation_id) }\n // // not really an event\n // // more a callback function passed as prop to the component\n // addNoteId: (id) => {\n // // no needs to refresh the entire item via searchresults\n // // plus if we are in article, there is not searchresults\n // // this.refreshItem({id: this.item.id})\n // // instead create the note id directly\n // this.item.note = { id: id }\n // }\n },\n // settings\n {\n name: 'modal-loginregister',\n draggable: false,\n classes: 'vm--modale-loginregister',\n width: '550px',\n height: '400px'\n }\n )\n },\n // event bubbled from modal login form\n onLogedIn (variation_id) {\n console.log('Product: onLogedIn. variation_id', variation_id)\n this.addtocart(variation_id)\n },\n // event bubbled from modal register form\n onRegistered (variation_id) {\n console.log('Product: onRegistered. variation_id', variation_id)\n this.addtocart(variation_id)\n },\n getCarts () {\n // this is bugging on stage\n return REST.get('/cart?_format=json', {}, { 'X-CSRF-Token': this.csrftoken })\n // .then(({ data }) => {\n // console.log('current user carts: data', data)\n // })\n .catch((error) => {\n console.warn('Issue with get cart', error)\n Promise.reject(error)\n })\n },\n deleteCart (order_id) {\n console.log('deleting cart ', order_id)\n return REST.delete(`/cart/${order_id}/items?_format=json`)\n .then(({ data }) => {\n console.log(`product cart ${order_id} deleted: data`, data)\n })\n .catch((error) => {\n console.warn(`Issue with cart ${order_id} deleting`, error)\n Promise.reject(error)\n })\n },\n clearCarts (data) {\n const promises = []\n // clear each cart as a promise\n for (let i = 0; i < data.length; i++) {\n promises.push(this.deleteCart(data[i].order_id))\n }\n // return all the promises as one\n return Promise.all(promises)\n },\n addtocart (variation_id) {\n console.log('addtocart')\n\n // transition\n this.$modal.hide('modal-loginregister')\n document.getElementById('main-content').classList.add('loading')\n\n // handle the cart then redirect to checkout flow\n this.getCarts()\n .then(({ data }) => {\n console.log('current user carts: data', data)\n this.clearCarts(data)\n .then(() => {\n console.log('all carts cleared')\n // fill the cart with new product\n REST.post('/cart/add?_format=json', [{\n purchased_entity_type: 'commerce_product_variation',\n purchased_entity_id: variation_id,\n quantity: this.quantity\n }])\n .then(({ data }) => {\n console.log('product added to cart: data', data)\n this.closeModal()\n // redirect to /cart\n // window.location.href = \"/cart\"\n // redirect to checkout instead of cart\n window.location.href = `/checkout/${data[0].order_id}/order_information`\n })\n .catch((error) => {\n console.warn('Issue with product add to cart', error)\n document.getElementById('main-content').classList.remove('loading')\n Promise.reject(error)\n })\n })\n })\n }\n }\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ShowroomFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Showroom\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uuid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_showroomhome\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"height\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"width\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_showroomhome_url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"website\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"address\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additional_name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"address_line1\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"address_line2\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"administrative_area\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependent_locality\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"family_name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"given_name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"langcode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locality\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"organization\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postal_code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sorting_code\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":547}};\n doc.loc.source = {\"body\":\"fragment ShowroomFields on Showroom {\\n uuid\\n id\\n name\\n description\\n images {\\n alt\\n id\\n style_showroomhome {\\n height\\n url\\n width\\n }\\n style_showroomhome_url\\n url\\n }\\n website {\\n title\\n url\\n }\\n phone\\n email\\n country {\\n country_code\\n country_name\\n }\\n address {\\n additional_name\\n address_line1\\n address_line2\\n administrative_area\\n dependent_locality\\n country_code\\n family_name\\n given_name\\n langcode\\n locality\\n organization\\n postal_code\\n sorting_code\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ShowroomFields\"] = oneQuery(doc, \"ShowroomFields\");\n \n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNode = isNode;\nexports.Token = exports.Location = void 0;\n\nvar _defineInspect = _interopRequireDefault(require(\"../jsutils/defineInspect.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nvar Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\n\nexports.Location = Location;\n(0, _defineInspect.default)(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nvar Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\n\nexports.Token = Token;\n(0, _defineInspect.default)(Token);\n/**\n * @internal\n */\n\nfunction isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SlimSelect = factory());\n})(this, (function () { 'use strict';\n\n class CssClasses {\n constructor(classes) {\n if (!classes) {\n classes = {};\n }\n this.main = classes.main || 'ss-main';\n this.placeholder = classes.placeholder || 'ss-placeholder';\n this.values = classes.values || 'ss-values';\n this.single = classes.single || 'ss-single';\n this.max = classes.max || 'ss-max';\n this.value = classes.value || 'ss-value';\n this.valueText = classes.valueText || 'ss-value-text';\n this.valueDelete = classes.valueDelete || 'ss-value-delete';\n this.valueOut = classes.valueOut || 'ss-value-out';\n this.deselect = classes.deselect || 'ss-deselect';\n this.deselectPath = classes.deselectPath || 'M10,10 L90,90 M10,90 L90,10';\n this.arrow = classes.arrow || 'ss-arrow';\n this.arrowClose = classes.arrowClose || 'M10,30 L50,70 L90,30';\n this.arrowOpen = classes.arrowOpen || 'M10,70 L50,30 L90,70';\n this.content = classes.content || 'ss-content';\n this.openAbove = classes.openAbove || 'ss-open-above';\n this.openBelow = classes.openBelow || 'ss-open-below';\n this.search = classes.search || 'ss-search';\n this.searchHighlighter = classes.searchHighlighter || 'ss-search-highlight';\n this.searching = classes.searching || 'ss-searching';\n this.addable = classes.addable || 'ss-addable';\n this.addablePath = classes.addablePath || 'M50,10 L50,90 M10,50 L90,50';\n this.list = classes.list || 'ss-list';\n this.optgroup = classes.optgroup || 'ss-optgroup';\n this.optgroupLabel = classes.optgroupLabel || 'ss-optgroup-label';\n this.optgroupLabelText = classes.optgroupLabelText || 'ss-optgroup-label-text';\n this.optgroupActions = classes.optgroupActions || 'ss-optgroup-actions';\n this.optgroupSelectAll = classes.optgroupSelectAll || 'ss-selectall';\n this.optgroupSelectAllBox = classes.optgroupSelectAllBox || 'M60,10 L10,10 L10,90 L90,90 L90,50';\n this.optgroupSelectAllCheck = classes.optgroupSelectAllCheck || 'M30,45 L50,70 L90,10';\n this.optgroupClosable = classes.optgroupClosable || 'ss-closable';\n this.option = classes.option || 'ss-option';\n this.optionDelete = classes.optionDelete || 'M10,10 L90,90 M10,90 L90,10';\n this.highlighted = classes.highlighted || 'ss-highlighted';\n this.open = classes.open || 'ss-open';\n this.close = classes.close || 'ss-close';\n this.selected = classes.selected || 'ss-selected';\n this.error = classes.error || 'ss-error';\n this.disabled = classes.disabled || 'ss-disabled';\n this.hide = classes.hide || 'ss-hide';\n }\n }\n\n function generateID() {\n return Math.random().toString(36).substring(2, 10);\n }\n function hasClassInTree(element, className) {\n function hasClass(e, c) {\n if (c && e && e.classList && e.classList.contains(c)) {\n return e;\n }\n if (c && e && e.dataset && e.dataset.id && e.dataset.id === className) {\n return e;\n }\n return null;\n }\n function parentByClass(e, c) {\n if (!e || e === document) {\n return null;\n }\n else if (hasClass(e, c)) {\n return e;\n }\n else {\n return parentByClass(e.parentNode, c);\n }\n }\n return hasClass(element, className) || parentByClass(element, className);\n }\n function debounce(func, wait = 50, immediate = false) {\n let timeout;\n return function (...args) {\n const context = self;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n function isEqual(a, b) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function kebabCase(str) {\n const result = str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match) => '-' + match.toLowerCase());\n return str[0] === str[0].toUpperCase() ? result.substring(1) : result;\n }\n\n class Optgroup {\n constructor(optgroup) {\n this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;\n this.label = optgroup.label || '';\n this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;\n this.selectAllText = optgroup.selectAllText || 'Select All';\n this.closable = optgroup.closable || 'off';\n this.options = [];\n if (optgroup.options) {\n for (const o of optgroup.options) {\n this.options.push(new Option(o));\n }\n }\n }\n }\n class Option {\n constructor(option) {\n this.id = !option.id || option.id === '' ? generateID() : option.id;\n this.value = option.value === undefined ? option.text : option.value;\n this.text = option.text || '';\n this.html = option.html || '';\n this.selected = option.selected !== undefined ? option.selected : false;\n this.display = option.display !== undefined ? option.display : true;\n this.disabled = option.disabled !== undefined ? option.disabled : false;\n this.mandatory = option.mandatory !== undefined ? option.mandatory : false;\n this.placeholder = option.placeholder !== undefined ? option.placeholder : false;\n this.class = option.class || '';\n this.style = option.style || '';\n this.data = option.data || {};\n }\n }\n class Store {\n constructor(type, data) {\n this.selectType = 'single';\n this.data = [];\n this.selectedOrder = [];\n this.selectType = type;\n this.setData(data);\n }\n validateDataArray(data) {\n if (!Array.isArray(data)) {\n return new Error('Data must be an array');\n }\n for (let dataObj of data) {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n if (!('label' in dataObj)) {\n return new Error('Optgroup must have a label');\n }\n if ('options' in dataObj && dataObj.options) {\n for (let option of dataObj.options) {\n const validationError = this.validateOption(option);\n if (validationError) {\n return validationError;\n }\n }\n }\n }\n else if (dataObj instanceof Option || 'text' in dataObj) {\n const validationError = this.validateOption(dataObj);\n if (validationError) {\n return validationError;\n }\n }\n else {\n return new Error('Data object must be a valid optgroup or option');\n }\n }\n return null;\n }\n validateOption(option) {\n if (!('text' in option)) {\n return new Error('Option must have a text');\n }\n return null;\n }\n partialToFullData(data) {\n let dataFinal = [];\n data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n let optOptions = [];\n if ('options' in dataObj && dataObj.options) {\n dataObj.options.forEach((option) => {\n optOptions.push(new Option(option));\n });\n }\n if (optOptions.length > 0) {\n dataFinal.push(new Optgroup(dataObj));\n }\n }\n if (dataObj instanceof Option || 'text' in dataObj) {\n dataFinal.push(new Option(dataObj));\n }\n });\n return dataFinal;\n }\n setData(data) {\n this.data = this.partialToFullData(data);\n if (this.selectType === 'single') {\n this.setSelectedBy('id', this.getSelected());\n }\n }\n getData() {\n return this.filter(null, true);\n }\n getDataOptions() {\n return this.filter(null, false);\n }\n addOption(option, addToStart = false) {\n if (addToStart) {\n let data = [new Option(option)];\n this.setData(data.concat(this.getData()));\n }\n else {\n this.setData(this.getData().concat(new Option(option)));\n }\n }\n setSelectedBy(selectedType, selectedValues) {\n let firstOption = null;\n let hasSelected = false;\n const selectedObjects = [];\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n for (let option of dataObj.options) {\n if (!firstOption) {\n firstOption = option;\n }\n option.selected = hasSelected ? false : selectedValues.includes(option[selectedType]);\n if (option.selected) {\n selectedObjects.push(option);\n if (this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n }\n if (dataObj instanceof Option) {\n if (!firstOption) {\n firstOption = dataObj;\n }\n dataObj.selected = hasSelected ? false : selectedValues.includes(dataObj[selectedType]);\n if (dataObj.selected) {\n selectedObjects.push(dataObj);\n if (this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n }\n if (this.selectType === 'single' && firstOption && !hasSelected) {\n firstOption.selected = true;\n selectedObjects.push(firstOption);\n }\n const selectedIds = selectedValues.map((value) => {\n var _a;\n return ((_a = selectedObjects.find((option) => option[selectedType] === value)) === null || _a === void 0 ? void 0 : _a.id) || '';\n });\n this.selectedOrder = selectedIds;\n }\n getSelected() {\n return this.getSelectedOptions().map((option) => option.id);\n }\n getSelectedValues() {\n return this.getSelectedOptions().map((option) => option.value);\n }\n getSelectedOptions() {\n return this.filter((opt) => {\n return opt.selected;\n }, false);\n }\n getOptgroupByID(id) {\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup && dataObj.id === id) {\n return dataObj;\n }\n }\n return null;\n }\n getOptionByID(id) {\n let options = this.filter((opt) => {\n return opt.id === id;\n }, false);\n return options.length ? options[0] : null;\n }\n getSelectType() {\n return this.selectType;\n }\n getFirstOption() {\n let option = null;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n option = dataObj.options[0];\n }\n else if (dataObj instanceof Option) {\n option = dataObj;\n }\n if (option) {\n break;\n }\n }\n return option;\n }\n search(search, searchFilter) {\n search = search.trim();\n if (search === '') {\n return this.getData();\n }\n return this.filter((opt) => {\n return searchFilter(opt, search);\n }, true);\n }\n filter(filter, includeOptgroup) {\n const dataSearch = [];\n this.data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup) {\n let optOptions = [];\n dataObj.options.forEach((option) => {\n if (!filter || filter(option)) {\n if (!includeOptgroup) {\n dataSearch.push(new Option(option));\n }\n else {\n optOptions.push(new Option(option));\n }\n }\n });\n if (optOptions.length > 0) {\n let optgroup = new Optgroup(dataObj);\n optgroup.options = optOptions;\n dataSearch.push(optgroup);\n }\n }\n if (dataObj instanceof Option) {\n if (!filter || filter(dataObj)) {\n dataSearch.push(new Option(dataObj));\n }\n }\n });\n return dataSearch;\n }\n selectedOrderOptions(options) {\n const newOrder = [];\n this.selectedOrder.forEach((id) => {\n const option = options.find((opt) => opt.id === id);\n if (option) {\n newOrder.push(option);\n }\n });\n options.forEach((option) => {\n let isIn = false;\n newOrder.forEach((selectedOption) => {\n if (option.id === selectedOption.id) {\n isIn = true;\n return;\n }\n });\n if (!isIn) {\n newOrder.push(option);\n }\n });\n return newOrder;\n }\n }\n\n class Render {\n constructor(settings, classes, store, callbacks) {\n this.store = store;\n this.settings = settings;\n this.classes = classes;\n this.callbacks = callbacks;\n this.main = this.mainDiv();\n this.content = this.contentDiv();\n this.updateClassStyles();\n this.updateAriaAttributes();\n if (this.settings.contentLocation) {\n this.settings.contentLocation.appendChild(this.content.main);\n }\n }\n enable() {\n this.main.main.classList.remove(this.classes.disabled);\n this.content.search.input.disabled = false;\n }\n disable() {\n this.main.main.classList.add(this.classes.disabled);\n this.content.search.input.disabled = true;\n }\n open() {\n this.main.arrow.path.setAttribute('d', this.classes.arrowOpen);\n this.main.main.classList.add(this.settings.openPosition === 'up' ? this.classes.openAbove : this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'true');\n this.moveContent();\n const selectedOptions = this.store.getSelectedOptions();\n if (selectedOptions.length) {\n const selectedId = selectedOptions[selectedOptions.length - 1].id;\n const selectedOption = this.content.list.querySelector('[data-id=\"' + selectedId + '\"]');\n if (selectedOption) {\n this.ensureElementInView(this.content.list, selectedOption);\n }\n }\n }\n close() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.main.arrow.path.setAttribute('d', this.classes.arrowClose);\n }\n updateClassStyles() {\n this.main.main.className = '';\n this.main.main.removeAttribute('style');\n this.content.main.className = '';\n this.content.main.removeAttribute('style');\n this.main.main.classList.add(this.classes.main);\n this.content.main.classList.add(this.classes.content);\n if (this.settings.style !== '') {\n this.main.main.style.cssText = this.settings.style;\n this.content.main.style.cssText = this.settings.style;\n }\n if (this.settings.class.length) {\n for (const c of this.settings.class) {\n if (c.trim() !== '') {\n this.main.main.classList.add(c.trim());\n this.content.main.classList.add(c.trim());\n }\n }\n }\n if (this.settings.contentPosition === 'relative' || this.settings.contentPosition === 'fixed') {\n this.content.main.classList.add('ss-' + this.settings.contentPosition);\n }\n }\n updateAriaAttributes() {\n this.main.main.role = 'combobox';\n this.main.main.setAttribute('aria-haspopup', 'listbox');\n this.main.main.setAttribute('aria-controls', this.content.main.id);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.setAttribute('role', 'listbox');\n }\n mainDiv() {\n var _a;\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n main.setAttribute('aria-label', this.settings.ariaLabel);\n main.tabIndex = 0;\n main.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n this.callbacks.open();\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Enter':\n case ' ':\n this.callbacks.open();\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n }\n return false;\n case 'Escape':\n this.callbacks.close();\n return false;\n }\n if (e.key.length === 1) {\n this.callbacks.open();\n }\n return true;\n };\n main.onclick = (e) => {\n if (this.settings.disabled) {\n return;\n }\n this.settings.isOpen ? this.callbacks.close() : this.callbacks.open();\n };\n const values = document.createElement('div');\n values.classList.add(this.classes.values);\n main.appendChild(values);\n const deselect = document.createElement('div');\n deselect.classList.add(this.classes.deselect);\n const selectedOptions = (_a = this.store) === null || _a === void 0 ? void 0 : _a.getSelectedOptions();\n if (!this.settings.allowDeselect || (this.settings.isMultiple && selectedOptions && selectedOptions.length <= 0)) {\n deselect.classList.add(this.classes.hide);\n }\n else {\n deselect.classList.remove(this.classes.hide);\n }\n deselect.onclick = (e) => {\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = [];\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n if (this.settings.isMultiple) {\n this.callbacks.setSelected([], false);\n this.updateDeselectAll();\n }\n else {\n const firstOption = this.store.getFirstOption();\n const id = firstOption ? firstOption.id : '';\n this.callbacks.setSelected(id, false);\n }\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(this.store.getSelectedOptions());\n }\n }\n };\n const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deselectSvg.setAttribute('viewBox', '0 0 100 100');\n const deselectPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deselectPath.setAttribute('d', this.classes.deselectPath);\n deselectSvg.appendChild(deselectPath);\n deselect.appendChild(deselectSvg);\n main.appendChild(deselect);\n const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n arrow.classList.add(this.classes.arrow);\n arrow.setAttribute('viewBox', '0 0 100 100');\n const arrowPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n arrowPath.setAttribute('d', this.classes.arrowClose);\n if (this.settings.alwaysOpen) {\n arrow.classList.add(this.classes.hide);\n }\n arrow.appendChild(arrowPath);\n main.appendChild(arrow);\n return {\n main: main,\n values: values,\n deselect: {\n main: deselect,\n svg: deselectSvg,\n path: deselectPath\n },\n arrow: {\n main: arrow,\n path: arrowPath\n }\n };\n }\n mainFocus(eventType) {\n if (eventType !== 'click') {\n this.main.main.focus({ preventScroll: true });\n }\n }\n placeholder() {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n let placeholderText = this.settings.placeholderText;\n if (placeholderOption.length) {\n if (placeholderOption[0].html !== '') {\n placeholderText = placeholderOption[0].html;\n }\n else if (placeholderOption[0].text !== '') {\n placeholderText = placeholderOption[0].text;\n }\n }\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.placeholder);\n placeholder.innerHTML = placeholderText;\n return placeholder;\n }\n renderValues() {\n if (!this.settings.isMultiple) {\n this.renderSingleValue();\n return;\n }\n this.renderMultipleValues();\n this.updateDeselectAll();\n }\n renderSingleValue() {\n const selected = this.store.filter((o) => {\n return o.selected && !o.placeholder;\n }, false);\n const selectedSingle = selected.length > 0 ? selected[0] : null;\n if (!selectedSingle) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n }\n else {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.single);\n if (selectedSingle.html) {\n singleValue.innerHTML = selectedSingle.html;\n }\n else {\n singleValue.innerText = selectedSingle.text;\n }\n this.main.values.innerHTML = singleValue.outerHTML;\n }\n if (!this.settings.allowDeselect || !selected.length) {\n this.main.deselect.main.classList.add(this.classes.hide);\n }\n else {\n this.main.deselect.main.classList.remove(this.classes.hide);\n }\n }\n renderMultipleValues() {\n let currentNodes = this.main.values.childNodes;\n let selectedOptions = this.store.filter((opt) => {\n return opt.selected && opt.display;\n }, false);\n if (selectedOptions.length === 0) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n return;\n }\n else {\n const placeholder = this.main.values.querySelector('.' + this.classes.placeholder);\n if (placeholder) {\n placeholder.remove();\n }\n }\n if (selectedOptions.length > this.settings.maxValuesShown) {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.max);\n singleValue.textContent = this.settings.maxValuesMessage.replace('{number}', selectedOptions.length.toString());\n this.main.values.innerHTML = singleValue.outerHTML;\n return;\n }\n else {\n const maxValuesMessage = this.main.values.querySelector('.' + this.classes.max);\n if (maxValuesMessage) {\n maxValuesMessage.remove();\n }\n }\n if (this.settings.keepOrder) {\n selectedOptions = this.store.selectedOrderOptions(selectedOptions);\n }\n let removeNodes = [];\n for (let i = 0; i < currentNodes.length; i++) {\n const node = currentNodes[i];\n const id = node.getAttribute('data-id');\n if (id) {\n const found = selectedOptions.filter((opt) => {\n return opt.id === id;\n }, false);\n if (!found.length) {\n removeNodes.push(node);\n }\n }\n }\n for (const n of removeNodes) {\n n.classList.add(this.classes.valueOut);\n setTimeout(() => {\n if (this.main.values.hasChildNodes() && this.main.values.contains(n)) {\n this.main.values.removeChild(n);\n }\n }, 100);\n }\n currentNodes = this.main.values.childNodes;\n for (let d = 0; d < selectedOptions.length; d++) {\n let shouldAdd = true;\n for (let i = 0; i < currentNodes.length; i++) {\n if (selectedOptions[d].id === String(currentNodes[i].dataset.id)) {\n shouldAdd = false;\n }\n }\n if (shouldAdd) {\n if (this.settings.keepOrder) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else {\n if (currentNodes.length === 0) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else if (d === 0) {\n this.main.values.insertBefore(this.multipleValue(selectedOptions[d]), currentNodes[d]);\n }\n else {\n currentNodes[d - 1].insertAdjacentElement('afterend', this.multipleValue(selectedOptions[d]));\n }\n }\n }\n }\n }\n multipleValue(option) {\n const value = document.createElement('div');\n value.classList.add(this.classes.value);\n value.dataset.id = option.id;\n const text = document.createElement('div');\n text.classList.add(this.classes.valueText);\n text.textContent = option.text;\n value.appendChild(text);\n if (!option.mandatory) {\n const deleteDiv = document.createElement('div');\n deleteDiv.classList.add(this.classes.valueDelete);\n deleteDiv.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = before.filter((o) => {\n return o.selected && o.id !== option.id;\n }, true);\n if (this.settings.minSelected && after.length < this.settings.minSelected) {\n return;\n }\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n let selectedIds = [];\n for (const o of after) {\n if (o instanceof Optgroup) {\n for (const c of o.options) {\n selectedIds.push(c.id);\n }\n }\n if (o instanceof Option) {\n selectedIds.push(o.id);\n }\n }\n this.callbacks.setSelected(selectedIds, false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n this.updateDeselectAll();\n }\n };\n const deleteSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deleteSvg.setAttribute('viewBox', '0 0 100 100');\n const deletePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deletePath.setAttribute('d', this.classes.optionDelete);\n deleteSvg.appendChild(deletePath);\n deleteDiv.appendChild(deleteSvg);\n value.appendChild(deleteDiv);\n }\n return value;\n }\n contentDiv() {\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n const search = this.searchDiv();\n main.appendChild(search.main);\n const list = this.listDiv();\n main.appendChild(list);\n return {\n main: main,\n search: search,\n list: list\n };\n }\n moveContent() {\n if (this.settings.contentPosition === 'relative') {\n this.moveContentBelow();\n return;\n }\n if (this.settings.openPosition === 'down') {\n this.moveContentBelow();\n return;\n }\n else if (this.settings.openPosition === 'up') {\n this.moveContentAbove();\n return;\n }\n if (this.putContent() === 'up') {\n this.moveContentAbove();\n }\n else {\n this.moveContentBelow();\n }\n }\n searchDiv() {\n const main = document.createElement('div');\n const input = document.createElement('input');\n const addable = document.createElement('div');\n main.classList.add(this.classes.search);\n const searchReturn = {\n main,\n input\n };\n if (!this.settings.showSearch) {\n main.classList.add(this.classes.hide);\n input.readOnly = true;\n }\n input.type = 'search';\n input.placeholder = this.settings.searchPlaceholder;\n input.tabIndex = -1;\n input.setAttribute('aria-label', this.settings.searchPlaceholder);\n input.setAttribute('autocapitalize', 'off');\n input.setAttribute('autocomplete', 'off');\n input.setAttribute('autocorrect', 'off');\n input.oninput = debounce((e) => {\n this.callbacks.search(e.target.value);\n }, 100);\n input.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Escape':\n this.callbacks.close();\n return false;\n case ' ':\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n return true;\n case 'Enter':\n if (this.callbacks.addable) {\n addable.click();\n return false;\n }\n else {\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n }\n return true;\n }\n return true;\n };\n main.appendChild(input);\n if (this.callbacks.addable) {\n addable.classList.add(this.classes.addable);\n const plus = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n plus.setAttribute('viewBox', '0 0 100 100');\n const plusPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n plusPath.setAttribute('d', this.classes.addablePath);\n plus.appendChild(plusPath);\n addable.appendChild(plus);\n addable.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.callbacks.addable) {\n return;\n }\n const inputValue = this.content.search.input.value.trim();\n if (inputValue === '') {\n this.content.search.input.focus();\n return;\n }\n const runFinish = (oo) => {\n let newOption = new Option(oo);\n this.callbacks.addOption(newOption);\n if (this.settings.isMultiple) {\n let ids = this.store.getSelected();\n ids.push(newOption.id);\n this.callbacks.setSelected(ids, true);\n }\n else {\n this.callbacks.setSelected([newOption.id], true);\n }\n this.callbacks.search('');\n if (this.settings.closeOnSelect) {\n setTimeout(() => {\n this.callbacks.close();\n }, 100);\n }\n };\n const addableValue = this.callbacks.addable(inputValue);\n if (addableValue === false || addableValue === undefined || addableValue === null) {\n return;\n }\n if (addableValue instanceof Promise) {\n addableValue.then((value) => {\n if (typeof value === 'string') {\n runFinish({\n text: value,\n value: value\n });\n }\n else if (addableValue instanceof Error) {\n this.renderError(addableValue.message);\n }\n else {\n runFinish(value);\n }\n });\n }\n else if (typeof addableValue === 'string') {\n runFinish({\n text: addableValue,\n value: addableValue\n });\n }\n else if (addableValue instanceof Error) {\n this.renderError(addableValue.message);\n }\n else {\n runFinish(addableValue);\n }\n return;\n };\n main.appendChild(addable);\n searchReturn.addable = {\n main: addable,\n svg: plus,\n path: plusPath\n };\n }\n return searchReturn;\n }\n searchFocus() {\n this.content.search.input.focus();\n }\n getOptions(notPlaceholder = false, notDisabled = false, notHidden = false) {\n let query = '.' + this.classes.option;\n if (notPlaceholder) {\n query += ':not(.' + this.classes.placeholder + ')';\n }\n if (notDisabled) {\n query += ':not(.' + this.classes.disabled + ')';\n }\n if (notHidden) {\n query += ':not(.' + this.classes.hide + ')';\n }\n return Array.from(this.content.list.querySelectorAll(query));\n }\n highlight(dir) {\n const options = this.getOptions(true, true, true);\n if (options.length === 0) {\n return;\n }\n if (options.length === 1) {\n if (!options[0].classList.contains(this.classes.highlighted)) {\n options[0].classList.add(this.classes.highlighted);\n return;\n }\n }\n let highlighted = false;\n for (const o of options) {\n if (o.classList.contains(this.classes.highlighted)) {\n highlighted = true;\n }\n }\n if (!highlighted) {\n for (const o of options) {\n if (o.classList.contains(this.classes.selected)) {\n o.classList.add(this.classes.highlighted);\n break;\n }\n }\n }\n for (let i = 0; i < options.length; i++) {\n if (options[i].classList.contains(this.classes.highlighted)) {\n const prevOption = options[i];\n prevOption.classList.remove(this.classes.highlighted);\n const prevParent = prevOption.parentElement;\n if (prevParent && prevParent.classList.contains(this.classes.open)) {\n const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];\n selectOption.classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, selectOption);\n const selectParent = selectOption.parentElement;\n if (selectParent && selectParent.classList.contains(this.classes.close)) {\n const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n return;\n }\n }\n options[dir === 'down' ? 0 : options.length - 1].classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, options[dir === 'down' ? 0 : options.length - 1]);\n }\n listDiv() {\n const options = document.createElement('div');\n options.classList.add(this.classes.list);\n return options;\n }\n renderError(error) {\n this.content.list.innerHTML = '';\n const errorDiv = document.createElement('div');\n errorDiv.classList.add(this.classes.error);\n errorDiv.textContent = error;\n this.content.list.appendChild(errorDiv);\n }\n renderSearching() {\n this.content.list.innerHTML = '';\n const searchingDiv = document.createElement('div');\n searchingDiv.classList.add(this.classes.searching);\n searchingDiv.textContent = this.settings.searchingText;\n this.content.list.appendChild(searchingDiv);\n }\n renderOptions(data) {\n this.content.list.innerHTML = '';\n if (data.length === 0) {\n const noResults = document.createElement('div');\n noResults.classList.add(this.classes.search);\n if (this.callbacks.addable) {\n noResults.innerHTML = this.settings.addableText.replace('{value}', this.content.search.input.value);\n }\n else {\n noResults.innerHTML = this.settings.searchText;\n }\n this.content.list.appendChild(noResults);\n return;\n }\n if (this.settings.allowDeselect && !this.settings.isMultiple) {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n if (!placeholderOption.length) {\n this.store.addOption(new Option({\n text: '',\n value: '',\n selected: false,\n placeholder: true\n }), true);\n }\n }\n for (const d of data) {\n if (d instanceof Optgroup) {\n const optgroupEl = document.createElement('div');\n optgroupEl.classList.add(this.classes.optgroup);\n const optgroupLabel = document.createElement('div');\n optgroupLabel.classList.add(this.classes.optgroupLabel);\n optgroupEl.appendChild(optgroupLabel);\n const optgroupLabelText = document.createElement('div');\n optgroupLabelText.classList.add(this.classes.optgroupLabelText);\n optgroupLabelText.textContent = d.label;\n optgroupLabel.appendChild(optgroupLabelText);\n const optgroupActions = document.createElement('div');\n optgroupActions.classList.add(this.classes.optgroupActions);\n optgroupLabel.appendChild(optgroupActions);\n if (this.settings.isMultiple && d.selectAll) {\n const selectAll = document.createElement('div');\n selectAll.classList.add(this.classes.optgroupSelectAll);\n let allSelected = true;\n for (const o of d.options) {\n if (!o.selected) {\n allSelected = false;\n break;\n }\n }\n if (allSelected) {\n selectAll.classList.add(this.classes.selected);\n }\n const selectAllText = document.createElement('span');\n selectAllText.textContent = d.selectAllText;\n selectAll.appendChild(selectAllText);\n const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n selectAllSvg.setAttribute('viewBox', '0 0 100 100');\n selectAll.appendChild(selectAllSvg);\n const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);\n selectAllSvg.appendChild(selectAllBox);\n const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);\n selectAllSvg.appendChild(selectAllCheck);\n selectAll.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const currentSelected = this.store.getSelected();\n if (allSelected) {\n const newSelected = currentSelected.filter((s) => {\n for (const o of d.options) {\n if (s === o.id) {\n return false;\n }\n }\n return true;\n });\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n else {\n const newSelected = currentSelected.concat(d.options.map((o) => o.id));\n for (const o of d.options) {\n if (!this.store.getOptionByID(o.id)) {\n this.callbacks.addOption(o);\n }\n }\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n });\n optgroupActions.appendChild(selectAll);\n }\n if (d.closable !== 'off') {\n const optgroupClosable = document.createElement('div');\n optgroupClosable.classList.add(this.classes.optgroupClosable);\n const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');\n optgroupClosableSvg.classList.add(this.classes.arrow);\n optgroupClosable.appendChild(optgroupClosableSvg);\n const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n optgroupClosableSvg.appendChild(optgroupClosableArrow);\n if (d.options.some((o) => o.selected) || this.content.search.input.value.trim() !== '') {\n optgroupClosable.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'open') {\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'close') {\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n optgroupLabel.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (optgroupEl.classList.contains(this.classes.close)) {\n optgroupEl.classList.remove(this.classes.close);\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else {\n optgroupEl.classList.remove(this.classes.open);\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n });\n optgroupActions.appendChild(optgroupClosable);\n }\n optgroupEl.appendChild(optgroupLabel);\n for (const o of d.options) {\n optgroupEl.appendChild(this.option(o));\n }\n this.content.list.appendChild(optgroupEl);\n }\n if (d instanceof Option) {\n this.content.list.appendChild(this.option(d));\n }\n }\n }\n option(option) {\n if (option.placeholder) {\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.option);\n placeholder.classList.add(this.classes.hide);\n return placeholder;\n }\n const optionEl = document.createElement('div');\n optionEl.dataset.id = option.id;\n optionEl.classList.add(this.classes.option);\n optionEl.setAttribute('role', 'option');\n if (option.class) {\n option.class.split(' ').forEach((dataClass) => {\n optionEl.classList.add(dataClass);\n });\n }\n if (option.style) {\n optionEl.style.cssText = option.style;\n }\n if (this.settings.searchHighlight && this.content.search.input.value.trim() !== '') {\n optionEl.innerHTML = this.highlightText(option.html !== '' ? option.html : option.text, this.content.search.input.value, this.classes.searchHighlighter);\n }\n else if (option.html !== '') {\n optionEl.innerHTML = option.html;\n }\n else {\n optionEl.textContent = option.text;\n }\n if (this.settings.showOptionTooltips && optionEl.textContent) {\n optionEl.setAttribute('title', optionEl.textContent);\n }\n if (!option.display) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.disabled) {\n optionEl.classList.add(this.classes.disabled);\n }\n if (option.selected && this.settings.hideSelected) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.selected) {\n optionEl.classList.add(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'true');\n this.main.main.setAttribute('aria-activedescendant', optionEl.id);\n }\n else {\n optionEl.classList.remove(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'false');\n }\n optionEl.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const selectedOptions = this.store.getSelected();\n const element = e.currentTarget;\n const elementID = String(element.dataset.id);\n if (option.disabled || (option.selected && !this.settings.allowDeselect)) {\n return;\n }\n if ((this.settings.isMultiple && this.settings.maxSelected <= selectedOptions.length && !option.selected) ||\n (this.settings.isMultiple && this.settings.minSelected >= selectedOptions.length && option.selected)) {\n return;\n }\n let shouldUpdate = false;\n const before = this.store.getSelectedOptions();\n let after = [];\n if (this.settings.isMultiple) {\n if (option.selected) {\n after = before.filter((o) => o.id !== elementID);\n }\n else {\n after = before.concat(option);\n }\n }\n if (!this.settings.isMultiple) {\n if (option.selected) {\n after = [];\n }\n else {\n after = [option];\n }\n }\n if (!this.callbacks.beforeChange) {\n shouldUpdate = true;\n }\n if (this.callbacks.beforeChange) {\n if (this.callbacks.beforeChange(after, before) === false) {\n shouldUpdate = false;\n }\n else {\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n if (!this.store.getOptionByID(elementID)) {\n this.callbacks.addOption(option);\n }\n this.callbacks.setSelected(after.map((o) => o.id), false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n }\n });\n return optionEl;\n }\n destroy() {\n this.main.main.remove();\n this.content.main.remove();\n }\n highlightText(str, search, className) {\n let completedString = str;\n const regex = new RegExp('(?![^<]*>)(' + search.trim() + ')(?![^<]*>[^<>]*</)', 'i');\n if (!str.match(regex)) {\n return str;\n }\n const matchStartPosition = str.match(regex).index;\n const matchEndPosition = matchStartPosition + str.match(regex)[0].toString().length;\n const originalTextFoundByRegex = str.substring(matchStartPosition, matchEndPosition);\n completedString = completedString.replace(regex, `<mark class=\"${className}\">${originalTextFoundByRegex}</mark>`);\n return completedString;\n }\n moveContentAbove() {\n const mainHeight = this.main.main.offsetHeight;\n const contentHeight = this.content.main.offsetHeight;\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.classList.add(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.content.main.classList.add(this.classes.openAbove);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-' + (mainHeight + contentHeight - 1) + 'px 0px 0px 0px';\n this.content.main.style.top =\n containerRect.top + containerRect.height + (this.settings.contentPosition === 'fixed' ? 0 : window.scrollY) + 'px';\n this.content.main.style.left =\n containerRect.left + (this.settings.contentPosition === 'fixed' ? 0 : window.scrollX) + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n moveContentBelow() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.add(this.classes.openBelow);\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.add(this.classes.openBelow);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-1px 0px 0px 0px';\n if (this.settings.contentPosition !== 'relative') {\n this.content.main.style.top =\n containerRect.top +\n containerRect.height +\n (this.settings.contentPosition === 'fixed' ? 0 : window.scrollY) +\n 'px';\n this.content.main.style.left =\n containerRect.left + (this.settings.contentPosition === 'fixed' ? 0 : window.scrollX) + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n }\n ensureElementInView(container, element) {\n const cTop = container.scrollTop + container.offsetTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n if (eTop < cTop) {\n container.scrollTop -= cTop - eTop;\n }\n else if (eBottom > cBottom) {\n container.scrollTop += eBottom - cBottom;\n }\n }\n putContent() {\n const mainHeight = this.main.main.offsetHeight;\n const mainRect = this.main.main.getBoundingClientRect();\n const contentHeight = this.content.main.offsetHeight;\n const spaceBelow = window.innerHeight - (mainRect.top + mainHeight);\n if (spaceBelow <= contentHeight) {\n if (mainRect.top > contentHeight) {\n return 'up';\n }\n else {\n return 'down';\n }\n }\n return 'down';\n }\n updateDeselectAll() {\n if (!this.store || !this.settings) {\n return;\n }\n const selected = this.store.getSelectedOptions();\n const hasSelectedItems = selected && selected.length > 0;\n const isMultiple = this.settings.isMultiple;\n const allowDeselect = this.settings.allowDeselect;\n const deselectButton = this.main.deselect.main;\n const hideClass = this.classes.hide;\n if (allowDeselect && !(isMultiple && !hasSelectedItems)) {\n deselectButton.classList.remove(hideClass);\n }\n else {\n deselectButton.classList.add(hideClass);\n }\n }\n }\n\n class Select {\n constructor(select) {\n this.listen = false;\n this.observer = null;\n this.select = select;\n this.valueChange = this.valueChange.bind(this);\n this.select.addEventListener('change', this.valueChange, {\n passive: true\n });\n this.observer = new MutationObserver(this.observeCall.bind(this));\n this.changeListen(true);\n }\n enable() {\n this.select.disabled = false;\n }\n disable() {\n this.select.disabled = true;\n }\n hideUI() {\n this.select.tabIndex = -1;\n this.select.style.display = 'none';\n this.select.setAttribute('aria-hidden', 'true');\n }\n showUI() {\n this.select.removeAttribute('tabindex');\n this.select.style.display = '';\n this.select.removeAttribute('aria-hidden');\n }\n changeListen(listen) {\n this.listen = listen;\n if (listen) {\n if (this.observer) {\n this.observer.observe(this.select, {\n subtree: true,\n childList: true,\n attributes: true\n });\n }\n }\n if (!listen) {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n }\n valueChange(ev) {\n if (this.listen && this.onValueChange) {\n this.onValueChange(this.getSelectedOptions());\n }\n return true;\n }\n observeCall(mutations) {\n if (!this.listen) {\n return;\n }\n let classChanged = false;\n let disabledChanged = false;\n let optgroupOptionChanged = false;\n for (const m of mutations) {\n if (m.target === this.select) {\n if (m.attributeName === 'disabled') {\n disabledChanged = true;\n }\n if (m.attributeName === 'class') {\n classChanged = true;\n }\n if (m.type === 'childList') {\n for (const n of m.addedNodes) {\n if (n.nodeName === 'OPTION' && n.value === this.select.value) {\n this.select.dispatchEvent(new Event('change'));\n break;\n }\n }\n optgroupOptionChanged = true;\n }\n }\n if (m.target.nodeName === 'OPTGROUP' || m.target.nodeName === 'OPTION') {\n optgroupOptionChanged = true;\n }\n }\n if (classChanged && this.onClassChange) {\n this.onClassChange(this.select.className.split(' '));\n }\n if (disabledChanged && this.onDisabledChange) {\n this.changeListen(false);\n this.onDisabledChange(this.select.disabled);\n this.changeListen(true);\n }\n if (optgroupOptionChanged && this.onOptionsChange) {\n this.changeListen(false);\n this.onOptionsChange(this.getData());\n this.changeListen(true);\n }\n }\n getData() {\n let data = [];\n const nodes = this.select.childNodes;\n for (const n of nodes) {\n if (n.nodeName === 'OPTGROUP') {\n data.push(this.getDataFromOptgroup(n));\n }\n if (n.nodeName === 'OPTION') {\n data.push(this.getDataFromOption(n));\n }\n }\n return data;\n }\n getDataFromOptgroup(optgroup) {\n let data = {\n id: optgroup.id,\n label: optgroup.label,\n selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,\n selectAllText: optgroup.dataset ? optgroup.dataset.selectalltext : 'Select all',\n closable: optgroup.dataset ? optgroup.dataset.closable : 'off',\n options: []\n };\n const options = optgroup.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTION') {\n data.options.push(this.getDataFromOption(o));\n }\n }\n return data;\n }\n getDataFromOption(option) {\n return {\n id: option.id,\n value: option.value,\n text: option.text,\n html: option.dataset && option.dataset.html ? option.dataset.html : '',\n selected: option.selected,\n display: option.style.display !== 'none',\n disabled: option.disabled,\n mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,\n placeholder: option.dataset.placeholder === 'true',\n class: option.className,\n style: option.style.cssText,\n data: option.dataset\n };\n }\n getSelectedOptions() {\n let options = [];\n const opts = this.select.childNodes;\n for (const o of opts) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroupOptions = o.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n if (option.selected) {\n options.push(this.getDataFromOption(option));\n }\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n if (option.selected) {\n options.push(this.getDataFromOption(option));\n }\n }\n }\n return options;\n }\n getSelectedValues() {\n return this.getSelectedOptions().map((option) => option.value);\n }\n setSelected(ids) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = ids.includes(option.id);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = ids.includes(option.id);\n }\n }\n this.changeListen(true);\n }\n setSelectedByValue(values) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = values.includes(option.value);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = values.includes(option.value);\n }\n }\n this.changeListen(true);\n }\n updateSelect(id, style, classes) {\n this.changeListen(false);\n if (id) {\n this.select.dataset.id = id;\n }\n if (style) {\n this.select.style.cssText = style;\n }\n if (classes) {\n this.select.className = '';\n classes.forEach((c) => {\n if (c.trim() !== '') {\n this.select.classList.add(c.trim());\n }\n });\n }\n this.changeListen(true);\n }\n updateOptions(data) {\n this.changeListen(false);\n this.select.innerHTML = '';\n for (const d of data) {\n if (d instanceof Optgroup) {\n this.select.appendChild(this.createOptgroup(d));\n }\n if (d instanceof Option) {\n this.select.appendChild(this.createOption(d));\n }\n }\n this.select.dispatchEvent(new Event('change', { bubbles: true }));\n this.changeListen(true);\n }\n createOptgroup(optgroup) {\n const optgroupEl = document.createElement('optgroup');\n optgroupEl.id = optgroup.id;\n optgroupEl.label = optgroup.label;\n if (optgroup.selectAll) {\n optgroupEl.dataset.selectAll = 'true';\n }\n if (optgroup.closable !== 'off') {\n optgroupEl.dataset.closable = optgroup.closable;\n }\n if (optgroup.options) {\n for (const o of optgroup.options) {\n optgroupEl.appendChild(this.createOption(o));\n }\n }\n return optgroupEl;\n }\n createOption(info) {\n const optionEl = document.createElement('option');\n optionEl.id = info.id;\n optionEl.value = info.value;\n optionEl.textContent = info.text;\n if (info.html !== '') {\n optionEl.setAttribute('data-html', info.html);\n }\n if (info.selected) {\n optionEl.selected = info.selected;\n }\n if (info.disabled) {\n optionEl.disabled = true;\n }\n if (!info.display) {\n optionEl.style.display = 'none';\n }\n if (info.placeholder) {\n optionEl.setAttribute('data-placeholder', 'true');\n }\n if (info.mandatory) {\n optionEl.setAttribute('data-mandatory', 'true');\n }\n if (info.class) {\n info.class.split(' ').forEach((optionClass) => {\n optionEl.classList.add(optionClass);\n });\n }\n if (info.data && typeof info.data === 'object') {\n Object.keys(info.data).forEach((key) => {\n optionEl.setAttribute('data-' + kebabCase(key), info.data[key]);\n });\n }\n return optionEl;\n }\n destroy() {\n this.changeListen(false);\n this.select.removeEventListener('change', this.valueChange);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n delete this.select.dataset.id;\n this.showUI();\n }\n }\n\n class Settings {\n constructor(settings) {\n this.id = '';\n this.style = '';\n this.class = [];\n this.isMultiple = false;\n this.isOpen = false;\n this.isFullOpen = false;\n this.intervalMove = null;\n if (!settings) {\n settings = {};\n }\n this.id = 'ss-' + generateID();\n this.style = settings.style || '';\n this.class = settings.class || [];\n this.disabled = settings.disabled !== undefined ? settings.disabled : false;\n this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;\n this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;\n this.focusSearch = settings.focusSearch !== undefined ? settings.focusSearch : true;\n this.ariaLabel = settings.ariaLabel || 'Combobox';\n this.searchPlaceholder = settings.searchPlaceholder || 'Search';\n this.searchText = settings.searchText || 'No Results';\n this.searchingText = settings.searchingText || 'Searching...';\n this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;\n this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;\n this.contentLocation = settings.contentLocation || document.body;\n this.contentPosition = settings.contentPosition || 'absolute';\n this.openPosition = settings.openPosition || 'auto';\n this.placeholderText = settings.placeholderText !== undefined ? settings.placeholderText : 'Select Value';\n this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;\n this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;\n this.keepOrder = settings.keepOrder !== undefined ? settings.keepOrder : false;\n this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;\n this.minSelected = settings.minSelected || 0;\n this.maxSelected = settings.maxSelected || 1000;\n this.timeoutDelay = settings.timeoutDelay || 200;\n this.maxValuesShown = settings.maxValuesShown || 20;\n this.maxValuesMessage = settings.maxValuesMessage || '{number} selected';\n this.addableText = settings.addableText || 'Press \"Enter\" to add {value}';\n }\n }\n\n class SlimSelect {\n constructor(config) {\n var _a;\n this.events = {\n search: undefined,\n searchFilter: (opt, search) => {\n return opt.text.toLowerCase().indexOf(search.toLowerCase()) !== -1;\n },\n addable: undefined,\n beforeChange: undefined,\n afterChange: undefined,\n beforeOpen: undefined,\n afterOpen: undefined,\n beforeClose: undefined,\n afterClose: undefined\n };\n this.windowResize = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.windowScroll = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.documentClick = (e) => {\n if (!this.settings.isOpen) {\n return;\n }\n if (e.target && !hasClassInTree(e.target, this.settings.id)) {\n this.close(e.type);\n }\n };\n this.windowVisibilityChange = () => {\n if (document.hidden) {\n this.close();\n }\n };\n this.selectEl = (typeof config.select === 'string' ? document.querySelector(config.select) : config.select);\n if (!this.selectEl) {\n if (config.events && config.events.error) {\n config.events.error(new Error('Could not find select element'));\n }\n return;\n }\n if (this.selectEl.tagName !== 'SELECT') {\n if (config.events && config.events.error) {\n config.events.error(new Error('Element isnt of type select'));\n }\n return;\n }\n if (this.selectEl.dataset.ssid) {\n this.destroy();\n }\n this.settings = new Settings(config.settings);\n this.cssClasses = new CssClasses(config.cssClasses);\n const debounceEvents = ['afterChange', 'beforeOpen', 'afterOpen', 'beforeClose', 'afterClose'];\n for (const key in config.events) {\n if (!config.events.hasOwnProperty(key)) {\n continue;\n }\n if (debounceEvents.indexOf(key) !== -1) {\n this.events[key] = debounce(config.events[key], 100);\n }\n else {\n this.events[key] = config.events[key];\n }\n }\n this.settings.disabled = ((_a = config.settings) === null || _a === void 0 ? void 0 : _a.disabled) ? config.settings.disabled : this.selectEl.disabled;\n this.settings.isMultiple = this.selectEl.multiple;\n this.settings.style = this.selectEl.style.cssText;\n this.settings.class = this.selectEl.className.split(' ');\n this.select = new Select(this.selectEl);\n this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class);\n this.select.hideUI();\n this.select.onValueChange = (options) => {\n this.setSelected(options.map((option) => option.id));\n };\n this.select.onClassChange = (classes) => {\n this.settings.class = classes;\n this.render.updateClassStyles();\n };\n this.select.onDisabledChange = (disabled) => {\n if (disabled) {\n this.disable();\n }\n else {\n this.enable();\n }\n };\n this.select.onOptionsChange = (data) => {\n this.setData(data);\n };\n this.store = new Store(this.settings.isMultiple ? 'multiple' : 'single', config.data ? config.data : this.select.getData());\n if (config.data) {\n this.select.updateOptions(this.store.getData());\n }\n const renderCallbacks = {\n open: this.open.bind(this),\n close: this.close.bind(this),\n addable: this.events.addable ? this.events.addable : undefined,\n setSelected: this.setSelected.bind(this),\n addOption: this.addOption.bind(this),\n search: this.search.bind(this),\n beforeChange: this.events.beforeChange,\n afterChange: this.events.afterChange\n };\n this.render = new Render(this.settings, this.cssClasses, this.store, renderCallbacks);\n this.render.renderValues();\n this.render.renderOptions(this.store.getData());\n const selectAriaLabel = this.selectEl.getAttribute('aria-label');\n const selectAriaLabelledBy = this.selectEl.getAttribute('aria-labelledby');\n if (selectAriaLabel) {\n this.render.main.main.setAttribute('aria-label', selectAriaLabel);\n }\n else if (selectAriaLabelledBy) {\n this.render.main.main.setAttribute('aria-labelledby', selectAriaLabelledBy);\n }\n if (this.selectEl.parentNode) {\n this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);\n }\n window.addEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.addEventListener('scroll', this.windowScroll, false);\n }\n document.addEventListener('visibilitychange', this.windowVisibilityChange);\n if (this.settings.disabled) {\n this.disable();\n }\n if (this.settings.alwaysOpen) {\n this.open();\n }\n this.selectEl.slim = this;\n }\n enable() {\n this.settings.disabled = false;\n this.select.enable();\n this.render.enable();\n }\n disable() {\n this.settings.disabled = true;\n this.select.disable();\n this.render.disable();\n }\n getData() {\n return this.store.getData();\n }\n setData(data) {\n const selected = this.store.getSelected();\n const err = this.store.validateDataArray(data);\n if (err) {\n if (this.events.error) {\n this.events.error(err);\n }\n return;\n }\n this.store.setData(data);\n const dataClean = this.store.getData();\n this.select.updateOptions(dataClean);\n this.render.renderValues();\n this.render.renderOptions(dataClean);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n getSelected() {\n let options = this.store.getSelectedOptions();\n if (this.settings.keepOrder) {\n options = this.store.selectedOrderOptions(options);\n }\n return options.map((option) => option.value);\n }\n setSelected(values, runAfterChange = true) {\n const selected = this.store.getSelected();\n const options = this.store.getDataOptions();\n values = Array.isArray(values) ? values : [values];\n const ids = [];\n for (const value of values) {\n if (options.find((option) => option.id == value)) {\n ids.push(value);\n continue;\n }\n for (const option of options.filter((option) => option.value == value)) {\n ids.push(option.id);\n }\n }\n this.store.setSelectedBy('id', ids);\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n if (this.render.content.search.input.value !== '') {\n this.search(this.render.content.search.input.value);\n }\n else {\n this.render.renderOptions(data);\n }\n if (runAfterChange && this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n addOption(option) {\n const selected = this.store.getSelected();\n if (!this.store.getDataOptions().some((o) => { var _a; return o.value === ((_a = option.value) !== null && _a !== void 0 ? _a : option.text); })) {\n this.store.addOption(option);\n }\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n this.render.renderOptions(data);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n open() {\n if (this.settings.disabled || this.settings.isOpen) {\n return;\n }\n if (this.events.beforeOpen) {\n this.events.beforeOpen();\n }\n this.render.open();\n if (this.settings.showSearch && this.settings.focusSearch) {\n this.render.searchFocus();\n }\n this.settings.isOpen = true;\n setTimeout(() => {\n if (this.events.afterOpen) {\n this.events.afterOpen();\n }\n if (this.settings.isOpen) {\n this.settings.isFullOpen = true;\n }\n document.addEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.contentPosition === 'absolute') {\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500);\n }\n }\n close(eventType = null) {\n if (!this.settings.isOpen || this.settings.alwaysOpen) {\n return;\n }\n if (this.events.beforeClose) {\n this.events.beforeClose();\n }\n this.render.close();\n if (this.render.content.search.input.value !== '') {\n this.search('');\n }\n this.render.mainFocus(eventType);\n this.settings.isOpen = false;\n this.settings.isFullOpen = false;\n setTimeout(() => {\n if (this.events.afterClose) {\n this.events.afterClose();\n }\n document.removeEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n }\n search(value) {\n if (this.render.content.search.input.value !== value) {\n this.render.content.search.input.value = value;\n }\n if (!this.events.search) {\n this.render.renderOptions(value === '' ? this.store.getData() : this.store.search(value, this.events.searchFilter));\n return;\n }\n this.render.renderSearching();\n const searchResp = this.events.search(value, this.store.getSelectedOptions());\n if (searchResp instanceof Promise) {\n searchResp\n .then((data) => {\n this.render.renderOptions(this.store.partialToFullData(data));\n })\n .catch((err) => {\n this.render.renderError(typeof err === 'string' ? err : err.message);\n });\n return;\n }\n else if (Array.isArray(searchResp)) {\n this.render.renderOptions(this.store.partialToFullData(searchResp));\n }\n else {\n this.render.renderError('Search event must return a promise or an array of data');\n }\n }\n destroy() {\n document.removeEventListener('click', this.documentClick);\n window.removeEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.removeEventListener('scroll', this.windowScroll, false);\n }\n document.removeEventListener('visibilitychange', this.windowVisibilityChange);\n this.store.setData([]);\n this.render.destroy();\n this.select.destroy();\n }\n }\n\n return SlimSelect;\n\n}));\n","module.exports = (password) => {\r\n if (!password) {\r\n throw new Error(\"Password is empty.\");\r\n }\r\n\r\n const lowerCaseRegex = \"(?=.*[a-z])\";\r\n const upperCaseRegex = \"(?=.*[A-Z])\";\r\n const symbolsRegex = \"(?=.*[!@#$%^&*])\";\r\n const numericRegex = \"(?=.*[0-9])\";\r\n\r\n let strength = {\r\n id: null,\r\n value: null,\r\n length: null,\r\n contains: [],\r\n }; \r\n \r\n // Default\r\n let passwordContains = [];\r\n\r\n if (new RegExp(`^${lowerCaseRegex}`).test(password)) {\r\n passwordContains = [\r\n ...passwordContains,\r\n {\r\n message: \"lowercase\",\r\n },\r\n ];\r\n }\r\n\r\n if (new RegExp(`^${upperCaseRegex}`).test(password)) {\r\n passwordContains = [\r\n ...passwordContains,\r\n {\r\n message: \"uppercase\",\r\n },\r\n ];\r\n }\r\n\r\n if (new RegExp(`^${symbolsRegex}`).test(password)) {\r\n passwordContains = [\r\n ...passwordContains,\r\n {\r\n message: \"symbol\",\r\n },\r\n ];\r\n }\r\n\r\n if (new RegExp(`^${numericRegex}`).test(password)) {\r\n passwordContains = [\r\n ...passwordContains,\r\n {\r\n message: \"number\",\r\n },\r\n ];\r\n }\r\n\r\n const strongRegex = new RegExp(\r\n `^${lowerCaseRegex}${upperCaseRegex}${numericRegex}${symbolsRegex}(?=.{8,})`\r\n );\r\n const mediumRegex = new RegExp(\r\n `^((${lowerCaseRegex}${upperCaseRegex})|(${lowerCaseRegex}${numericRegex})|(${upperCaseRegex}${numericRegex})|(${upperCaseRegex}${symbolsRegex})|(${lowerCaseRegex}${symbolsRegex})|(${numericRegex}${symbolsRegex}))(?=.{6,})`\r\n );\r\n\r\n if (strongRegex.test(password)) {\r\n strength = {\r\n id: 2,\r\n value: \"Strong\",\r\n };\r\n } else if (mediumRegex.test(password)) {\r\n strength = {\r\n id: 1,\r\n value: \"Medium\",\r\n };\r\n } else {\r\n strength = {\r\n id: 0,\r\n value: \"Weak\",\r\n };\r\n }\r\n strength.length = password.length;\r\n strength.contains = passwordContains;\r\n return strength;\r\n};\r\n","/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).Vue=e()}(this,(function(){\"use strict\";var t=Object.freeze({}),e=Array.isArray;function n(t){return null==t}function r(t){return null!=t}function o(t){return!0===t}function i(t){return\"string\"==typeof t||\"number\"==typeof t||\"symbol\"==typeof t||\"boolean\"==typeof t}function a(t){return\"function\"==typeof t}function s(t){return null!==t&&\"object\"==typeof t}var c=Object.prototype.toString;function u(t){return\"[object Object]\"===c.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function f(t){return r(t)&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}function d(t){return null==t?\"\":Array.isArray(t)||u(t)&&t.toString===c?JSON.stringify(t,p,2):String(t)}function p(t,e){return e&&e.__v_isRef?e.value:e}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(\",\"),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var m=h(\"slot,component\",!0),g=h(\"key,ref,slot,slot-scope,is\");function y(t,e){var n=t.length;if(n){if(e===t[n-1])return void(t.length=n-1);var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}var _=Object.prototype.hasOwnProperty;function b(t,e){return _.call(t,e)}function $(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var w=/-(\\w)/g,x=$((function(t){return t.replace(w,(function(t,e){return e?e.toUpperCase():\"\"}))})),C=$((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),k=/\\B([A-Z])/g,S=$((function(t){return t.replace(k,\"-$1\").toLowerCase()}));var O=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function T(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function A(t,e){for(var n in e)t[n]=e[n];return t}function j(t){for(var e={},n=0;n<t.length;n++)t[n]&&A(e,t[n]);return e}function E(t,e,n){}var N=function(t,e,n){return!1},P=function(t){return t};function D(t,e){if(t===e)return!0;var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every((function(t,n){return D(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),c=Object.keys(e);return a.length===c.length&&a.every((function(n){return D(t[n],e[n])}))}catch(t){return!1}}function M(t,e){for(var n=0;n<t.length;n++)if(D(t[n],e))return n;return-1}function I(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function L(t,e){return t===e?0===t&&1/t!=1/e:t==t||e==e}var R=\"data-server-rendered\",F=[\"component\",\"directive\",\"filter\"],H=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\",\"renderTracked\",\"renderTriggered\"],B={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:N,isReservedAttr:N,isUnknownElement:N,getTagNamespace:E,parsePlatformTagName:P,mustUseProp:N,async:!0,_lifecycleHooks:H},U=/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function z(t){var e=(t+\"\").charCodeAt(0);return 36===e||95===e}function V(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var K=new RegExp(\"[^\".concat(U.source,\".$_\\\\d]\"));var J=\"__proto__\"in{},q=\"undefined\"!=typeof window,W=q&&window.navigator.userAgent.toLowerCase(),Z=W&&/msie|trident/.test(W),G=W&&W.indexOf(\"msie 9.0\")>0,X=W&&W.indexOf(\"edge/\")>0;W&&W.indexOf(\"android\");var Y=W&&/iphone|ipad|ipod|ios/.test(W);W&&/chrome\\/\\d+/.test(W),W&&/phantomjs/.test(W);var Q,tt=W&&W.match(/firefox\\/(\\d+)/),et={}.watch,nt=!1;if(q)try{var rt={};Object.defineProperty(rt,\"passive\",{get:function(){nt=!0}}),window.addEventListener(\"test-passive\",null,rt)}catch(t){}var ot=function(){return void 0===Q&&(Q=!q&&\"undefined\"!=typeof global&&(global.process&&\"server\"===global.process.env.VUE_ENV)),Q},it=q&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function at(t){return\"function\"==typeof t&&/native code/.test(t.toString())}var st,ct=\"undefined\"!=typeof Symbol&&at(Symbol)&&\"undefined\"!=typeof Reflect&&at(Reflect.ownKeys);st=\"undefined\"!=typeof Set&&at(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=null;function lt(t){void 0===t&&(t=null),t||ut&&ut._scope.off(),ut=t,t&&t._scope.on()}var ft=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,\"child\",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),dt=function(t){void 0===t&&(t=\"\");var e=new ft;return e.text=t,e.isComment=!0,e};function pt(t){return new ft(void 0,void 0,void 0,String(t))}function vt(t){var e=new ft(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}\"function\"==typeof SuppressedError&&SuppressedError;var ht=0,mt=[],gt=function(){for(var t=0;t<mt.length;t++){var e=mt[t];e.subs=e.subs.filter((function(t){return t})),e._pending=!1}mt.length=0},yt=function(){function t(){this._pending=!1,this.id=ht++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,mt.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){for(var e=this.subs.filter((function(t){return t})),n=0,r=e.length;n<r;n++){e[n].update()}},t}();yt.target=null;var _t=[];function bt(t){_t.push(t),yt.target=t}function $t(){_t.pop(),yt.target=_t[_t.length-1]}var wt=Array.prototype,xt=Object.create(wt);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach((function(t){var e=wt[t];V(xt,t,(function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case\"push\":case\"unshift\":o=n;break;case\"splice\":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i}))}));var Ct=Object.getOwnPropertyNames(xt),kt={},St=!0;function Ot(t){St=t}var Tt={notify:E,depend:E,addSub:E,removeSub:E},At=function(){function t(t,n,r){if(void 0===n&&(n=!1),void 0===r&&(r=!1),this.value=t,this.shallow=n,this.mock=r,this.dep=r?Tt:new yt,this.vmCount=0,V(t,\"__ob__\",this),e(t)){if(!r)if(J)t.__proto__=xt;else for(var o=0,i=Ct.length;o<i;o++){V(t,s=Ct[o],xt[s])}n||this.observeArray(t)}else{var a=Object.keys(t);for(o=0;o<a.length;o++){var s;Et(t,s=a[o],kt,void 0,n,r)}}}return t.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)jt(t[e],!1,this.mock)},t}();function jt(t,n,r){return t&&b(t,\"__ob__\")&&t.__ob__ instanceof At?t.__ob__:!St||!r&&ot()||!e(t)&&!u(t)||!Object.isExtensible(t)||t.__v_skip||Bt(t)||t instanceof ft?void 0:new At(t,n,r)}function Et(t,n,r,o,i,a,s){void 0===s&&(s=!1);var c=new yt,u=Object.getOwnPropertyDescriptor(t,n);if(!u||!1!==u.configurable){var l=u&&u.get,f=u&&u.set;l&&!f||r!==kt&&2!==arguments.length||(r=t[n]);var d=i?r&&r.__ob__:jt(r,!1,a);return Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var n=l?l.call(t):r;return yt.target&&(c.depend(),d&&(d.dep.depend(),e(n)&&Dt(n))),Bt(n)&&!i?n.value:n},set:function(e){var n=l?l.call(t):r;if(L(n,e)){if(f)f.call(t,e);else{if(l)return;if(!i&&Bt(n)&&!Bt(e))return void(n.value=e);r=e}d=i?e&&e.__ob__:jt(e,!1,a),c.notify()}}}),c}}function Nt(t,n,r){if(!Ft(t)){var o=t.__ob__;return e(t)&&l(n)?(t.length=Math.max(t.length,n),t.splice(n,1,r),o&&!o.shallow&&o.mock&&jt(r,!1,!0),r):n in t&&!(n in Object.prototype)?(t[n]=r,r):t._isVue||o&&o.vmCount?r:o?(Et(o.value,n,r,void 0,o.shallow,o.mock),o.dep.notify(),r):(t[n]=r,r)}}function Pt(t,n){if(e(t)&&l(n))t.splice(n,1);else{var r=t.__ob__;t._isVue||r&&r.vmCount||Ft(t)||b(t,n)&&(delete t[n],r&&r.dep.notify())}}function Dt(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),e(n)&&Dt(n)}function Mt(t){return It(t,!0),V(t,\"__v_isShallow\",!0),t}function It(t,e){Ft(t)||jt(t,e,ot())}function Lt(t){return Ft(t)?Lt(t.__v_raw):!(!t||!t.__ob__)}function Rt(t){return!(!t||!t.__v_isShallow)}function Ft(t){return!(!t||!t.__v_isReadonly)}var Ht=\"__v_isRef\";function Bt(t){return!(!t||!0!==t.__v_isRef)}function Ut(t,e){if(Bt(t))return t;var n={};return V(n,Ht,!0),V(n,\"__v_isShallow\",e),V(n,\"dep\",Et(n,\"value\",t,null,e,ot())),n}function zt(t,e,n){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];if(Bt(t))return t.value;var r=t&&t.__ob__;return r&&r.dep.depend(),t},set:function(t){var r=e[n];Bt(r)&&!Bt(t)?r.value=t:e[n]=t}})}function Vt(t,e,n){var r=t[e];if(Bt(r))return r;var o={get value(){var r=t[e];return void 0===r?n:r},set value(n){t[e]=n}};return V(o,Ht,!0),o}var Kt=\"__v_rawToReadonly\",Jt=\"__v_rawToShallowReadonly\";function qt(t){return Wt(t,!1)}function Wt(t,e){if(!u(t))return t;if(Ft(t))return t;var n=e?Jt:Kt,r=t[n];if(r)return r;var o=Object.create(Object.getPrototypeOf(t));V(t,n,o),V(o,\"__v_isReadonly\",!0),V(o,\"__v_raw\",t),Bt(t)&&V(o,Ht,!0),(e||Rt(t))&&V(o,\"__v_isShallow\",!0);for(var i=Object.keys(t),a=0;a<i.length;a++)Zt(o,t,i[a],e);return o}function Zt(t,e,n,r){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];return r||!u(t)?t:qt(t)},set:function(){}})}var Gt=$((function(t){var e=\"&\"===t.charAt(0),n=\"~\"===(t=e?t.slice(1):t).charAt(0),r=\"!\"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function Xt(t,n){function r(){var t=r.fns;if(!e(t))return _n(t,null,arguments,n,\"v-on handler\");for(var o=t.slice(),i=0;i<o.length;i++)_n(o[i],null,arguments,n,\"v-on handler\")}return r.fns=t,r}function Yt(t,e,r,i,a,s){var c,u,l,f;for(c in t)u=t[c],l=e[c],f=Gt(c),n(u)||(n(l)?(n(u.fns)&&(u=t[c]=Xt(u,s)),o(f.once)&&(u=t[c]=a(f.name,u,f.capture)),r(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,t[c]=l));for(c in e)n(t[c])&&i((f=Gt(c)).name,e[c],f.capture)}function Qt(t,e,i){var a;t instanceof ft&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){i.apply(this,arguments),y(a.fns,c)}n(s)?a=Xt([c]):r(s.fns)&&o(s.merged)?(a=s).fns.push(c):a=Xt([s,c]),a.merged=!0,t[e]=a}function te(t,e,n,o,i){if(r(e)){if(b(e,n))return t[n]=e[n],i||delete e[n],!0;if(b(e,o))return t[n]=e[o],i||delete e[o],!0}return!1}function ee(t){return i(t)?[pt(t)]:e(t)?re(t):void 0}function ne(t){return r(t)&&r(t.text)&&!1===t.isComment}function re(t,a){var s,c,u,l,f=[];for(s=0;s<t.length;s++)n(c=t[s])||\"boolean\"==typeof c||(l=f[u=f.length-1],e(c)?c.length>0&&(ne((c=re(c,\"\".concat(a||\"\",\"_\").concat(s)))[0])&&ne(l)&&(f[u]=pt(l.text+c[0].text),c.shift()),f.push.apply(f,c)):i(c)?ne(l)?f[u]=pt(l.text+c):\"\"!==c&&f.push(pt(c)):ne(c)&&ne(l)?f[u]=pt(l.text+c.text):(o(t._isVList)&&r(c.tag)&&n(c.key)&&r(a)&&(c.key=\"__vlist\".concat(a,\"_\").concat(s,\"__\")),f.push(c)));return f}var oe=1,ie=2;function ae(t,n,c,u,l,f){return(e(c)||i(c))&&(l=u,u=c,c=void 0),o(f)&&(l=ie),function(t,n,o,i,c){if(r(o)&&r(o.__ob__))return dt();r(o)&&r(o.is)&&(n=o.is);if(!n)return dt();e(i)&&a(i[0])&&((o=o||{}).scopedSlots={default:i[0]},i.length=0);c===ie?i=ee(i):c===oe&&(i=function(t){for(var n=0;n<t.length;n++)if(e(t[n]))return Array.prototype.concat.apply([],t);return t}(i));var u,l;if(\"string\"==typeof n){var f=void 0;l=t.$vnode&&t.$vnode.ns||B.getTagNamespace(n),u=B.isReservedTag(n)?new ft(B.parsePlatformTagName(n),o,i,void 0,void 0,t):o&&o.pre||!r(f=kr(t.$options,\"components\",n))?new ft(n,o,i,void 0,void 0,t):hr(f,o,t,i,n)}else u=hr(n,o,t,i);return e(u)?u:r(u)?(r(l)&&se(u,l),r(o)&&function(t){s(t.style)&&Wn(t.style);s(t.class)&&Wn(t.class)}(o),u):dt()}(t,n,c,u,l)}function se(t,e,i){if(t.ns=e,\"foreignObject\"===t.tag&&(e=void 0,i=!0),r(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];r(c.tag)&&(n(c.ns)||o(i)&&\"svg\"!==c.tag)&&se(c,e,i)}}function ce(t,n){var o,i,a,c,u=null;if(e(t)||\"string\"==typeof t)for(u=new Array(t.length),o=0,i=t.length;o<i;o++)u[o]=n(t[o],o);else if(\"number\"==typeof t)for(u=new Array(t),o=0;o<t;o++)u[o]=n(o+1,o);else if(s(t))if(ct&&t[Symbol.iterator]){u=[];for(var l=t[Symbol.iterator](),f=l.next();!f.done;)u.push(n(f.value,u.length)),f=l.next()}else for(a=Object.keys(t),u=new Array(a.length),o=0,i=a.length;o<i;o++)c=a[o],u[o]=n(t[c],c,o);return r(u)||(u=[]),u._isVList=!0,u}function ue(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&(n=A(A({},r),n)),o=i(n)||(a(e)?e():e)):o=this.$slots[t]||(a(e)?e():e);var s=n&&n.slot;return s?this.$createElement(\"template\",{slot:s},o):o}function le(t){return kr(this.$options,\"filters\",t)||P}function fe(t,n){return e(t)?-1===t.indexOf(n):t!==n}function de(t,e,n,r,o){var i=B.keyCodes[e]||n;return o&&r&&!B.keyCodes[e]?fe(o,r):i?fe(i,t):r?S(r)!==e:void 0===t}function pe(t,n,r,o,i){if(r)if(s(r)){e(r)&&(r=j(r));var a=void 0,c=function(e){if(\"class\"===e||\"style\"===e||g(e))a=t;else{var s=t.attrs&&t.attrs.type;a=o||B.mustUseProp(n,s,e)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=x(e),u=S(e);c in a||u in a||(a[e]=r[e],i&&((t.on||(t.on={}))[\"update:\".concat(e)]=function(t){r[e]=t}))};for(var u in r)c(u)}else;return t}function ve(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||me(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,this._c,this),\"__static__\".concat(t),!1),r}function he(t,e,n){return me(t,\"__once__\".concat(e).concat(n?\"_\".concat(n):\"\"),!0),t}function me(t,n,r){if(e(t))for(var o=0;o<t.length;o++)t[o]&&\"string\"!=typeof t[o]&&ge(t[o],\"\".concat(n,\"_\").concat(o),r);else ge(t,n,r)}function ge(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function ye(t,e){if(e)if(u(e)){var n=t.on=t.on?A({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function _e(t,n,r,o){n=n||{$stable:!r};for(var i=0;i<t.length;i++){var a=t[i];e(a)?_e(a,n,r):a&&(a.proxy&&(a.fn.proxy=!0),n[a.key]=a.fn)}return o&&(n.$key=o),n}function be(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];\"string\"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function $e(t,e){return\"string\"==typeof t?e+t:t}function we(t){t._o=he,t._n=v,t._s=d,t._l=ce,t._t=ue,t._q=D,t._i=M,t._m=ve,t._f=le,t._k=de,t._b=pe,t._v=pt,t._e=dt,t._u=_e,t._g=ye,t._d=be,t._p=$e}function xe(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);\"template\"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var u in n)n[u].every(Ce)&&delete n[u];return n}function Ce(t){return t.isComment&&!t.asyncFactory||\" \"===t.text}function ke(t){return t.isComment&&t.asyncFactory}function Se(e,n,r,o){var i,a=Object.keys(r).length>0,s=n?!!n.$stable:!a,c=n&&n.$key;if(n){if(n._normalized)return n._normalized;if(s&&o&&o!==t&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},n)n[u]&&\"$\"!==u[0]&&(i[u]=Oe(e,r,u,n[u]))}else i={};for(var l in r)l in i||(i[l]=Te(r,l));return n&&Object.isExtensible(n)&&(n._normalized=i),V(i,\"$stable\",s),V(i,\"$key\",c),V(i,\"$hasNormal\",a),i}function Oe(t,n,r,o){var i=function(){var n=ut;lt(t);var r=arguments.length?o.apply(null,arguments):o({}),i=(r=r&&\"object\"==typeof r&&!e(r)?[r]:ee(r))&&r[0];return lt(n),r&&(!i||1===r.length&&i.isComment&&!ke(i))?void 0:r};return o.proxy&&Object.defineProperty(n,r,{get:i,enumerable:!0,configurable:!0}),i}function Te(t,e){return function(){return t[e]}}function Ae(e){return{get attrs(){if(!e._attrsProxy){var n=e._attrsProxy={};V(n,\"_v_attr_proxy\",!0),je(n,e.$attrs,t,e,\"$attrs\")}return e._attrsProxy},get listeners(){e._listenersProxy||je(e._listenersProxy={},e.$listeners,t,e,\"$listeners\");return e._listenersProxy},get slots(){return function(t){t._slotsProxy||Ne(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(e)},emit:O(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return zt(e,t,n)}))}}}function je(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,Ee(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function Ee(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function Ne(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function Pe(){var t=ut;return t._setupContext||(t._setupContext=Ae(t))}var De,Me,Ie=null;function Le(t,e){return(t.__esModule||ct&&\"Module\"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function Re(t){if(e(t))for(var n=0;n<t.length;n++){var o=t[n];if(r(o)&&(r(o.componentOptions)||ke(o)))return o}}function Fe(t,e){De.$on(t,e)}function He(t,e){De.$off(t,e)}function Be(t,e){var n=De;return function r(){null!==e.apply(null,arguments)&&n.$off(t,r)}}function Ue(t,e,n){De=t,Yt(e,n||{},Fe,He,Be,t),De=void 0}var ze=function(){function t(t){void 0===t&&(t=!1),this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=Me,!t&&Me&&(this.index=(Me.scopes||(Me.scopes=[])).push(this)-1)}return t.prototype.run=function(t){if(this.active){var e=Me;try{return Me=this,t()}finally{Me=e}}},t.prototype.on=function(){Me=this},t.prototype.off=function(){Me=this.parent},t.prototype.stop=function(t){if(this.active){var e=void 0,n=void 0;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].teardown();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(!this.detached&&this.parent&&!t){var r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this.active=!1}},t}();function Ve(){return Me}var Ke=null;function Je(t){var e=Ke;return Ke=t,function(){Ke=e}}function qe(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function We(t,e){if(e){if(t._directInactive=!1,qe(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)We(t.$children[n]);Ge(t,\"activated\")}}function Ze(t,e){if(!(e&&(t._directInactive=!0,qe(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)Ze(t.$children[n]);Ge(t,\"deactivated\")}}function Ge(t,e,n,r){void 0===r&&(r=!0),bt();var o=ut,i=Ve();r&<(t);var a=t.$options[e],s=\"\".concat(e,\" hook\");if(a)for(var c=0,u=a.length;c<u;c++)_n(a[c],t,n||null,t,s);t._hasHookEvent&&t.$emit(\"hook:\"+e),r&&(lt(o),i&&i.on()),$t()}var Xe=[],Ye=[],Qe={},tn=!1,en=!1,nn=0;var rn=0,on=Date.now;if(q&&!Z){var an=window.performance;an&&\"function\"==typeof an.now&&on()>document.createEvent(\"Event\").timeStamp&&(on=function(){return an.now()})}var sn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function cn(){var t,e;for(rn=on(),en=!0,Xe.sort(sn),nn=0;nn<Xe.length;nn++)(t=Xe[nn]).before&&t.before(),e=t.id,Qe[e]=null,t.run();var n=Ye.slice(),r=Xe.slice();nn=Xe.length=Ye.length=0,Qe={},tn=en=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,We(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r&&r._watcher===n&&r._isMounted&&!r._isDestroyed&&Ge(r,\"updated\")}}(r),gt(),it&&B.devtools&&it.emit(\"flush\")}function un(t){var e=t.id;if(null==Qe[e]&&(t!==yt.target||!t.noRecurse)){if(Qe[e]=!0,en){for(var n=Xe.length-1;n>nn&&Xe[n].id>t.id;)n--;Xe.splice(n+1,0,t)}else Xe.push(t);tn||(tn=!0,En(cn))}}var ln=\"watcher\",fn=\"\".concat(ln,\" callback\"),dn=\"\".concat(ln,\" getter\"),pn=\"\".concat(ln,\" cleanup\");function vn(t,e){return mn(t,null,{flush:\"post\"})}var hn={};function mn(n,r,o){var i=void 0===o?t:o,s=i.immediate,c=i.deep,u=i.flush,l=void 0===u?\"pre\":u;i.onTrack,i.onTrigger;var f,d,p=ut,v=function(t,e,n){void 0===n&&(n=null);var r=_n(t,null,n,p,e);return c&&r&&r.__ob__&&r.__ob__.dep.depend(),r},h=!1,m=!1;if(Bt(n)?(f=function(){return n.value},h=Rt(n)):Lt(n)?(f=function(){return n.__ob__.dep.depend(),n},c=!0):e(n)?(m=!0,h=n.some((function(t){return Lt(t)||Rt(t)})),f=function(){return n.map((function(t){return Bt(t)?t.value:Lt(t)?(t.__ob__.dep.depend(),Wn(t)):a(t)?v(t,dn):void 0}))}):f=a(n)?r?function(){return v(n,dn)}:function(){if(!p||!p._isDestroyed)return d&&d(),v(n,ln,[y])}:E,r&&c){var g=f;f=function(){return Wn(g())}}var y=function(t){d=_.onStop=function(){v(t,pn)}};if(ot())return y=E,r?s&&v(r,fn,[f(),m?[]:void 0,y]):f(),E;var _=new Xn(ut,f,E,{lazy:!0});_.noRecurse=!r;var b=m?[]:hn;return _.run=function(){if(_.active)if(r){var t=_.get();(c||h||(m?t.some((function(t,e){return L(t,b[e])})):L(t,b)))&&(d&&d(),v(r,fn,[t,b===hn?void 0:b,y]),b=t)}else _.get()},\"sync\"===l?_.update=_.run:\"post\"===l?(_.post=!0,_.update=function(){return un(_)}):_.update=function(){if(p&&p===ut&&!p._isMounted){var t=p._preWatchers||(p._preWatchers=[]);t.indexOf(_)<0&&t.push(_)}else un(_)},r?s?_.run():b=_.get():\"post\"===l&&p?p.$once(\"hook:mounted\",(function(){return _.get()})):_.get(),function(){_.teardown()}}function gn(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function yn(t,e,n){bt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){bn(t,r,\"errorCaptured hook\")}}bn(t,e,n)}finally{$t()}}function _n(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&f(i)&&!i._handled&&(i.catch((function(t){return yn(t,r,o+\" (Promise/async)\")})),i._handled=!0)}catch(t){yn(t,r,o)}return i}function bn(t,e,n){if(B.errorHandler)try{return B.errorHandler.call(null,t,e,n)}catch(e){e!==t&&$n(e)}$n(t)}function $n(t,e,n){if(!q||\"undefined\"==typeof console)throw t;console.error(t)}var wn,xn=!1,Cn=[],kn=!1;function Sn(){kn=!1;var t=Cn.slice(0);Cn.length=0;for(var e=0;e<t.length;e++)t[e]()}if(\"undefined\"!=typeof Promise&&at(Promise)){var On=Promise.resolve();wn=function(){On.then(Sn),Y&&setTimeout(E)},xn=!0}else if(Z||\"undefined\"==typeof MutationObserver||!at(MutationObserver)&&\"[object MutationObserverConstructor]\"!==MutationObserver.toString())wn=\"undefined\"!=typeof setImmediate&&at(setImmediate)?function(){setImmediate(Sn)}:function(){setTimeout(Sn,0)};else{var Tn=1,An=new MutationObserver(Sn),jn=document.createTextNode(String(Tn));An.observe(jn,{characterData:!0}),wn=function(){Tn=(Tn+1)%2,jn.data=String(Tn)},xn=!0}function En(t,e){var n;if(Cn.push((function(){if(t)try{t.call(e)}catch(t){yn(t,e,\"nextTick\")}else n&&n(e)})),kn||(kn=!0,wn()),!t&&\"undefined\"!=typeof Promise)return new Promise((function(t){n=t}))}function Nn(t){return function(e,n){if(void 0===n&&(n=ut),n)return function(t,e,n){var r=t.$options;r[e]=$r(r[e],n)}(n,t,e)}}var Pn=Nn(\"beforeMount\"),Dn=Nn(\"mounted\"),Mn=Nn(\"beforeUpdate\"),In=Nn(\"updated\"),Ln=Nn(\"beforeDestroy\"),Rn=Nn(\"destroyed\"),Fn=Nn(\"activated\"),Hn=Nn(\"deactivated\"),Bn=Nn(\"serverPrefetch\"),Un=Nn(\"renderTracked\"),zn=Nn(\"renderTriggered\"),Vn=Nn(\"errorCaptured\");var Kn=\"2.7.16\";var Jn=Object.freeze({__proto__:null,version:Kn,defineComponent:function(t){return t},ref:function(t){return Ut(t,!1)},shallowRef:function(t){return Ut(t,!0)},isRef:Bt,toRef:Vt,toRefs:function(t){var n=e(t)?new Array(t.length):{};for(var r in t)n[r]=Vt(t,r);return n},unref:function(t){return Bt(t)?t.value:t},proxyRefs:function(t){if(Lt(t))return t;for(var e={},n=Object.keys(t),r=0;r<n.length;r++)zt(e,t,n[r]);return e},customRef:function(t){var e=new yt,n=t((function(){e.depend()}),(function(){e.notify()})),r=n.get,o=n.set,i={get value(){return r()},set value(t){o(t)}};return V(i,Ht,!0),i},triggerRef:function(t){t.dep&&t.dep.notify()},reactive:function(t){return It(t,!1),t},isReactive:Lt,isReadonly:Ft,isShallow:Rt,isProxy:function(t){return Lt(t)||Ft(t)},shallowReactive:Mt,markRaw:function(t){return Object.isExtensible(t)&&V(t,\"__v_skip\",!0),t},toRaw:function t(e){var n=e&&e.__v_raw;return n?t(n):e},readonly:qt,shallowReadonly:function(t){return Wt(t,!0)},computed:function(t,e){var n,r,o=a(t);o?(n=t,r=E):(n=t.get,r=t.set);var i=ot()?null:new Xn(ut,n,E,{lazy:!0}),s={effect:i,get value(){return i?(i.dirty&&i.evaluate(),yt.target&&i.depend(),i.value):n()},set value(t){r(t)}};return V(s,Ht,!0),V(s,\"__v_isReadonly\",o),s},watch:function(t,e,n){return mn(t,e,n)},watchEffect:function(t,e){return mn(t,null,e)},watchPostEffect:vn,watchSyncEffect:function(t,e){return mn(t,null,{flush:\"sync\"})},EffectScope:ze,effectScope:function(t){return new ze(t)},onScopeDispose:function(t){Me&&Me.cleanups.push(t)},getCurrentScope:Ve,provide:function(t,e){ut&&(gn(ut)[t]=e)},inject:function(t,e,n){void 0===n&&(n=!1);var r=ut;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&a(e)?e.call(r):e}},h:function(t,e,n){return ae(ut,t,e,n,2,!0)},getCurrentInstance:function(){return ut&&{proxy:ut}},useSlots:function(){return Pe().slots},useAttrs:function(){return Pe().attrs},useListeners:function(){return Pe().listeners},mergeDefaults:function(t,n){var r=e(t)?t.reduce((function(t,e){return t[e]={},t}),{}):t;for(var o in n){var i=r[o];i?e(i)||a(i)?r[o]={type:i,default:n[o]}:i.default=n[o]:null===i&&(r[o]={default:n[o]})}return r},nextTick:En,set:Nt,del:Pt,useCssModule:function(e){return t},useCssVars:function(t){if(q){var e=ut;e&&vn((function(){var n=e.$el,r=t(e,e._setupProxy);if(n&&1===n.nodeType){var o=n.style;for(var i in r)o.setProperty(\"--\".concat(i),r[i])}}))}},defineAsyncComponent:function(t){a(t)&&(t={loader:t});var e=t.loader,n=t.loadingComponent,r=t.errorComponent,o=t.delay,i=void 0===o?200:o,s=t.timeout;t.suspensible;var c=t.onError,u=null,l=0,f=function(){var t;return u||(t=u=e().catch((function(t){if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise((function(e,n){c(t,(function(){return e((l++,u=null,f()))}),(function(){return n(t)}),l+1)}));throw t})).then((function(e){return t!==u&&u?u:(e&&(e.__esModule||\"Module\"===e[Symbol.toStringTag])&&(e=e.default),e)})))};return function(){return{component:f(),delay:i,timeout:s,error:r,loading:n}}},onBeforeMount:Pn,onMounted:Dn,onBeforeUpdate:Mn,onUpdated:In,onBeforeUnmount:Ln,onUnmounted:Rn,onActivated:Fn,onDeactivated:Hn,onServerPrefetch:Bn,onRenderTracked:Un,onRenderTriggered:zn,onErrorCaptured:function(t,e){void 0===e&&(e=ut),Vn(t,e)}}),qn=new st;function Wn(t){return Zn(t,qn),qn.clear(),t}function Zn(t,n){var r,o,i=e(t);if(!(!i&&!s(t)||t.__v_skip||Object.isFrozen(t)||t instanceof ft)){if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)Zn(t[r],n);else if(Bt(t))Zn(t.value,n);else for(r=(o=Object.keys(t)).length;r--;)Zn(t[o[r]],n)}}var Gn=0,Xn=function(){function t(t,e,n,r,o){!function(t,e){void 0===e&&(e=Me),e&&e.active&&e.effects.push(t)}(this,Me&&!Me._vm?Me:t?t._scope:void 0),(this.vm=t)&&o&&(t._watcher=this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Gn,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new st,this.newDepIds=new st,this.expression=\"\",a(e)?this.getter=e:(this.getter=function(t){if(!K.test(t)){var e=t.split(\".\");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=E)),this.value=this.lazy?void 0:this.get()}return t.prototype.get=function(){var t;bt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;yn(t,e,'getter for watcher \"'.concat(this.expression,'\"'))}finally{this.deep&&Wn(t),$t(),this.cleanupDeps()}return t},t.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},t.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},t.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():un(this)},t.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher \"'.concat(this.expression,'\"');_n(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},t.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},t.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},t.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&y(this.vm._scope.effects,this),this.active){for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},t}(),Yn={enumerable:!0,configurable:!0,get:E,set:E};function Qn(t,e,n){Yn.get=function(){return this[e][n]},Yn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Yn)}function tr(t){var n=t.$options;if(n.props&&function(t,e){var n=t.$options.propsData||{},r=t._props=Mt({}),o=t.$options._propKeys=[],i=!t.$parent;i||Ot(!1);var a=function(i){o.push(i);var a=Sr(i,e,n,t);Et(r,i,a,void 0,!0),i in t||Qn(t,\"_props\",i)};for(var s in e)a(s);Ot(!0)}(t,n.props),function(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=Ae(t);lt(t),bt();var o=_n(n,null,[t._props||Mt({}),r],t,\"setup\");if($t(),lt(),a(o))e.render=o;else if(s(o))if(t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var c in o)\"__sfc\"!==c&&zt(i,o,c)}else for(var c in o)z(c)||zt(t,o,c)}}(t),n.methods&&function(t,e){for(var n in t.$options.props,e)t[n]=\"function\"!=typeof e[n]?E:O(e[n],t)}(t,n.methods),n.data)!function(t){var e=t.$options.data;e=t._data=a(e)?function(t,e){bt();try{return t.call(e,e)}catch(t){return yn(t,e,\"data()\"),{}}finally{$t()}}(e,t):e||{},u(e)||(e={});var n=Object.keys(e),r=t.$options.props;t.$options.methods;var o=n.length;for(;o--;){var i=n[o];r&&b(r,i)||z(i)||Qn(t,\"_data\",i)}var s=jt(e);s&&s.vmCount++}(t);else{var r=jt(t._data={});r&&r.vmCount++}n.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=ot();for(var o in e){var i=e[o],s=a(i)?i:i.get;r||(n[o]=new Xn(t,s||E,E,er)),o in t||nr(t,o,i)}}(t,n.computed),n.watch&&n.watch!==et&&function(t,n){for(var r in n){var o=n[r];if(e(o))for(var i=0;i<o.length;i++)ir(t,r,o[i]);else ir(t,r,o)}}(t,n.watch)}var er={lazy:!0};function nr(t,e,n){var r=!ot();a(n)?(Yn.get=r?rr(e):or(n),Yn.set=E):(Yn.get=n.get?r&&!1!==n.cache?rr(e):or(n.get):E,Yn.set=n.set||E),Object.defineProperty(t,e,Yn)}function rr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),yt.target&&e.depend(),e.value}}function or(t){return function(){return t.call(this,this)}}function ir(t,e,n,r){return u(n)&&(r=n,n=n.handler),\"string\"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function ar(t,e){if(t){for(var n=Object.create(null),r=ct?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if(\"__ob__\"!==i){var s=t[i].from;if(s in e._provided)n[i]=e._provided[s];else if(\"default\"in t[i]){var c=t[i].default;n[i]=a(c)?c.call(e):c}}}return n}}var sr=0;function cr(t){var e=t.options;if(t.super){var n=cr(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&A(t.extendOptions,r),(e=t.options=Cr(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function ur(n,r,i,a,s){var c,u=this,l=s.options;b(a,\"_uid\")?(c=Object.create(a))._original=a:(c=a,a=a._original);var f=o(l._compiled),d=!f;this.data=n,this.props=r,this.children=i,this.parent=a,this.listeners=n.on||t,this.injections=ar(l.inject,a),this.slots=function(){return u.$slots||Se(a,n.scopedSlots,u.$slots=xe(i,a)),u.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return Se(a,n.scopedSlots,this.slots())}}),f&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=Se(a,n.scopedSlots,this.$slots)),l._scopeId?this._c=function(t,n,r,o){var i=ae(c,t,n,r,o,d);return i&&!e(i)&&(i.fnScopeId=l._scopeId,i.fnContext=a),i}:this._c=function(t,e,n,r){return ae(c,t,e,n,r,d)}}function lr(t,e,n,r,o){var i=vt(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function fr(t,e){for(var n in e)t[x(n)]=e[n]}function dr(t){return t.name||t.__name||t._componentTag}we(ur.prototype);var pr={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;pr.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},o=t.data.inlineTemplate;r(o)&&(n.render=o.render,n.staticRenderFns=o.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,Ke)).$mount(e?t.elm:void 0,e)}},prepatch:function(e,n){var r=n.componentOptions;!function(e,n,r,o,i){var a=o.data.scopedSlots,s=e.$scopedSlots,c=!!(a&&!a.$stable||s!==t&&!s.$stable||a&&e.$scopedSlots.$key!==a.$key||!a&&e.$scopedSlots.$key),u=!!(i||e.$options._renderChildren||c),l=e.$vnode;e.$options._parentVnode=o,e.$vnode=o,e._vnode&&(e._vnode.parent=o),e.$options._renderChildren=i;var f=o.data.attrs||t;e._attrsProxy&&je(e._attrsProxy,f,l.data&&l.data.attrs||t,e,\"$attrs\")&&(u=!0),e.$attrs=f,r=r||t;var d=e.$options._parentListeners;if(e._listenersProxy&&je(e._listenersProxy,r,d||t,e,\"$listeners\"),e.$listeners=e.$options._parentListeners=r,Ue(e,r,d),n&&e.$options.props){Ot(!1);for(var p=e._props,v=e.$options._propKeys||[],h=0;h<v.length;h++){var m=v[h],g=e.$options.props;p[m]=Sr(m,g,n,e)}Ot(!0),e.$options.propsData=n}u&&(e.$slots=xe(i,o.context),e.$forceUpdate())}(n.componentInstance=e.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(t){var e,n=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,Ge(r,\"mounted\")),t.data.keepAlive&&(n._isMounted?((e=r)._inactive=!1,Ye.push(e)):We(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Ze(e,!0):e.$destroy())}},vr=Object.keys(pr);function hr(i,a,c,u,l){if(!n(i)){var d=c.$options._base;if(s(i)&&(i=d.extend(i)),\"function\"==typeof i){var p;if(n(i.cid)&&(i=function(t,e){if(o(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;var i=Ie;if(i&&r(t.owners)&&-1===t.owners.indexOf(i)&&t.owners.push(i),o(t.loading)&&r(t.loadingComp))return t.loadingComp;if(i&&!r(t.owners)){var a=t.owners=[i],c=!0,u=null,l=null;i.$on(\"hook:destroyed\",(function(){return y(a,i)}));var d=function(t){for(var e=0,n=a.length;e<n;e++)a[e].$forceUpdate();t&&(a.length=0,null!==u&&(clearTimeout(u),u=null),null!==l&&(clearTimeout(l),l=null))},p=I((function(n){t.resolved=Le(n,e),c?a.length=0:d(!0)})),v=I((function(e){r(t.errorComp)&&(t.error=!0,d(!0))})),h=t(p,v);return s(h)&&(f(h)?n(t.resolved)&&h.then(p,v):f(h.component)&&(h.component.then(p,v),r(h.error)&&(t.errorComp=Le(h.error,e)),r(h.loading)&&(t.loadingComp=Le(h.loading,e),0===h.delay?t.loading=!0:u=setTimeout((function(){u=null,n(t.resolved)&&n(t.error)&&(t.loading=!0,d(!1))}),h.delay||200)),r(h.timeout)&&(l=setTimeout((function(){l=null,n(t.resolved)&&v(null)}),h.timeout)))),c=!1,t.loading?t.loadingComp:t.resolved}}(p=i,d),void 0===i))return function(t,e,n,r,o){var i=dt();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,a,c,u,l);a=a||{},cr(i),r(a.model)&&function(t,n){var o=t.model&&t.model.prop||\"value\",i=t.model&&t.model.event||\"input\";(n.attrs||(n.attrs={}))[o]=n.model.value;var a=n.on||(n.on={}),s=a[i],c=n.model.callback;r(s)?(e(s)?-1===s.indexOf(c):s!==c)&&(a[i]=[c].concat(s)):a[i]=c}(i.options,a);var v=function(t,e,o){var i=e.options.props;if(!n(i)){var a={},s=t.attrs,c=t.props;if(r(s)||r(c))for(var u in i){var l=S(u);te(a,c,u,l,!0)||te(a,s,u,l,!1)}return a}}(a,i);if(o(i.options.functional))return function(n,o,i,a,s){var c=n.options,u={},l=c.props;if(r(l))for(var f in l)u[f]=Sr(f,l,o||t);else r(i.attrs)&&fr(u,i.attrs),r(i.props)&&fr(u,i.props);var d=new ur(i,u,s,a,n),p=c.render.call(null,d._c,d);if(p instanceof ft)return lr(p,i,d.parent,c);if(e(p)){for(var v=ee(p)||[],h=new Array(v.length),m=0;m<v.length;m++)h[m]=lr(v[m],i,d.parent,c);return h}}(i,v,a,c,u);var h=a.on;if(a.on=a.nativeOn,o(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<vr.length;n++){var r=vr[n],o=e[r],i=pr[r];o===i||o&&o._merged||(e[r]=o?mr(i,o):i)}}(a);var g=dr(i.options)||l;return new ft(\"vue-component-\".concat(i.cid).concat(g?\"-\".concat(g):\"\"),a,void 0,void 0,void 0,c,{Ctor:i,propsData:v,listeners:h,tag:l,children:u},p)}}}function mr(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}var gr=E,yr=B.optionMergeStrategies;function _r(t,e,n){if(void 0===n&&(n=!0),!e)return t;for(var r,o,i,a=ct?Reflect.ownKeys(e):Object.keys(e),s=0;s<a.length;s++)\"__ob__\"!==(r=a[s])&&(o=t[r],i=e[r],n&&b(t,r)?o!==i&&u(o)&&u(i)&&_r(o,i):Nt(t,r,i));return t}function br(t,e,n){return n?function(){var r=a(e)?e.call(n,n):e,o=a(t)?t.call(n,n):t;return r?_r(r,o):o}:e?t?function(){return _r(a(e)?e.call(this,this):e,a(t)?t.call(this,this):t)}:e:t}function $r(t,n){var r=n?t?t.concat(n):e(n)?n:[n]:t;return r?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(r):r}function wr(t,e,n,r){var o=Object.create(t||null);return e?A(o,e):o}yr.data=function(t,e,n){return n?br(t,e,n):e&&\"function\"!=typeof e?t:br(t,e)},H.forEach((function(t){yr[t]=$r})),F.forEach((function(t){yr[t+\"s\"]=wr})),yr.watch=function(t,n,r,o){if(t===et&&(t=void 0),n===et&&(n=void 0),!n)return Object.create(t||null);if(!t)return n;var i={};for(var a in A(i,t),n){var s=i[a],c=n[a];s&&!e(s)&&(s=[s]),i[a]=s?s.concat(c):e(c)?c:[c]}return i},yr.props=yr.methods=yr.inject=yr.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return A(o,t),e&&A(o,e),o},yr.provide=function(t,e){return t?function(){var n=Object.create(null);return _r(n,a(t)?t.call(this):t),e&&_r(n,a(e)?e.call(this):e,!1),n}:e};var xr=function(t,e){return void 0===e?t:e};function Cr(t,n,r){if(a(n)&&(n=n.options),function(t,n){var r=t.props;if(r){var o,i,a={};if(e(r))for(o=r.length;o--;)\"string\"==typeof(i=r[o])&&(a[x(i)]={type:null});else if(u(r))for(var s in r)i=r[s],a[x(s)]=u(i)?i:{type:i};t.props=a}}(n),function(t,n){var r=t.inject;if(r){var o=t.inject={};if(e(r))for(var i=0;i<r.length;i++)o[r[i]]={from:r[i]};else if(u(r))for(var a in r){var s=r[a];o[a]=u(s)?A({from:a},s):{from:s}}}}(n),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];a(r)&&(e[n]={bind:r,update:r})}}(n),!n._base&&(n.extends&&(t=Cr(t,n.extends,r)),n.mixins))for(var o=0,i=n.mixins.length;o<i;o++)t=Cr(t,n.mixins[o],r);var s,c={};for(s in t)l(s);for(s in n)b(t,s)||l(s);function l(e){var o=yr[e]||xr;c[e]=o(t[e],n[e],r,e)}return c}function kr(t,e,n,r){if(\"string\"==typeof n){var o=t[e];if(b(o,n))return o[n];var i=x(n);if(b(o,i))return o[i];var a=C(i);return b(o,a)?o[a]:o[n]||o[i]||o[a]}}function Sr(t,e,n,r){var o=e[t],i=!b(n,t),s=n[t],c=jr(Boolean,o.type);if(c>-1)if(i&&!b(o,\"default\"))s=!1;else if(\"\"===s||s===S(t)){var u=jr(String,o.type);(u<0||c<u)&&(s=!0)}if(void 0===s){s=function(t,e,n){if(!b(e,\"default\"))return;var r=e.default;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return a(r)&&\"Function\"!==Tr(e.type)?r.call(t):r}(r,o,t);var l=St;Ot(!0),jt(s),Ot(l)}return s}var Or=/^\\s*function (\\w+)/;function Tr(t){var e=t&&t.toString().match(Or);return e?e[1]:\"\"}function Ar(t,e){return Tr(t)===Tr(e)}function jr(t,n){if(!e(n))return Ar(n,t)?0:-1;for(var r=0,o=n.length;r<o;r++)if(Ar(n[r],t))return r;return-1}function Er(t){this._init(t)}function Nr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=dr(t)||dr(n.options),a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Cr(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Qn(t.prototype,\"_props\",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)nr(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,F.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=A({},a.options),o[r]=a,a}}function Pr(t){return t&&(dr(t.Ctor.options)||t.tag)}function Dr(t,n){return e(t)?t.indexOf(n)>-1:\"string\"==typeof t?t.split(\",\").indexOf(n)>-1:(r=t,\"[object RegExp]\"===c.call(r)&&t.test(n));var r}function Mr(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&Ir(n,a,r,o)}}i.componentOptions.children=void 0}function Ir(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,y(n,e)}!function(e){e.prototype._init=function(e){var n=this;n._uid=sr++,n._isVue=!0,n.__v_skip=!0,n._scope=new ze(!0),n._scope.parent=void 0,n._scope._vm=!0,e&&e._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(n,e):n.$options=Cr(cr(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(n),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ue(t,e)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,r=e.$vnode=n._parentVnode,o=r&&r.context;e.$slots=xe(n._renderChildren,o),e.$scopedSlots=r?Se(e.$parent,r.data.scopedSlots,e.$slots):t,e._c=function(t,n,r,o){return ae(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return ae(e,t,n,r,o,!0)};var i=r&&r.data;Et(e,\"$attrs\",i&&i.attrs||t,null,!0),Et(e,\"$listeners\",n._parentListeners||t,null,!0)}(n),Ge(n,\"beforeCreate\",void 0,!1),function(t){var e=ar(t.$options.inject,t);e&&(Ot(!1),Object.keys(e).forEach((function(n){Et(t,n,e[n])})),Ot(!0))}(n),tr(n),function(t){var e=t.$options.provide;if(e){var n=a(e)?e.call(t):e;if(!s(n))return;for(var r=gn(t),o=ct?Reflect.ownKeys(n):Object.keys(n),i=0;i<o.length;i++){var c=o[i];Object.defineProperty(r,c,Object.getOwnPropertyDescriptor(n,c))}}}(n),Ge(n,\"created\"),n.$options.el&&n.$mount(n.$options.el)}}(Er),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,\"$data\",e),Object.defineProperty(t.prototype,\"$props\",n),t.prototype.$set=Nt,t.prototype.$delete=Pt,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return ir(r,t,e,n);(n=n||{}).user=!0;var o=new Xn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher \"'.concat(o.expression,'\"');bt(),_n(e,r,[o.value],r,i),$t()}return function(){o.teardown()}}}(Er),function(t){var n=/^hook:/;t.prototype.$on=function(t,r){var o=this;if(e(t))for(var i=0,a=t.length;i<a;i++)o.$on(t[i],r);else(o._events[t]||(o._events[t]=[])).push(r),n.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,n){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(e(t)){for(var o=0,i=t.length;o<i;o++)r.$off(t[o],n);return r}var a,s=r._events[t];if(!s)return r;if(!n)return r._events[t]=null,r;for(var c=s.length;c--;)if((a=s[c])===n||a.fn===n){s.splice(c,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?T(n):n;for(var r=T(arguments,1),o='event handler for \"'.concat(t,'\"'),i=0,a=n.length;i<a;i++)_n(n[i],e,r,e,o)}return e}}(Er),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=Je(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n);for(var a=n;a&&a.$vnode&&a.$parent&&a.$vnode===a.$parent._vnode;)a.$parent.$el=a.$el,a=a.$parent},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ge(t,\"beforeDestroy\"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||y(e.$children,t),t._scope.stop(),t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ge(t,\"destroyed\"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Er),function(t){we(t.prototype),t.prototype.$nextTick=function(t){return En(t,this)},t.prototype._render=function(){var t=this,n=t.$options,r=n.render,o=n._parentVnode;o&&t._isMounted&&(t.$scopedSlots=Se(t.$parent,o.data.scopedSlots,t.$slots,t.$scopedSlots),t._slotsProxy&&Ne(t._slotsProxy,t.$scopedSlots)),t.$vnode=o;var i,a=ut,s=Ie;try{lt(t),Ie=t,i=r.call(t._renderProxy,t.$createElement)}catch(e){yn(e,t,\"render\"),i=t._vnode}finally{Ie=s,lt(a)}return e(i)&&1===i.length&&(i=i[0]),i instanceof ft||(i=dt()),i.parent=o,i}}(Er);var Lr=[String,RegExp,Array],Rr={name:\"keep-alive\",abstract:!0,props:{include:Lr,exclude:Lr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Pr(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&Ir(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Ir(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch(\"include\",(function(e){Mr(t,(function(t){return Dr(e,t)}))})),this.$watch(\"exclude\",(function(e){Mr(t,(function(t){return!Dr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Re(t),n=e&&e.componentOptions;if(n){var r=Pr(n),o=this.include,i=this.exclude;if(o&&(!r||!Dr(o,r))||i&&r&&Dr(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?\"::\".concat(n.tag):\"\"):e.key;a[c]?(e.componentInstance=a[c].componentInstance,y(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}},Fr={KeepAlive:Rr};!function(t){var e={get:function(){return B}};Object.defineProperty(t,\"config\",e),t.util={warn:gr,extend:A,mergeOptions:Cr,defineReactive:Et},t.set=Nt,t.delete=Pt,t.nextTick=En,t.observable=function(t){return jt(t),t},t.options=Object.create(null),F.forEach((function(e){t.options[e+\"s\"]=Object.create(null)})),t.options._base=t,A(t.options.components,Fr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=T(arguments,1);return n.unshift(this),a(t.install)?t.install.apply(t,n):a(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Cr(this.options,t),this}}(t),Nr(t),function(t){F.forEach((function(e){t[e]=function(t,n){return n?(\"component\"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),\"directive\"===e&&a(n)&&(n={bind:n,update:n}),this.options[e+\"s\"][t]=n,n):this.options[e+\"s\"][t]}}))}(t)}(Er),Object.defineProperty(Er.prototype,\"$isServer\",{get:ot}),Object.defineProperty(Er.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Er,\"FunctionalRenderContext\",{value:ur}),Er.version=Kn;var Hr=h(\"style,class\"),Br=h(\"input,textarea,option,select,progress\"),Ur=function(t,e,n){return\"value\"===n&&Br(t)&&\"button\"!==e||\"selected\"===n&&\"option\"===t||\"checked\"===n&&\"input\"===t||\"muted\"===n&&\"video\"===t},zr=h(\"contenteditable,draggable,spellcheck\"),Vr=h(\"events,caret,typing,plaintext-only\"),Kr=function(t,e){return Gr(e)||\"false\"===e?\"false\":\"contenteditable\"===t&&Vr(e)?e:\"true\"},Jr=h(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible\"),qr=\"http://www.w3.org/1999/xlink\",Wr=function(t){return\":\"===t.charAt(5)&&\"xlink\"===t.slice(0,5)},Zr=function(t){return Wr(t)?t.slice(6,t.length):\"\"},Gr=function(t){return null==t||!1===t};function Xr(t){for(var e=t.data,n=t,o=t;r(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=Yr(o.data,e));for(;r(n=n.parent);)n&&n.data&&(e=Yr(e,n.data));return function(t,e){if(r(t)||r(e))return Qr(t,to(e));return\"\"}(e.staticClass,e.class)}function Yr(t,e){return{staticClass:Qr(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Qr(t,e){return t?e?t+\" \"+e:t:e||\"\"}function to(t){return Array.isArray(t)?function(t){for(var e,n=\"\",o=0,i=t.length;o<i;o++)r(e=to(t[o]))&&\"\"!==e&&(n&&(n+=\" \"),n+=e);return n}(t):s(t)?function(t){var e=\"\";for(var n in t)t[n]&&(e&&(e+=\" \"),e+=n);return e}(t):\"string\"==typeof t?t:\"\"}var eo={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},no=h(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),ro=h(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),oo=function(t){return no(t)||ro(t)};function io(t){return ro(t)?\"svg\":\"math\"===t?\"math\":void 0}var ao=Object.create(null);var so=h(\"text,number,password,search,email,tel,url\");function co(t){if(\"string\"==typeof t){var e=document.querySelector(t);return e||document.createElement(\"div\")}return t}var uo=Object.freeze({__proto__:null,createElement:function(t,e){var n=document.createElement(t);return\"select\"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n},createElementNS:function(t,e){return document.createElementNS(eo[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,\"\")}}),lo={create:function(t,e){fo(e)},update:function(t,e){t.data.ref!==e.data.ref&&(fo(t,!0),fo(e))},destroy:function(t){fo(t,!0)}};function fo(t,n){var o=t.data.ref;if(r(o)){var i=t.context,s=t.componentInstance||t.elm,c=n?null:s,u=n?void 0:s;if(a(o))_n(o,i,[c],i,\"template ref function\");else{var l=t.data.refInFor,f=\"string\"==typeof o||\"number\"==typeof o,d=Bt(o),p=i.$refs;if(f||d)if(l){var v=f?p[o]:o.value;n?e(v)&&y(v,s):e(v)?v.includes(s)||v.push(s):f?(p[o]=[s],po(i,o,p[o])):o.value=[s]}else if(f){if(n&&p[o]!==s)return;p[o]=u,po(i,o,c)}else if(d){if(n&&o.value!==s)return;o.value=c}}}}function po(t,e,n){var r=t._setupState;r&&b(r,e)&&(Bt(r[e])?r[e].value=n:r[e]=n)}var vo=new ft(\"\",{},[]),ho=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function mo(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&function(t,e){if(\"input\"!==t.tag)return!0;var n,o=r(n=t.data)&&r(n=n.attrs)&&n.type,i=r(n=e.data)&&r(n=n.attrs)&&n.type;return o===i||so(o)&&so(i)}(t,e)||o(t.isAsyncPlaceholder)&&n(e.asyncFactory.error))}function go(t,e,n){var o,i,a={};for(o=e;o<=n;++o)r(i=t[o].key)&&(a[i]=o);return a}var yo={create:_o,update:_o,destroy:function(t){_o(t,vo)}};function _o(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===vo,a=e===vo,s=$o(t.data.directives,t.context),c=$o(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,o.oldArg=r.arg,xo(o,\"update\",e,t),o.def&&o.def.componentUpdated&&l.push(o)):(xo(o,\"bind\",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var f=function(){for(var n=0;n<u.length;n++)xo(u[n],\"inserted\",e,t)};i?Qt(e,\"insert\",f):f()}l.length&&Qt(e,\"postpatch\",(function(){for(var n=0;n<l.length;n++)xo(l[n],\"componentUpdated\",e,t)}));if(!i)for(n in s)c[n]||xo(s[n],\"unbind\",t,t,a)}(t,e)}var bo=Object.create(null);function $o(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++){if((r=t[n]).modifiers||(r.modifiers=bo),o[wo(r)]=r,e._setupState&&e._setupState.__sfc){var i=r.def||kr(e,\"_setupState\",\"v-\"+r.name);r.def=\"function\"==typeof i?{bind:i,update:i}:i}r.def=r.def||kr(e.$options,\"directives\",r.name)}return o}function wo(t){return t.rawName||\"\".concat(t.name,\".\").concat(Object.keys(t.modifiers||{}).join(\".\"))}function xo(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){yn(r,n.context,\"directive \".concat(t.name,\" \").concat(e,\" hook\"))}}var Co=[lo,yo];function ko(t,e){var i=e.componentOptions;if(!(r(i)&&!1===i.Ctor.options.inheritAttrs||n(t.data.attrs)&&n(e.data.attrs))){var a,s,c=e.elm,u=t.data.attrs||{},l=e.data.attrs||{};for(a in(r(l.__ob__)||o(l._v_attr_proxy))&&(l=e.data.attrs=A({},l)),l)s=l[a],u[a]!==s&&So(c,a,s,e.data.pre);for(a in(Z||X)&&l.value!==u.value&&So(c,\"value\",l.value),u)n(l[a])&&(Wr(a)?c.removeAttributeNS(qr,Zr(a)):zr(a)||c.removeAttribute(a))}}function So(t,e,n,r){r||t.tagName.indexOf(\"-\")>-1?Oo(t,e,n):Jr(e)?Gr(n)?t.removeAttribute(e):(n=\"allowfullscreen\"===e&&\"EMBED\"===t.tagName?\"true\":e,t.setAttribute(e,n)):zr(e)?t.setAttribute(e,Kr(e,n)):Wr(e)?Gr(n)?t.removeAttributeNS(qr,Zr(e)):t.setAttributeNS(qr,e,n):Oo(t,e,n)}function Oo(t,e,n){if(Gr(n))t.removeAttribute(e);else{if(Z&&!G&&\"TEXTAREA\"===t.tagName&&\"placeholder\"===e&&\"\"!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener(\"input\",r)};t.addEventListener(\"input\",r),t.__ieph=!0}t.setAttribute(e,n)}}var To={create:ko,update:ko};function Ao(t,e){var o=e.elm,i=e.data,a=t.data;if(!(n(i.staticClass)&&n(i.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=Xr(e),c=o._transitionClasses;r(c)&&(s=Qr(s,to(c))),s!==o._prevClass&&(o.setAttribute(\"class\",s),o._prevClass=s)}}var jo,Eo,No,Po,Do,Mo,Io={create:Ao,update:Ao},Lo=/[\\w).+\\-_$\\]]/;function Ro(t){var e,n,r,o,i,a=!1,s=!1,c=!1,u=!1,l=0,f=0,d=0,p=0;for(r=0;r<t.length;r++)if(n=e,e=t.charCodeAt(r),a)39===e&&92!==n&&(a=!1);else if(s)34===e&&92!==n&&(s=!1);else if(c)96===e&&92!==n&&(c=!1);else if(u)47===e&&92!==n&&(u=!1);else if(124!==e||124===t.charCodeAt(r+1)||124===t.charCodeAt(r-1)||l||f||d){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:d++;break;case 41:d--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===e){for(var v=r-1,h=void 0;v>=0&&\" \"===(h=t.charAt(v));v--);h&&Lo.test(h)||(u=!0)}}else void 0===o?(p=r+1,o=t.slice(0,r).trim()):m();function m(){(i||(i=[])).push(t.slice(p,r).trim()),p=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==p&&m(),i)for(r=0;r<i.length;r++)o=Fo(o,i[r]);return o}function Fo(t,e){var n=e.indexOf(\"(\");if(n<0)return'_f(\"'.concat(e,'\")(').concat(t,\")\");var r=e.slice(0,n),o=e.slice(n+1);return'_f(\"'.concat(r,'\")(').concat(t).concat(\")\"!==o?\",\"+o:o)}function Ho(t,e){console.error(\"[Vue compiler]: \".concat(t))}function Bo(t,e){return t?t.map((function(t){return t[e]})).filter((function(t){return t})):[]}function Uo(t,e,n,r,o){(t.props||(t.props=[])).push(Xo({name:e,value:n,dynamic:o},r)),t.plain=!1}function zo(t,e,n,r,o){(o?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Xo({name:e,value:n,dynamic:o},r)),t.plain=!1}function Vo(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(Xo({name:e,value:n},r))}function Ko(t,e,n,r,o,i,a,s){(t.directives||(t.directives=[])).push(Xo({name:e,rawName:n,value:r,arg:o,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Jo(t,e,n){return n?\"_p(\".concat(e,',\"').concat(t,'\")'):t+e}function qo(e,n,r,o,i,a,s,c){var u;(o=o||t).right?c?n=\"(\".concat(n,\")==='click'?'contextmenu':(\").concat(n,\")\"):\"click\"===n&&(n=\"contextmenu\",delete o.right):o.middle&&(c?n=\"(\".concat(n,\")==='click'?'mouseup':(\").concat(n,\")\"):\"click\"===n&&(n=\"mouseup\")),o.capture&&(delete o.capture,n=Jo(\"!\",n,c)),o.once&&(delete o.once,n=Jo(\"~\",n,c)),o.passive&&(delete o.passive,n=Jo(\"&\",n,c)),o.native?(delete o.native,u=e.nativeEvents||(e.nativeEvents={})):u=e.events||(e.events={});var l=Xo({value:r.trim(),dynamic:c},s);o!==t&&(l.modifiers=o);var f=u[n];Array.isArray(f)?i?f.unshift(l):f.push(l):u[n]=f?i?[l,f]:[f,l]:l,e.plain=!1}function Wo(t,e,n){var r=Zo(t,\":\"+e)||Zo(t,\"v-bind:\"+e);if(null!=r)return Ro(r);if(!1!==n){var o=Zo(t,e);if(null!=o)return JSON.stringify(o)}}function Zo(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function Go(t,e){for(var n=t.attrsList,r=0,o=n.length;r<o;r++){var i=n[r];if(e.test(i.name))return n.splice(r,1),i}}function Xo(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Yo(t,e,n){var r=n||{},o=r.number,i=\"$$v\",a=i;r.trim&&(a=\"(typeof \".concat(i,\" === 'string'\")+\"? \".concat(i,\".trim()\")+\": \".concat(i,\")\")),o&&(a=\"_n(\".concat(a,\")\"));var s=Qo(e,a);t.model={value:\"(\".concat(e,\")\"),expression:JSON.stringify(e),callback:\"function (\".concat(i,\") {\").concat(s,\"}\")}}function Qo(t,e){var n=function(t){if(t=t.trim(),jo=t.length,t.indexOf(\"[\")<0||t.lastIndexOf(\"]\")<jo-1)return(Po=t.lastIndexOf(\".\"))>-1?{exp:t.slice(0,Po),key:'\"'+t.slice(Po+1)+'\"'}:{exp:t,key:null};Eo=t,Po=Do=Mo=0;for(;!ei();)ni(No=ti())?oi(No):91===No&&ri(No);return{exp:t.slice(0,Do),key:t.slice(Do+1,Mo)}}(t);return null===n.key?\"\".concat(t,\"=\").concat(e):\"$set(\".concat(n.exp,\", \").concat(n.key,\", \").concat(e,\")\")}function ti(){return Eo.charCodeAt(++Po)}function ei(){return Po>=jo}function ni(t){return 34===t||39===t}function ri(t){var e=1;for(Do=Po;!ei();)if(ni(t=ti()))oi(t);else if(91===t&&e++,93===t&&e--,0===e){Mo=Po;break}}function oi(t){for(var e=t;!ei()&&(t=ti())!==e;);}var ii,ai=\"__r\",si=\"__c\";function ci(t,e,n){var r=ii;return function o(){null!==e.apply(null,arguments)&&fi(t,o,n,r)}}var ui=xn&&!(tt&&Number(tt[1])<=53);function li(t,e,n,r){if(ui){var o=rn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}ii.addEventListener(t,e,nt?{capture:n,passive:r}:n)}function fi(t,e,n,r){(r||ii).removeEventListener(t,e._wrapper||e,n)}function di(t,e){if(!n(t.data.on)||!n(e.data.on)){var o=e.data.on||{},i=t.data.on||{};ii=e.elm||t.elm,function(t){if(r(t[ai])){var e=Z?\"change\":\"input\";t[e]=[].concat(t[ai],t[e]||[]),delete t[ai]}r(t[si])&&(t.change=[].concat(t[si],t.change||[]),delete t[si])}(o),Yt(o,i,li,fi,ci,e.context),ii=void 0}}var pi,vi={create:di,update:di,destroy:function(t){return di(t,vo)}};function hi(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,a,s=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(i in(r(u.__ob__)||o(u._v_attr_proxy))&&(u=e.data.domProps=A({},u)),c)i in u||(s[i]=\"\");for(i in u){if(a=u[i],\"textContent\"===i||\"innerHTML\"===i){if(e.children&&(e.children.length=0),a===c[i])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if(\"value\"===i&&\"PROGRESS\"!==s.tagName){s._value=a;var l=n(a)?\"\":String(a);mi(s,l)&&(s.value=l)}else if(\"innerHTML\"===i&&ro(s.tagName)&&n(s.innerHTML)){(pi=pi||document.createElement(\"div\")).innerHTML=\"<svg>\".concat(a,\"</svg>\");for(var f=pi.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;f.firstChild;)s.appendChild(f.firstChild)}else if(a!==c[i])try{s[i]=a}catch(t){}}}}function mi(t,e){return!t.composing&&(\"OPTION\"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,o=t._vModifiers;if(r(o)){if(o.number)return v(n)!==v(e);if(o.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var gi={create:hi,update:hi},yi=$((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function _i(t){var e=bi(t.style);return t.staticStyle?A(t.staticStyle,e):e}function bi(t){return Array.isArray(t)?j(t):\"string\"==typeof t?yi(t):t}var $i,wi=/^--/,xi=/\\s*!important$/,Ci=function(t,e,n){if(wi.test(e))t.style.setProperty(e,n);else if(xi.test(n))t.style.setProperty(S(e),n.replace(xi,\"\"),\"important\");else{var r=Si(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},ki=[\"Webkit\",\"Moz\",\"ms\"],Si=$((function(t){if($i=$i||document.createElement(\"div\").style,\"filter\"!==(t=x(t))&&t in $i)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<ki.length;n++){var r=ki[n]+e;if(r in $i)return r}}));function Oi(t,e){var o=e.data,i=t.data;if(!(n(o.staticStyle)&&n(o.style)&&n(i.staticStyle)&&n(i.style))){var a,s,c=e.elm,u=i.staticStyle,l=i.normalizedStyle||i.style||{},f=u||l,d=bi(e.data.style)||{};e.data.normalizedStyle=r(d.__ob__)?A({},d):d;var p=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=_i(o.data))&&A(r,n);(n=_i(t.data))&&A(r,n);for(var i=t;i=i.parent;)i.data&&(n=_i(i.data))&&A(r,n);return r}(e,!0);for(s in f)n(p[s])&&Ci(c,s,\"\");for(s in p)a=p[s],Ci(c,s,null==a?\"\":a)}}var Ti={create:Oi,update:Oi},Ai=/\\s+/;function ji(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(Ai).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=\" \".concat(t.getAttribute(\"class\")||\"\",\" \");n.indexOf(\" \"+e+\" \")<0&&t.setAttribute(\"class\",(n+e).trim())}}function Ei(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(Ai).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute(\"class\");else{for(var n=\" \".concat(t.getAttribute(\"class\")||\"\",\" \"),r=\" \"+e+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");(n=n.trim())?t.setAttribute(\"class\",n):t.removeAttribute(\"class\")}}function Ni(t){if(t){if(\"object\"==typeof t){var e={};return!1!==t.css&&A(e,Pi(t.name||\"v\")),A(e,t),e}return\"string\"==typeof t?Pi(t):void 0}}var Pi=$((function(t){return{enterClass:\"\".concat(t,\"-enter\"),enterToClass:\"\".concat(t,\"-enter-to\"),enterActiveClass:\"\".concat(t,\"-enter-active\"),leaveClass:\"\".concat(t,\"-leave\"),leaveToClass:\"\".concat(t,\"-leave-to\"),leaveActiveClass:\"\".concat(t,\"-leave-active\")}})),Di=q&&!G,Mi=\"transition\",Ii=\"animation\",Li=\"transition\",Ri=\"transitionend\",Fi=\"animation\",Hi=\"animationend\";Di&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Li=\"WebkitTransition\",Ri=\"webkitTransitionEnd\"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Fi=\"WebkitAnimation\",Hi=\"webkitAnimationEnd\"));var Bi=q?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ui(t){Bi((function(){Bi(t)}))}function zi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ji(t,e))}function Vi(t,e){t._transitionClasses&&y(t._transitionClasses,e),Ei(t,e)}function Ki(t,e,n){var r=qi(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Mi?Ri:Hi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c<a&&u()}),i+1),t.addEventListener(s,l)}var Ji=/\\b(transform|all)(,|$)/;function qi(t,e){var n,r=window.getComputedStyle(t),o=(r[Li+\"Delay\"]||\"\").split(\", \"),i=(r[Li+\"Duration\"]||\"\").split(\", \"),a=Wi(o,i),s=(r[Fi+\"Delay\"]||\"\").split(\", \"),c=(r[Fi+\"Duration\"]||\"\").split(\", \"),u=Wi(s,c),l=0,f=0;return e===Mi?a>0&&(n=Mi,l=a,f=i.length):e===Ii?u>0&&(n=Ii,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Mi:Ii:null)?n===Mi?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Mi&&Ji.test(r[Li+\"Property\"])}}function Wi(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return Zi(e)+Zi(t[n])})))}function Zi(t){return 1e3*Number(t.slice(0,-1).replace(\",\",\".\"))}function Gi(t,e){var o=t.elm;r(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var i=Ni(t.data.transition);if(!n(i)&&!r(o._enterCb)&&1===o.nodeType){for(var c=i.css,u=i.type,l=i.enterClass,f=i.enterToClass,d=i.enterActiveClass,p=i.appearClass,h=i.appearToClass,m=i.appearActiveClass,g=i.beforeEnter,y=i.enter,_=i.afterEnter,b=i.enterCancelled,$=i.beforeAppear,w=i.appear,x=i.afterAppear,C=i.appearCancelled,k=i.duration,S=Ke,O=Ke.$vnode;O&&O.parent;)S=O.context,O=O.parent;var T=!S._isMounted||!t.isRootInsert;if(!T||w||\"\"===w){var A=T&&p?p:l,j=T&&m?m:d,E=T&&h?h:f,N=T&&$||g,P=T&&a(w)?w:y,D=T&&x||_,M=T&&C||b,L=v(s(k)?k.enter:k),R=!1!==c&&!G,F=Qi(P),H=o._enterCb=I((function(){R&&(Vi(o,E),Vi(o,j)),H.cancelled?(R&&Vi(o,A),M&&M(o)):D&&D(o),o._enterCb=null}));t.data.show||Qt(t,\"insert\",(function(){var e=o.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),P&&P(o,H)})),N&&N(o),R&&(zi(o,A),zi(o,j),Ui((function(){Vi(o,A),H.cancelled||(zi(o,E),F||(Yi(L)?setTimeout(H,L):Ki(o,u,H)))}))),t.data.show&&(e&&e(),P&&P(o,H)),R||F||H()}}}function Xi(t,e){var o=t.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var i=Ni(t.data.transition);if(n(i)||1!==o.nodeType)return e();if(!r(o._leaveCb)){var a=i.css,c=i.type,u=i.leaveClass,l=i.leaveToClass,f=i.leaveActiveClass,d=i.beforeLeave,p=i.leave,h=i.afterLeave,m=i.leaveCancelled,g=i.delayLeave,y=i.duration,_=!1!==a&&!G,b=Qi(p),$=v(s(y)?y.leave:y),w=o._leaveCb=I((function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Vi(o,l),Vi(o,f)),w.cancelled?(_&&Vi(o,u),m&&m(o)):(e(),h&&h(o)),o._leaveCb=null}));g?g(x):x()}function x(){w.cancelled||(!t.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),d&&d(o),_&&(zi(o,u),zi(o,f),Ui((function(){Vi(o,u),w.cancelled||(zi(o,l),b||(Yi($)?setTimeout(w,$):Ki(o,c,w)))}))),p&&p(o,w),_||b||w())}}function Yi(t){return\"number\"==typeof t&&!isNaN(t)}function Qi(t){if(n(t))return!1;var e=t.fns;return r(e)?Qi(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function ta(t,e){!0!==e.data.show&&Gi(e)}var ea=function(t){var a,s,c={},u=t.modules,l=t.nodeOps;for(a=0;a<ho.length;++a)for(c[ho[a]]=[],s=0;s<u.length;++s)r(u[s][ho[a]])&&c[ho[a]].push(u[s][ho[a]]);function f(t){var e=l.parentNode(t);r(e)&&l.removeChild(e,t)}function d(t,e,n,i,a,s,u){if(r(t.elm)&&r(s)&&(t=s[u]=vt(t)),t.isRootInsert=!a,!function(t,e,n,i){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1),r(t.componentInstance))return p(t,e),v(n,t.elm,i),o(s)&&function(t,e,n,o){var i,a=t;for(;a.componentInstance;)if(r(i=(a=a.componentInstance._vnode).data)&&r(i=i.transition)){for(i=0;i<c.activate.length;++i)c.activate[i](vo,a);e.push(a);break}v(n,t.elm,o)}(t,e,n,i),!0}}(t,e,n,i)){var f=t.data,d=t.children,h=t.tag;r(h)?(t.elm=t.ns?l.createElementNS(t.ns,h):l.createElement(h,t),_(t),m(t,d,e),r(f)&&y(t,e),v(n,t.elm,i)):o(t.isComment)?(t.elm=l.createComment(t.text),v(n,t.elm,i)):(t.elm=l.createTextNode(t.text),v(n,t.elm,i))}}function p(t,e){r(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,g(t)?(y(t,e),_(t)):(fo(t),e.push(t))}function v(t,e,n){r(t)&&(r(n)?l.parentNode(n)===t&&l.insertBefore(t,e,n):l.appendChild(t,e))}function m(t,n,r){if(e(n))for(var o=0;o<n.length;++o)d(n[o],r,t.elm,null,!0,n,o);else i(t.text)&&l.appendChild(t.elm,l.createTextNode(String(t.text)))}function g(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return r(t.tag)}function y(t,e){for(var n=0;n<c.create.length;++n)c.create[n](vo,t);r(a=t.data.hook)&&(r(a.create)&&a.create(vo,t),r(a.insert)&&e.push(t))}function _(t){var e;if(r(e=t.fnScopeId))l.setStyleScope(t.elm,e);else for(var n=t;n;)r(e=n.context)&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e),n=n.parent;r(e=Ke)&&e!==t.context&&e!==t.fnContext&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e)}function b(t,e,n,r,o,i){for(;r<=o;++r)d(n[r],i,t,e,!1,n,r)}function $(t){var e,n,o=t.data;if(r(o))for(r(e=o.hook)&&r(e=e.destroy)&&e(t),e=0;e<c.destroy.length;++e)c.destroy[e](t);if(r(e=t.children))for(n=0;n<t.children.length;++n)$(t.children[n])}function w(t,e,n){for(;e<=n;++e){var o=t[e];r(o)&&(r(o.tag)?(x(o),$(o)):f(o.elm))}}function x(t,e){if(r(e)||r(t.data)){var n,o=c.remove.length+1;for(r(e)?e.listeners+=o:e=function(t,e){function n(){0==--n.listeners&&f(t)}return n.listeners=e,n}(t.elm,o),r(n=t.componentInstance)&&r(n=n._vnode)&&r(n.data)&&x(n,e),n=0;n<c.remove.length;++n)c.remove[n](t,e);r(n=t.data.hook)&&r(n=n.remove)?n(t,e):e()}else f(t.elm)}function C(t,e,n,o){for(var i=n;i<o;i++){var a=e[i];if(r(a)&&mo(t,a))return i}}function k(t,e,i,a,s,u){if(t!==e){r(e.elm)&&r(a)&&(e=a[s]=vt(e));var f=e.elm=t.elm;if(o(t.isAsyncPlaceholder))r(e.asyncFactory.resolved)?T(t.elm,e,i):e.isAsyncPlaceholder=!0;else if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,v=e.data;r(v)&&r(p=v.hook)&&r(p=p.prepatch)&&p(t,e);var h=t.children,m=e.children;if(r(v)&&g(e)){for(p=0;p<c.update.length;++p)c.update[p](t,e);r(p=v.hook)&&r(p=p.update)&&p(t,e)}n(e.text)?r(h)&&r(m)?h!==m&&function(t,e,o,i,a){for(var s,c,u,f=0,p=0,v=e.length-1,h=e[0],m=e[v],g=o.length-1,y=o[0],_=o[g],$=!a;f<=v&&p<=g;)n(h)?h=e[++f]:n(m)?m=e[--v]:mo(h,y)?(k(h,y,i,o,p),h=e[++f],y=o[++p]):mo(m,_)?(k(m,_,i,o,g),m=e[--v],_=o[--g]):mo(h,_)?(k(h,_,i,o,g),$&&l.insertBefore(t,h.elm,l.nextSibling(m.elm)),h=e[++f],_=o[--g]):mo(m,y)?(k(m,y,i,o,p),$&&l.insertBefore(t,m.elm,h.elm),m=e[--v],y=o[++p]):(n(s)&&(s=go(e,f,v)),n(c=r(y.key)?s[y.key]:C(y,e,f,v))?d(y,i,t,h.elm,!1,o,p):mo(u=e[c],y)?(k(u,y,i,o,p),e[c]=void 0,$&&l.insertBefore(t,u.elm,h.elm)):d(y,i,t,h.elm,!1,o,p),y=o[++p]);f>v?b(t,n(o[g+1])?null:o[g+1].elm,o,p,g,i):p>g&&w(e,f,v)}(f,h,m,i,u):r(m)?(r(t.text)&&l.setTextContent(f,\"\"),b(f,null,m,0,m.length-1,i)):r(h)?w(h,0,h.length-1):r(t.text)&&l.setTextContent(f,\"\"):t.text!==e.text&&l.setTextContent(f,e.text),r(v)&&r(p=v.hook)&&r(p=p.postpatch)&&p(t,e)}}}function S(t,e,n){if(o(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i<e.length;++i)e[i].data.hook.insert(e[i])}var O=h(\"attrs,class,staticClass,staticStyle,key\");function T(t,e,n,i){var a,s=e.tag,c=e.data,u=e.children;if(i=i||c&&c.pre,e.elm=t,o(e.isComment)&&r(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(r(c)&&(r(a=c.hook)&&r(a=a.init)&&a(e,!0),r(a=e.componentInstance)))return p(e,n),!0;if(r(s)){if(r(u))if(t.hasChildNodes())if(r(a=c)&&r(a=a.domProps)&&r(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,d=0;d<u.length;d++){if(!f||!T(f,u[d],n,i)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else m(e,u,n);if(r(c)){var v=!1;for(var h in c)if(!O(h)){v=!0,y(e,n);break}!v&&c.class&&Wn(c.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,i,a){if(!n(e)){var s,u=!1,f=[];if(n(t))u=!0,d(e,f);else{var p=r(t.nodeType);if(!p&&mo(t,e))k(t,e,f,null,null,a);else{if(p){if(1===t.nodeType&&t.hasAttribute(R)&&(t.removeAttribute(R),i=!0),o(i)&&T(t,e,f))return S(e,f,!0),t;s=t,t=new ft(l.tagName(s).toLowerCase(),{},[],void 0,s)}var v=t.elm,h=l.parentNode(v);if(d(e,f,v._leaveCb?null:h,l.nextSibling(v)),r(e.parent))for(var m=e.parent,y=g(e);m;){for(var _=0;_<c.destroy.length;++_)c.destroy[_](m);if(m.elm=e.elm,y){for(var b=0;b<c.create.length;++b)c.create[b](vo,m);var x=m.data.hook.insert;if(x.merged)for(var C=x.fns.slice(1),O=0;O<C.length;O++)C[O]()}else fo(m);m=m.parent}r(h)?w([t],0,0):r(t.tag)&&$(t)}}return S(e,f,u),e.elm}r(t)&&$(t)}}({nodeOps:uo,modules:[To,Io,vi,gi,Ti,q?{create:ta,activate:ta,remove:function(t,e){!0!==t.data.show?Xi(t,e):e()}}:{}].concat(Co)});G&&document.addEventListener(\"selectionchange\",(function(){var t=document.activeElement;t&&t.vmodel&&ua(t,\"input\")}));var na={inserted:function(t,e,n,r){\"select\"===n.tag?(r.elm&&!r.elm._vOptions?Qt(n,\"postpatch\",(function(){na.componentUpdated(t,e,n)})):ra(t,e,n.context),t._vOptions=[].map.call(t.options,aa)):(\"textarea\"===n.tag||so(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener(\"compositionstart\",sa),t.addEventListener(\"compositionend\",ca),t.addEventListener(\"change\",ca),G&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if(\"select\"===n.tag){ra(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,aa);if(o.some((function(t,e){return!D(t,r[e])})))(t.multiple?e.value.some((function(t){return ia(t,o)})):e.value!==e.oldValue&&ia(e.value,o))&&ua(t,\"change\")}}};function ra(t,e,n){oa(t,e),(Z||X)&&setTimeout((function(){oa(t,e)}),0)}function oa(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],o)i=M(r,aa(a))>-1,a.selected!==i&&(a.selected=i);else if(D(aa(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function ia(t,e){return e.every((function(e){return!D(e,t)}))}function aa(t){return\"_value\"in t?t._value:t.value}function sa(t){t.target.composing=!0}function ca(t){t.target.composing&&(t.target.composing=!1,ua(t.target,\"input\"))}function ua(t,e){var n=document.createEvent(\"HTMLEvents\");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function la(t){return!t.componentInstance||t.data&&t.data.transition?t:la(t.componentInstance._vnode)}var fa={bind:function(t,e,n){var r=e.value,o=(n=la(n)).data&&n.data.transition,i=t.__vOriginalDisplay=\"none\"===t.style.display?\"\":t.style.display;r&&o?(n.data.show=!0,Gi(n,(function(){t.style.display=i}))):t.style.display=r?i:\"none\"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=la(n)).data&&n.data.transition?(n.data.show=!0,r?Gi(n,(function(){t.style.display=t.__vOriginalDisplay})):Xi(n,(function(){t.style.display=\"none\"}))):t.style.display=r?t.__vOriginalDisplay:\"none\")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},da={model:na,show:fa},pa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function va(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?va(Re(e.children)):t}function ha(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[x(r)]=o[r];return e}function ma(t,e){if(/\\d-keep-alive$/.test(e.tag))return t(\"keep-alive\",{props:e.componentOptions.propsData})}var ga=function(t){return t.tag||ke(t)},ya=function(t){return\"show\"===t.name},_a={name:\"transition\",props:pa,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(ga)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var a=va(o);if(!a)return o;if(this._leaving)return ma(t,o);var s=\"__transition-\".concat(this._uid,\"-\");a.key=null==a.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=ha(this),u=this._vnode,l=va(u);if(a.data.directives&&a.data.directives.some(ya)&&(a.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(a,l)&&!ke(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},c);if(\"out-in\"===r)return this._leaving=!0,Qt(f,\"afterLeave\",(function(){e._leaving=!1,e.$forceUpdate()})),ma(t,o);if(\"in-out\"===r){if(ke(a))return u;var d,p=function(){d()};Qt(c,\"afterEnter\",p),Qt(c,\"enterCancelled\",p),Qt(f,\"delayLeave\",(function(t){d=t}))}}return o}}},ba=A({tag:String,moveClass:String},pa);delete ba.mode;var $a={props:ba,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Je(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||\"span\",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ha(this),s=0;s<o.length;s++){(l=o[s]).tag&&null!=l.key&&0!==String(l.key).indexOf(\"__vlist\")&&(i.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a)}if(r){var c=[],u=[];for(s=0;s<r.length;s++){var l;(l=r[s]).data.transition=a,l.data.pos=l.elm.getBoundingClientRect(),n[l.key]?c.push(l):u.push(l)}this.kept=t(e,null,c),this.removed=u}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||\"v\")+\"-move\";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(wa),t.forEach(xa),t.forEach(Ca),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;zi(n,e),r.transform=r.WebkitTransform=r.transitionDuration=\"\",n.addEventListener(Ri,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ri,t),n._moveCb=null,Vi(n,e))})}})))},methods:{hasMove:function(t,e){if(!Di)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){Ei(n,t)})),ji(n,e),n.style.display=\"none\",this.$el.appendChild(n);var r=qi(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function wa(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function xa(t){t.data.newPos=t.elm.getBoundingClientRect()}function Ca(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform=\"translate(\".concat(r,\"px,\").concat(o,\"px)\"),i.transitionDuration=\"0s\"}}var ka={Transition:_a,TransitionGroup:$a};Er.config.mustUseProp=Ur,Er.config.isReservedTag=oo,Er.config.isReservedAttr=Hr,Er.config.getTagNamespace=io,Er.config.isUnknownElement=function(t){if(!q)return!0;if(oo(t))return!1;if(t=t.toLowerCase(),null!=ao[t])return ao[t];var e=document.createElement(t);return t.indexOf(\"-\")>-1?ao[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ao[t]=/HTMLUnknownElement/.test(e.toString())},A(Er.options.directives,da),A(Er.options.components,ka),Er.prototype.__patch__=q?ea:E,Er.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=dt),Ge(t,\"beforeMount\"),r=function(){t._update(t._render(),n)},new Xn(t,r,E,{before:function(){t._isMounted&&!t._isDestroyed&&Ge(t,\"beforeUpdate\")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i<o.length;i++)o[i].run();return null==t.$vnode&&(t._isMounted=!0,Ge(t,\"mounted\")),t}(this,t=t&&q?co(t):void 0,e)},q&&setTimeout((function(){B.devtools&&it&&it.emit(\"init\",Er)}),0);var Sa=/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,Oa=/[-.*+?^${}()|[\\]\\/\\\\]/g,Ta=$((function(t){var e=t[0].replace(Oa,\"\\\\$&\"),n=t[1].replace(Oa,\"\\\\$&\");return new RegExp(e+\"((?:.|\\\\n)+?)\"+n,\"g\")}));var Aa={staticKeys:[\"staticClass\"],transformNode:function(t,e){e.warn;var n=Zo(t,\"class\");n&&(t.staticClass=JSON.stringify(n.replace(/\\s+/g,\" \").trim()));var r=Wo(t,\"class\",!1);r&&(t.classBinding=r)},genData:function(t){var e=\"\";return t.staticClass&&(e+=\"staticClass:\".concat(t.staticClass,\",\")),t.classBinding&&(e+=\"class:\".concat(t.classBinding,\",\")),e}};var ja,Ea={staticKeys:[\"staticStyle\"],transformNode:function(t,e){e.warn;var n=Zo(t,\"style\");n&&(t.staticStyle=JSON.stringify(yi(n)));var r=Wo(t,\"style\",!1);r&&(t.styleBinding=r)},genData:function(t){var e=\"\";return t.staticStyle&&(e+=\"staticStyle:\".concat(t.staticStyle,\",\")),t.styleBinding&&(e+=\"style:(\".concat(t.styleBinding,\"),\")),e}},Na=function(t){return(ja=ja||document.createElement(\"div\")).innerHTML=t,ja.textContent},Pa=h(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),Da=h(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),Ma=h(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),Ia=/^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,La=/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+?\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,Ra=\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\".concat(U.source,\"]*\"),Fa=\"((?:\".concat(Ra,\"\\\\:)?\").concat(Ra,\")\"),Ha=new RegExp(\"^<\".concat(Fa)),Ba=/^\\s*(\\/?)>/,Ua=new RegExp(\"^<\\\\/\".concat(Fa,\"[^>]*>\")),za=/^<!DOCTYPE [^>]+>/i,Va=/^<!\\--/,Ka=/^<!\\[/,Ja=h(\"script,style,textarea\",!0),qa={},Wa={\"<\":\"<\",\">\":\">\",\""\":'\"',\"&\":\"&\",\" \":\"\\n\",\"	\":\"\\t\",\"'\":\"'\"},Za=/&(?:lt|gt|quot|amp|#39);/g,Ga=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Xa=h(\"pre,textarea\",!0),Ya=function(t,e){return t&&Xa(t)&&\"\\n\"===e[0]};function Qa(t,e){var n=e?Ga:Za;return t.replace(n,(function(t){return Wa[t]}))}function ts(t,e){for(var n,r,o=[],i=e.expectHTML,a=e.isUnaryTag||N,s=e.canBeLeftOpenTag||N,c=0,u=function(){if(n=t,r&&Ja(r)){var u=0,d=r.toLowerCase(),p=qa[d]||(qa[d]=new RegExp(\"([\\\\s\\\\S]*?)(</\"+d+\"[^>]*>)\",\"i\"));w=t.replace(p,(function(t,n,r){return u=r.length,Ja(d)||\"noscript\"===d||(n=n.replace(/<!\\--([\\s\\S]*?)-->/g,\"$1\").replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g,\"$1\")),Ya(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),\"\"}));c+=t.length-w.length,t=w,f(d,c-u,c)}else{var v=t.indexOf(\"<\");if(0===v){if(Va.test(t)){var h=t.indexOf(\"--\\x3e\");if(h>=0)return e.shouldKeepComment&&e.comment&&e.comment(t.substring(4,h),c,c+h+3),l(h+3),\"continue\"}if(Ka.test(t)){var m=t.indexOf(\"]>\");if(m>=0)return l(m+2),\"continue\"}var g=t.match(za);if(g)return l(g[0].length),\"continue\";var y=t.match(Ua);if(y){var _=c;return l(y[0].length),f(y[1],_,c),\"continue\"}var b=function(){var e=t.match(Ha);if(e){var n={tagName:e[1],attrs:[],start:c};l(e[0].length);for(var r=void 0,o=void 0;!(r=t.match(Ba))&&(o=t.match(La)||t.match(Ia));)o.start=c,l(o[0].length),o.end=c,n.attrs.push(o);if(r)return n.unarySlash=r[1],l(r[0].length),n.end=c,n}}();if(b)return function(t){var n=t.tagName,c=t.unarySlash;i&&(\"p\"===r&&Ma(n)&&f(r),s(n)&&r===n&&f(n));for(var u=a(n)||!!c,l=t.attrs.length,d=new Array(l),p=0;p<l;p++){var v=t.attrs[p],h=v[3]||v[4]||v[5]||\"\",m=\"a\"===n&&\"href\"===v[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;d[p]={name:v[1],value:Qa(h,m)}}u||(o.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:d,start:t.start,end:t.end}),r=n);e.start&&e.start(n,d,u,t.start,t.end)}(b),Ya(b.tagName,t)&&l(1),\"continue\"}var $=void 0,w=void 0,x=void 0;if(v>=0){for(w=t.slice(v);!(Ua.test(w)||Ha.test(w)||Va.test(w)||Ka.test(w)||(x=w.indexOf(\"<\",1))<0);)v+=x,w=t.slice(v);$=t.substring(0,v)}v<0&&($=t),$&&l($.length),e.chars&&$&&e.chars($,c-$.length,c)}if(t===n)return e.chars&&e.chars(t),\"break\"};t;){if(\"break\"===u())break}function l(e){c+=e,t=t.substring(e)}function f(t,n,i){var a,s;if(null==n&&(n=c),null==i&&(i=c),t)for(s=t.toLowerCase(),a=o.length-1;a>=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=o.length-1;u>=a;u--)e.end&&e.end(o[u].tag,n,i);o.length=a,r=a&&o[a-1].tag}else\"br\"===s?e.start&&e.start(t,[],!0,n,i):\"p\"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}f()}var es,ns,rs,os,is,as,ss,cs,us=/^@|^v-on:/,ls=/^v-|^@|^:|^#/,fs=/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,ds=/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,ps=/^\\(|\\)$/g,vs=/^\\[.*\\]$/,hs=/:(.*)$/,ms=/^:|^\\.|^v-bind:/,gs=/\\.[^.\\]]+(?=[^\\]]*$)/g,ys=/^v-slot(:|$)|^#/,_s=/[\\r\\n]/,bs=/[ \\f\\t\\r\\n]+/g,$s=$(Na),ws=\"_empty_\";function xs(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:js(e),rawAttrsMap:{},parent:n,children:[]}}function Cs(t,e){es=e.warn||Ho,as=e.isPreTag||N,ss=e.mustUseProp||N,cs=e.getTagNamespace||N,e.isReservedTag,rs=Bo(e.modules,\"transformNode\"),os=Bo(e.modules,\"preTransformNode\"),is=Bo(e.modules,\"postTransformNode\"),ns=e.delimiters;var n,r,o=[],i=!1!==e.preserveWhitespace,a=e.whitespace,s=!1,c=!1;function u(t){if(l(t),s||t.processed||(t=ks(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&Os(n,{exp:t.elseif,block:t}),r&&!t.forbidden)if(t.elseif||t.else)a=t,u=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(r.children),u&&u.if&&Os(u,{exp:a.elseif,block:a});else{if(t.slotScope){var i=t.slotTarget||'\"default\"';(r.scopedSlots||(r.scopedSlots={}))[i]=t}r.children.push(t),t.parent=r}var a,u;t.children=t.children.filter((function(t){return!t.slotScope})),l(t),t.pre&&(s=!1),as(t.tag)&&(c=!1);for(var f=0;f<is.length;f++)is[f](t,e)}function l(t){if(!c)for(var e=void 0;(e=t.children[t.children.length-1])&&3===e.type&&\" \"===e.text;)t.children.pop()}return ts(t,{warn:es,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,l,f){var d=r&&r.ns||cs(t);Z&&\"svg\"===d&&(i=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Es.test(r.name)||(r.name=r.name.replace(Ns,\"\"),e.push(r))}return e}(i));var p,v=xs(t,i,r);d&&(v.ns=d),\"style\"!==(p=v).tag&&(\"script\"!==p.tag||p.attrsMap.type&&\"text/javascript\"!==p.attrsMap.type)||ot()||(v.forbidden=!0);for(var h=0;h<os.length;h++)v=os[h](v,e)||v;s||(!function(t){null!=Zo(t,\"v-pre\")&&(t.pre=!0)}(v),v.pre&&(s=!0)),as(v.tag)&&(c=!0),s?function(t){var e=t.attrsList,n=e.length;if(n)for(var r=t.attrs=new Array(n),o=0;o<n;o++)r[o]={name:e[o].name,value:JSON.stringify(e[o].value)},null!=e[o].start&&(r[o].start=e[o].start,r[o].end=e[o].end);else t.pre||(t.plain=!0)}(v):v.processed||(Ss(v),function(t){var e=Zo(t,\"v-if\");if(e)t.if=e,Os(t,{exp:e,block:t});else{null!=Zo(t,\"v-else\")&&(t.else=!0);var n=Zo(t,\"v-else-if\");n&&(t.elseif=n)}}(v),function(t){var e=Zo(t,\"v-once\");null!=e&&(t.once=!0)}(v)),n||(n=v),a?u(v):(r=v,o.push(v))},end:function(t,e,n){var i=o[o.length-1];o.length-=1,r=o[o.length-1],u(i)},chars:function(t,e,n){if(r&&(!Z||\"textarea\"!==r.tag||r.attrsMap.placeholder!==t)){var o,u=r.children;if(t=c||t.trim()?\"script\"===(o=r).tag||\"style\"===o.tag?t:$s(t):u.length?a?\"condense\"===a&&_s.test(t)?\"\":\" \":i?\" \":\"\":\"\"){c||\"condense\"!==a||(t=t.replace(bs,\" \"));var l=void 0,f=void 0;!s&&\" \"!==t&&(l=function(t,e){var n=e?Ta(e):Sa;if(n.test(t)){for(var r,o,i,a=[],s=[],c=n.lastIndex=0;r=n.exec(t);){(o=r.index)>c&&(s.push(i=t.slice(c,o)),a.push(JSON.stringify(i)));var u=Ro(r[1].trim());a.push(\"_s(\".concat(u,\")\")),s.push({\"@binding\":u}),c=o+r[0].length}return c<t.length&&(s.push(i=t.slice(c)),a.push(JSON.stringify(i))),{expression:a.join(\"+\"),tokens:s}}}(t,ns))?f={type:2,expression:l.expression,tokens:l.tokens,text:t}:\" \"===t&&u.length&&\" \"===u[u.length-1].text||(f={type:3,text:t}),f&&u.push(f)}}},comment:function(t,e,n){if(r){var o={type:3,text:t,isComment:!0};r.children.push(o)}}}),n}function ks(t,e){var n,r;(r=Wo(n=t,\"key\"))&&(n.key=r),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=Wo(t,\"ref\");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;\"template\"===t.tag?(e=Zo(t,\"scope\"),t.slotScope=e||Zo(t,\"slot-scope\")):(e=Zo(t,\"slot-scope\"))&&(t.slotScope=e);var n=Wo(t,\"slot\");n&&(t.slotTarget='\"\"'===n?'\"default\"':n,t.slotTargetDynamic=!(!t.attrsMap[\":slot\"]&&!t.attrsMap[\"v-bind:slot\"]),\"template\"===t.tag||t.slotScope||zo(t,\"slot\",n,function(t,e){return t.rawAttrsMap[\":\"+e]||t.rawAttrsMap[\"v-bind:\"+e]||t.rawAttrsMap[e]}(t,\"slot\")));if(\"template\"===t.tag){if(a=Go(t,ys)){var r=Ts(a),o=r.name,i=r.dynamic;t.slotTarget=o,t.slotTargetDynamic=i,t.slotScope=a.value||ws}}else{var a;if(a=Go(t,ys)){var s=t.scopedSlots||(t.scopedSlots={}),c=Ts(a),u=c.name,l=(i=c.dynamic,s[u]=xs(\"template\",[],t));l.slotTarget=u,l.slotTargetDynamic=i,l.children=t.children.filter((function(t){if(!t.slotScope)return t.parent=l,!0})),l.slotScope=a.value||ws,t.children=[],t.plain=!1}}}(t),function(t){\"slot\"===t.tag&&(t.slotName=Wo(t,\"name\"))}(t),function(t){var e;(e=Wo(t,\"is\"))&&(t.component=e);null!=Zo(t,\"inline-template\")&&(t.inlineTemplate=!0)}(t);for(var o=0;o<rs.length;o++)t=rs[o](t,e)||t;return function(t){var e,n,r,o,i,a,s,c,u=t.attrsList;for(e=0,n=u.length;e<n;e++)if(r=o=u[e].name,i=u[e].value,ls.test(r))if(t.hasBindings=!0,(a=As(r.replace(ls,\"\")))&&(r=r.replace(gs,\"\")),ms.test(r))r=r.replace(ms,\"\"),i=Ro(i),(c=vs.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&\"innerHtml\"===(r=x(r))&&(r=\"innerHTML\"),a.camel&&!c&&(r=x(r)),a.sync&&(s=Qo(i,\"$event\"),c?qo(t,'\"update:\"+('.concat(r,\")\"),s,null,!1,0,u[e],!0):(qo(t,\"update:\".concat(x(r)),s,null,!1,0,u[e]),S(r)!==x(r)&&qo(t,\"update:\".concat(S(r)),s,null,!1,0,u[e])))),a&&a.prop||!t.component&&ss(t.tag,t.attrsMap.type,r)?Uo(t,r,i,u[e],c):zo(t,r,i,u[e],c);else if(us.test(r))r=r.replace(us,\"\"),(c=vs.test(r))&&(r=r.slice(1,-1)),qo(t,r,i,a,!1,0,u[e],c);else{var l=(r=r.replace(ls,\"\")).match(hs),f=l&&l[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),vs.test(f)&&(f=f.slice(1,-1),c=!0)),Ko(t,r,o,i,f,c,a,u[e])}else zo(t,r,JSON.stringify(i),u[e]),!t.component&&\"muted\"===r&&ss(t.tag,t.attrsMap.type,r)&&Uo(t,r,\"true\",u[e])}(t),t}function Ss(t){var e;if(e=Zo(t,\"v-for\")){var n=function(t){var e=t.match(fs);if(!e)return;var n={};n.for=e[2].trim();var r=e[1].trim().replace(ps,\"\"),o=r.match(ds);o?(n.alias=r.replace(ds,\"\").trim(),n.iterator1=o[1].trim(),o[2]&&(n.iterator2=o[2].trim())):n.alias=r;return n}(e);n&&A(t,n)}}function Os(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function Ts(t){var e=t.name.replace(ys,\"\");return e||\"#\"!==t.name[0]&&(e=\"default\"),vs.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'\"'.concat(e,'\"'),dynamic:!1}}function As(t){var e=t.match(gs);if(e){var n={};return e.forEach((function(t){n[t.slice(1)]=!0})),n}}function js(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}var Es=/^xmlns:NS\\d+/,Ns=/^NS\\d+:/;function Ps(t){return xs(t.tag,t.attrsList.slice(),t.parent)}var Ds=[Aa,Ea,{preTransformNode:function(t,e){if(\"input\"===t.tag){var n=t.attrsMap;if(!n[\"v-model\"])return;var r=void 0;if((n[\":type\"]||n[\"v-bind:type\"])&&(r=Wo(t,\"type\")),n.type||r||!n[\"v-bind\"]||(r=\"(\".concat(n[\"v-bind\"],\").type\")),r){var o=Zo(t,\"v-if\",!0),i=o?\"&&(\".concat(o,\")\"):\"\",a=null!=Zo(t,\"v-else\",!0),s=Zo(t,\"v-else-if\",!0),c=Ps(t);Ss(c),Vo(c,\"type\",\"checkbox\"),ks(c,e),c.processed=!0,c.if=\"(\".concat(r,\")==='checkbox'\")+i,Os(c,{exp:c.if,block:c});var u=Ps(t);Zo(u,\"v-for\",!0),Vo(u,\"type\",\"radio\"),ks(u,e),Os(c,{exp:\"(\".concat(r,\")==='radio'\")+i,block:u});var l=Ps(t);return Zo(l,\"v-for\",!0),Vo(l,\":type\",r),ks(l,e),Os(c,{exp:o,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var Ms,Is,Ls={model:function(t,e,n){var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return Yo(t,r,o),!1;if(\"select\"===i)!function(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;'+\"return \".concat(r?\"_n(val)\":\"val\",\"})\"),i=\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\",a=\"var $$selectedVal = \".concat(o,\";\");a=\"\".concat(a,\" \").concat(Qo(e,i)),qo(t,\"change\",a,null,!0)}(t,r,o);else if(\"input\"===i&&\"checkbox\"===a)!function(t,e,n){var r=n&&n.number,o=Wo(t,\"value\")||\"null\",i=Wo(t,\"true-value\")||\"true\",a=Wo(t,\"false-value\")||\"false\";Uo(t,\"checked\",\"Array.isArray(\".concat(e,\")\")+\"?_i(\".concat(e,\",\").concat(o,\")>-1\")+(\"true\"===i?\":(\".concat(e,\")\"):\":_q(\".concat(e,\",\").concat(i,\")\"))),qo(t,\"change\",\"var $$a=\".concat(e,\",\")+\"$$el=$event.target,\"+\"$$c=$$el.checked?(\".concat(i,\"):(\").concat(a,\");\")+\"if(Array.isArray($$a)){\"+\"var $$v=\".concat(r?\"_n(\"+o+\")\":o,\",\")+\"$$i=_i($$a,$$v);\"+\"if($$el.checked){$$i<0&&(\".concat(Qo(e,\"$$a.concat([$$v])\"),\")}\")+\"else{$$i>-1&&(\".concat(Qo(e,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\"),\")}\")+\"}else{\".concat(Qo(e,\"$$c\"),\"}\"),null,!0)}(t,r,o);else if(\"input\"===i&&\"radio\"===a)!function(t,e,n){var r=n&&n.number,o=Wo(t,\"value\")||\"null\";o=r?\"_n(\".concat(o,\")\"):o,Uo(t,\"checked\",\"_q(\".concat(e,\",\").concat(o,\")\")),qo(t,\"change\",Qo(e,o),null,!0)}(t,r,o);else if(\"input\"===i||\"textarea\"===i)!function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c=!i&&\"range\"!==r,u=i?\"change\":\"range\"===r?ai:\"input\",l=\"$event.target.value\";s&&(l=\"$event.target.value.trim()\");a&&(l=\"_n(\".concat(l,\")\"));var f=Qo(e,l);c&&(f=\"if($event.target.composing)return;\".concat(f));Uo(t,\"value\",\"(\".concat(e,\")\")),qo(t,u,f,null,!0),(s||a)&&qo(t,\"blur\",\"$forceUpdate()\")}(t,r,o);else if(!B.isReservedTag(i))return Yo(t,r,o),!1;return!0},text:function(t,e){e.value&&Uo(t,\"textContent\",\"_s(\".concat(e.value,\")\"),e)},html:function(t,e){e.value&&Uo(t,\"innerHTML\",\"_s(\".concat(e.value,\")\"),e)}},Rs={expectHTML:!0,modules:Ds,directives:Ls,isPreTag:function(t){return\"pre\"===t},isUnaryTag:Pa,mustUseProp:Ur,canBeLeftOpenTag:Da,isReservedTag:oo,getTagNamespace:io,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(\",\")}(Ds)},Fs=$((function(t){return h(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(t?\",\"+t:\"\"))}));function Hs(t,e){t&&(Ms=Fs(e.staticKeys||\"\"),Is=e.isReservedTag||N,Bs(t),Us(t,!1))}function Bs(t){if(t.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||m(t.tag)||!Is(t.tag)||function(t){for(;t.parent;){if(\"template\"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Ms)))}(t),1===t.type){if(!Is(t.tag)&&\"slot\"!==t.tag&&null==t.attrsMap[\"inline-template\"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Bs(r),r.static||(t.static=!1)}if(t.ifConditions)for(e=1,n=t.ifConditions.length;e<n;e++){var o=t.ifConditions[e].block;Bs(o),o.static||(t.static=!1)}}}function Us(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Us(t.children[n],e||!!t.for);if(t.ifConditions)for(n=1,r=t.ifConditions.length;n<r;n++)Us(t.ifConditions[n].block,e)}}var zs=/^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function(?:\\s+[\\w$]+)?\\s*\\(/,Vs=/\\([^)]*?\\);*$/,Ks=/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Js={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},qs={esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},Ws=function(t){return\"if(\".concat(t,\")return null;\")},Zs={stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:Ws(\"$event.target !== $event.currentTarget\"),ctrl:Ws(\"!$event.ctrlKey\"),shift:Ws(\"!$event.shiftKey\"),alt:Ws(\"!$event.altKey\"),meta:Ws(\"!$event.metaKey\"),left:Ws(\"'button' in $event && $event.button !== 0\"),middle:Ws(\"'button' in $event && $event.button !== 1\"),right:Ws(\"'button' in $event && $event.button !== 2\")};function Gs(t,e){var n=e?\"nativeOn:\":\"on:\",r=\"\",o=\"\";for(var i in t){var a=Xs(t[i]);t[i]&&t[i].dynamic?o+=\"\".concat(i,\",\").concat(a,\",\"):r+='\"'.concat(i,'\":').concat(a,\",\")}return r=\"{\".concat(r.slice(0,-1),\"}\"),o?n+\"_d(\".concat(r,\",[\").concat(o.slice(0,-1),\"])\"):n+r}function Xs(t){if(!t)return\"function(){}\";if(Array.isArray(t))return\"[\".concat(t.map((function(t){return Xs(t)})).join(\",\"),\"]\");var e=Ks.test(t.value),n=zs.test(t.value),r=Ks.test(t.value.replace(Vs,\"\"));if(t.modifiers){var o=\"\",i=\"\",a=[],s=function(e){if(Zs[e])i+=Zs[e],Js[e]&&a.push(e);else if(\"exact\"===e){var n=t.modifiers;i+=Ws([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter((function(t){return!n[t]})).map((function(t){return\"$event.\".concat(t,\"Key\")})).join(\"||\"))}else a.push(e)};for(var c in t.modifiers)s(c);a.length&&(o+=function(t){return\"if(!$event.type.indexOf('key')&&\"+\"\".concat(t.map(Ys).join(\"&&\"),\")return null;\")}(a)),i&&(o+=i);var u=e?\"return \".concat(t.value,\".apply(null, arguments)\"):n?\"return (\".concat(t.value,\").apply(null, arguments)\"):r?\"return \".concat(t.value):t.value;return\"function($event){\".concat(o).concat(u,\"}\")}return e||n?t.value:\"function($event){\".concat(r?\"return \".concat(t.value):t.value,\"}\")}function Ys(t){var e=parseInt(t,10);if(e)return\"$event.keyCode!==\".concat(e);var n=Js[t],r=qs[t];return\"_k($event.keyCode,\"+\"\".concat(JSON.stringify(t),\",\")+\"\".concat(JSON.stringify(n),\",\")+\"$event.key,\"+\"\".concat(JSON.stringify(r))+\")\"}var Qs={on:function(t,e){t.wrapListeners=function(t){return\"_g(\".concat(t,\",\").concat(e.value,\")\")}},bind:function(t,e){t.wrapData=function(n){return\"_b(\".concat(n,\",'\").concat(t.tag,\"',\").concat(e.value,\",\").concat(e.modifiers&&e.modifiers.prop?\"true\":\"false\").concat(e.modifiers&&e.modifiers.sync?\",true\":\"\",\")\")}},cloak:E},tc=function(t){this.options=t,this.warn=t.warn||Ho,this.transforms=Bo(t.modules,\"transformCode\"),this.dataGenFns=Bo(t.modules,\"genData\"),this.directives=A(A({},Qs),t.directives);var e=t.isReservedTag||N;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function ec(t,e){var n=new tc(e),r=t?\"script\"===t.tag?\"null\":nc(t,n):'_c(\"div\")';return{render:\"with(this){return \".concat(r,\"}\"),staticRenderFns:n.staticRenderFns}}function nc(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return rc(t,e);if(t.once&&!t.onceProcessed)return oc(t,e);if(t.for&&!t.forProcessed)return sc(t,e);if(t.if&&!t.ifProcessed)return ic(t,e);if(\"template\"!==t.tag||t.slotTarget||e.pre){if(\"slot\"===t.tag)return function(t,e){var n=t.slotName||'\"default\"',r=fc(t,e),o=\"_t(\".concat(n).concat(r?\",function(){return \".concat(r,\"}\"):\"\"),i=t.attrs||t.dynamicAttrs?vc((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:x(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap[\"v-bind\"];!i&&!a||r||(o+=\",null\");i&&(o+=\",\".concat(i));a&&(o+=\"\".concat(i?\"\":\",null\",\",\").concat(a));return o+\")\"}(t,e);var n=void 0;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:fc(e,n,!0);return\"_c(\".concat(t,\",\").concat(cc(e,n)).concat(r?\",\".concat(r):\"\",\")\")}(t.component,t,e);else{var r=void 0,o=e.maybeComponent(t);(!t.plain||t.pre&&o)&&(r=cc(t,e));var i=void 0,a=e.options.bindings;o&&a&&!1!==a.__isScriptSetup&&(i=function(t,e){var n=x(e),r=C(n),o=function(o){return t[e]===o?e:t[n]===o?n:t[r]===o?r:void 0},i=o(\"setup-const\")||o(\"setup-reactive-const\");if(i)return i;var a=o(\"setup-let\")||o(\"setup-ref\")||o(\"setup-maybe-ref\");if(a)return a}(a,t.tag)),i||(i=\"'\".concat(t.tag,\"'\"));var s=t.inlineTemplate?null:fc(t,e,!0);n=\"_c(\".concat(i).concat(r?\",\".concat(r):\"\").concat(s?\",\".concat(s):\"\",\")\")}for(var c=0;c<e.transforms.length;c++)n=e.transforms[c](t,n);return n}return fc(t,e)||\"void 0\"}function rc(t,e){t.staticProcessed=!0;var n=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push(\"with(this){return \".concat(nc(t,e),\"}\")),e.pre=n,\"_m(\".concat(e.staticRenderFns.length-1).concat(t.staticInFor?\",true\":\"\",\")\")}function oc(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return ic(t,e);if(t.staticInFor){for(var n=\"\",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?\"_o(\".concat(nc(t,e),\",\").concat(e.onceId++,\",\").concat(n,\")\"):nc(t,e)}return rc(t,e)}function ic(t,e,n,r){return t.ifProcessed=!0,ac(t.ifConditions.slice(),e,n,r)}function ac(t,e,n,r){if(!t.length)return r||\"_e()\";var o=t.shift();return o.exp?\"(\".concat(o.exp,\")?\").concat(i(o.block),\":\").concat(ac(t,e,n,r)):\"\".concat(i(o.block));function i(t){return n?n(t,e):t.once?oc(t,e):nc(t,e)}}function sc(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?\",\".concat(t.iterator1):\"\",s=t.iterator2?\",\".concat(t.iterator2):\"\";return t.forProcessed=!0,\"\".concat(r||\"_l\",\"((\").concat(o,\"),\")+\"function(\".concat(i).concat(a).concat(s,\"){\")+\"return \".concat((n||nc)(t,e))+\"})\"}function cc(t,e){var n=\"{\",r=function(t,e){var n=t.directives;if(!n)return;var r,o,i,a,s=\"directives:[\",c=!1;for(r=0,o=n.length;r<o;r++){i=n[r],a=!0;var u=e.directives[i.name];u&&(a=!!u(t,i,e.warn)),a&&(c=!0,s+='{name:\"'.concat(i.name,'\",rawName:\"').concat(i.rawName,'\"').concat(i.value?\",value:(\".concat(i.value,\"),expression:\").concat(JSON.stringify(i.value)):\"\").concat(i.arg?\",arg:\".concat(i.isDynamicArg?i.arg:'\"'.concat(i.arg,'\"')):\"\").concat(i.modifiers?\",modifiers:\".concat(JSON.stringify(i.modifiers)):\"\",\"},\"))}if(c)return s.slice(0,-1)+\"]\"}(t,e);r&&(n+=r+\",\"),t.key&&(n+=\"key:\".concat(t.key,\",\")),t.ref&&(n+=\"ref:\".concat(t.ref,\",\")),t.refInFor&&(n+=\"refInFor:true,\"),t.pre&&(n+=\"pre:true,\"),t.component&&(n+='tag:\"'.concat(t.tag,'\",'));for(var o=0;o<e.dataGenFns.length;o++)n+=e.dataGenFns[o](t);if(t.attrs&&(n+=\"attrs:\".concat(vc(t.attrs),\",\")),t.props&&(n+=\"domProps:\".concat(vc(t.props),\",\")),t.events&&(n+=\"\".concat(Gs(t.events,!1),\",\")),t.nativeEvents&&(n+=\"\".concat(Gs(t.nativeEvents,!0),\",\")),t.slotTarget&&!t.slotScope&&(n+=\"slot:\".concat(t.slotTarget,\",\")),t.scopedSlots&&(n+=\"\".concat(function(t,e,n){var r=t.for||Object.keys(e).some((function(t){var n=e[t];return n.slotTargetDynamic||n.if||n.for||uc(n)})),o=!!t.if;if(!r)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==ws||i.for){r=!0;break}i.if&&(o=!0),i=i.parent}var a=Object.keys(e).map((function(t){return lc(e[t],n)})).join(\",\");return\"scopedSlots:_u([\".concat(a,\"]\").concat(r?\",null,true\":\"\").concat(!r&&o?\",null,false,\".concat(function(t){var e=5381,n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(a)):\"\",\")\")}(t,t.scopedSlots,e),\",\")),t.model&&(n+=\"model:{value:\".concat(t.model.value,\",callback:\").concat(t.model.callback,\",expression:\").concat(t.model.expression,\"},\")),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=ec(n,e.options);return\"inlineTemplate:{render:function(){\".concat(r.render,\"},staticRenderFns:[\").concat(r.staticRenderFns.map((function(t){return\"function(){\".concat(t,\"}\")})).join(\",\"),\"]}\")}}(t,e);i&&(n+=\"\".concat(i,\",\"))}return n=n.replace(/,$/,\"\")+\"}\",t.dynamicAttrs&&(n=\"_b(\".concat(n,',\"').concat(t.tag,'\",').concat(vc(t.dynamicAttrs),\")\")),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function uc(t){return 1===t.type&&(\"slot\"===t.tag||t.children.some(uc))}function lc(t,e){var n=t.attrsMap[\"slot-scope\"];if(t.if&&!t.ifProcessed&&!n)return ic(t,e,lc,\"null\");if(t.for&&!t.forProcessed)return sc(t,e,lc);var r=t.slotScope===ws?\"\":String(t.slotScope),o=\"function(\".concat(r,\"){\")+\"return \".concat(\"template\"===t.tag?t.if&&n?\"(\".concat(t.if,\")?\").concat(fc(t,e)||\"undefined\",\":undefined\"):fc(t,e)||\"undefined\":nc(t,e),\"}\"),i=r?\"\":\",proxy:true\";return\"{key:\".concat(t.slotTarget||'\"default\"',\",fn:\").concat(o).concat(i,\"}\")}function fc(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&\"template\"!==a.tag&&\"slot\"!==a.tag){var s=n?e.maybeComponent(a)?\",1\":\",0\":\"\";return\"\".concat((r||nc)(a,e)).concat(s)}var c=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.type){if(dc(o)||o.ifConditions&&o.ifConditions.some((function(t){return dc(t.block)}))){n=2;break}(e(o)||o.ifConditions&&o.ifConditions.some((function(t){return e(t.block)})))&&(n=1)}}return n}(i,e.maybeComponent):0,u=o||pc;return\"[\".concat(i.map((function(t){return u(t,e)})).join(\",\"),\"]\").concat(c?\",\".concat(c):\"\")}}function dc(t){return void 0!==t.for||\"template\"===t.tag||\"slot\"===t.tag}function pc(t,e){return 1===t.type?nc(t,e):3===t.type&&t.isComment?function(t){return\"_e(\".concat(JSON.stringify(t.text),\")\")}(t):function(t){return\"_v(\".concat(2===t.type?t.expression:hc(JSON.stringify(t.text)),\")\")}(t)}function vc(t){for(var e=\"\",n=\"\",r=0;r<t.length;r++){var o=t[r],i=hc(o.value);o.dynamic?n+=\"\".concat(o.name,\",\").concat(i,\",\"):e+='\"'.concat(o.name,'\":').concat(i,\",\")}return e=\"{\".concat(e.slice(0,-1),\"}\"),n?\"_d(\".concat(e,\",[\").concat(n.slice(0,-1),\"])\"):e}function hc(t){return t.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}function mc(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),E}}function gc(t){var e=Object.create(null);return function(n,r,o){(r=A({},r)).warn,delete r.warn;var i=r.delimiters?String(r.delimiters)+n:n;if(e[i])return e[i];var a=t(n,r),s={},c=[];return s.render=mc(a.render,c),s.staticRenderFns=a.staticRenderFns.map((function(t){return mc(t,c)})),e[i]=s}}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\"),new RegExp(\"\\\\b\"+\"delete,typeof,void\".split(\",\").join(\"\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b\")+\"\\\\s*\\\\([^\\\\)]*\\\\)\");var yc,_c,bc=(yc=function(t,e){var n=Cs(t.trim(),e);!1!==e.optimize&&Hs(n,e);var r=ec(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(t){function e(e,n){var r=Object.create(t),o=[],i=[];if(n)for(var a in n.modules&&(r.modules=(t.modules||[]).concat(n.modules)),n.directives&&(r.directives=A(Object.create(t.directives||null),n.directives)),n)\"modules\"!==a&&\"directives\"!==a&&(r[a]=n[a]);r.warn=function(t,e,n){(n?i:o).push(t)};var s=yc(e.trim(),r);return s.errors=o,s.tips=i,s}return{compile:e,compileToFunctions:gc(e)}}),$c=bc(Rs).compileToFunctions;function wc(t){return(_c=_c||document.createElement(\"div\")).innerHTML=t?'<a href=\"\\n\"/>':'<div a=\"\\n\"/>',_c.innerHTML.indexOf(\" \")>0}var xc=!!q&&wc(!1),Cc=!!q&&wc(!0),kc=$((function(t){var e=co(t);return e&&e.innerHTML})),Sc=Er.prototype.$mount;return Er.prototype.$mount=function(t,e){if((t=t&&co(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(\"string\"==typeof r)\"#\"===r.charAt(0)&&(r=kc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement(\"div\");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=$c(r,{outputSourceRange:!1,shouldDecodeNewlines:xc,shouldDecodeNewlinesForHref:Cc,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return Sc.call(this,t,e)},Er.compile=$c,A(Er,Jn),Er.effect=function(t,e){var n=new Xn(ut,t,E,{sync:!0});e&&(n.update=function(){e((function(){return n.run()}))})},Er}));","import axios from 'axios'\n\n// https://github.com/alvar0hurtad0/drupal-vuejs-todo/blob/master/frontend/src/api/axiosInterceptor.js\n\n// console.log('drupalSettings', drupalSettings)\nconsole.log(window.location)\n\nconst MGQ = axios.create({\n baseURL: window.location.origin + '/' + drupalSettings.path.pathPrefix + 'mgq',\n withCredentials: true,\n headers: {\n Accept: 'application/json',\n // Accept: 'application/vnd.api+json'\n // Authorization: 'Basic {token}',\n 'Content-Type': 'application/json'\n }\n})\n\nMGQ.interceptors.response.use(\n response => {\n return Promise.resolve(response)\n },\n error => {\n const { status } = error.response\n console.warn('error in graphql-axios', status)\n if (status === 403) {\n window.location = '/'\n }\n return Promise.reject(error)\n }\n)\n\nexport default MGQ\n","// import REST from 'vuejs/api/rest-axios'\n// import JSONAPI from 'vuejs/api/json-axios'\n// import qs from 'querystring-es3'\n\nexport default {\n namespaced: true,\n\n // initial state\n state: {\n pagetitle: null,\n hamburgerMenuToggle: document.querySelector('input#header-block-right-toggle'),\n coolLightBoxItems: null,\n coolLightBoxIndex: null\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n setPagetitle (state, title) {\n console.log('Common, setPagetitle', title)\n state.pagetitle = title\n },\n setHamMenuState (state, s) {\n state.hamburgerMenuToggle.checked = s\n },\n setcoolLightBoxItems (state, items) {\n state.coolLightBoxItems = items\n },\n setcoolLightBoxIndex (state, i) {\n state.coolLightBoxIndex = i\n }\n },\n\n // actions\n actions: {\n openCloseHamMenu ({ dispatch, commit, state }, s) {\n console.log('openCloseHamMenu', s)\n commit('setHamMenuState', s)\n },\n setcoolLightBoxIndex ({ dispatch, commit, state }, i) {\n console.log('setcoolLightBoxIndex', i)\n commit('setcoolLightBoxIndex', i)\n },\n setcoolLightBoxItems ({ dispatch, commit, state }, items) {\n console.log('setcoolLightBoxItems', items)\n commit('setcoolLightBoxItems', items)\n }\n }\n\n}\n","import REST from 'vuejs/api/rest-axios'\n// import JSONAPI from 'vuejs/api/json-axios'\nimport MA from 'vuejs/api/ma-axios'\nimport qs from 'querystring-es3'\n\nimport materiauFlaglistGQL from 'vuejs/api/gql/materiauflaglist.fragment.gql'\n\n// import router from 'vuejs/route' // this is not working\n\nexport default {\n namespaced: true,\n // router,\n\n // initial state\n state: {\n uid: null,\n // username: '',\n mail: '',\n name: null,\n csrf_token: null,\n logout_token: null,\n loginMessage: '',\n registerMessage: '',\n isloggedin: false,\n isAdmin: false,\n isAdherent: false,\n canSearch: false,\n hasDBAccess: false,\n roles: [],\n flagcolls: false,\n flagcollsLoadedItems: {},\n openedCollid: null\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n SetCsrftoken (state, token) {\n console.log('SetCsrftoken', token)\n state.csrf_token = token\n },\n SetLogouttoken (state, token) {\n state.logout_token = token\n },\n setToken (state, data) {\n console.log('setToken', data)\n state.uid = data.current_user.uid\n // state.username = data.username;\n state.mail = data.current_user.mail\n state.csrf_token = data.csrf_token\n // state.isloggedin = true\n state.logout_token = data.logout_token\n },\n setLoginMessage (state, message) {\n console.log('setLoginMessage', message)\n state.loginMessage = message\n },\n setRegisterMessage (state, message) {\n console.log('setRegisterMessage', message)\n state.registerMessage = message\n },\n setUid (state, uid) {\n state.uid = uid\n state.isloggedin = true\n },\n setUser (state, data) {\n state.mail = data.mail[0].value\n state.uuid = data.uuid[0].value\n state.name = data.name[0].value\n // with session_limit, only here we are certain that the user is logged\n state.isloggedin = true\n },\n setRoles (state, roles) {\n console.log('User setRoles', roles)\n state.roles = []\n for (let i = 0; i < roles.length; i++) {\n state.roles.push(roles[i].target_id)\n }\n // check if admin\n if (\n state.roles.indexOf('admin') !== -1 ||\n state.roles.indexOf('root') !== -1\n ) {\n // console.log('is admin')\n state.isAdmin = true\n }\n // check if has access to search\n if (state.roles.indexOf('adherent') !== -1 ||\n state.roles.indexOf('student') !== -1) {\n // console.log('is admin')\n state.canSearch = true\n state.isAdherent = true\n }\n if (state.isAdherent || state.isAdmin) {\n state.hasDBAccess = true\n }\n },\n // setName (state, name) {\n // console.log('setName', name)\n // state.name = name\n // },\n setLoggedOut (state) {\n console.log('setLoggedOut state', state)\n state.uid = null\n state.mail = ''\n state.csrf_token = null\n state.isloggedin = false\n state.logout_token = null\n state.asAdmin = false\n state.canSearch = false\n // if (state.isAdmin) {\n // // TODO: what if on a page where login is needed (as commerce checkout and cart)\n // window.location.reload(true)\n // } else {\n //\n // // return systematically to home page\n // this.$router.push({\n // name:`home`\n // // params: { alias:this.alias }\n // // query: { nid: this.item.nid }\n // // meta: { uuid:this.item.uuid },\n // })\n // }\n\n // redirect to home page in every case\n window.location = window.location.origin\n },\n setFlagColls (state, flagcolls) {\n console.log('User pre setFlagColls', state.flagcolls)\n state.flagcolls = flagcolls\n // console.log('User post setFlagColls', state.flagcolls)\n },\n openFlagColl (state, collid) {\n state.openedCollid = collid\n },\n closeFlagColl (state) {\n state.openedCollid = null\n },\n setLoadedCollItems (state, data) {\n console.log('setLoadedCollItems', data)\n // if no data, we are just calling the mutation to trigger the component update\n if (data) {\n state.flagcollsLoadedItems[data.collid] = data.items\n }\n }\n },\n\n // actions\n actions: {\n userRegister ({ dispatch, commit, state }, credentials) {\n return new Promise((resolve) => {\n REST.get('/session/token').then(({ token }) => {\n commit('SetCsrftoken', token)\n REST.post('/user/register?_format=json', credentials, {\n 'X-CSRF-Token': state.csrftoken,\n validateStatus: function (status) {\n return status >= 200 && status < 500\n }\n })\n .then((response) => {\n console.log('user REST registered', response)\n if (response.status === 200) {\n dispatch('userLogin', credentials).then(() => {\n resolve()\n })\n } else {\n let message = ''\n switch (response.status) {\n case 422:\n message = 'email is already registered'\n break\n default:\n message = response.data.message\n }\n commit('setRegisterMessage', message)\n }\n })\n .catch(error => {\n console.warn('Issue with register', error)\n Promise.reject(error)\n })\n })\n })\n },\n userLogin ({ dispatch, commit, state }, credentials) {\n return new Promise((resolve, reject) => {\n dispatch('postUserLogin', credentials)\n // TODO: catch failed login\n .then((response) => {\n console.log('userLogin dispatch postUserLogin response', response)\n\n if (response.status === 200) {\n commit('setToken', response.data)\n dispatch('getUser').then(userdata => {\n console.log('User Loggedin', state.isAdmin, state.isAdherent)\n // have to reload systematicly because of autologout library not loaded if not logged in the begining\n if (state.isAdmin) {\n window.location.reload()\n }\n if (state.isAdherent) {\n // router.push({\n // name: 'base'\n // })\n // // TODO: openCloseHamMenu(false)\n // dispatch('Common/openCloseHamMenu', false)\n window.location = '/base'\n }\n // else {\n // // * window.location.reload()\n // }\n resolve()\n })\n } else {\n commit('setLoginMessage', response.data.message)\n console.warn('Issue with postUserLogin', response)\n console.log('user loggein failed')\n Promise.reject(new Error('user loggein failed'))\n }\n })\n .catch(error => {\n console.warn('Issue with Dispatch postUserLogin', error)\n Promise.reject(error)\n })\n })\n },\n postUserLogin ({ dispatch, commit, state }, credentials) {\n return REST.post('/user/login?_format=json',\n credentials,\n {\n validateStatus: function (status) {\n return status >= 200 && status < 500\n }\n })\n },\n getUser ({ dispatch, commit, state }) {\n return new Promise((resolve, reject) => {\n REST.get('/session/token').then(({ data }) => {\n console.log('csrftoken', data)\n commit('SetCsrftoken', data)\n console.log('state.csrf_token', state.csrf_token)\n // INFO this endpoiunt needs https://www.drupal.org/project/logout_token\n REST.get('/session/logout/token')\n .then(({ data }) => {\n console.log('logout_token', data)\n commit('SetLogouttoken', data)\n const params = {\n token: state.csrf_token\n }\n REST.get(`/user/${state.uid}?_format=json`, params)\n .then(({ data }) => {\n console.log('user REST getUser data', data)\n console.log('roles', data.roles)\n // with session_limit, only here we are certain that the user is logged\n commit('setUser', data)\n if (data.roles) {\n commit('setRoles', data.roles)\n }\n // console.log('customer_profiles', data.customer_profiles.length)\n // if (data.customer_profiles.length) {\n // dispatch('getUserProfiles', data.customer_profiles[data.customer_profiles.length - 1].target_id)\n // }\n dispatch('getUserFlagColls')\n resolve()\n })\n .catch(error => {\n console.warn('Issue with getUser', error)\n Promise.reject(error)\n })\n })\n .catch(error => {\n console.warn('Issue with getUser', error)\n Promise.reject(error)\n })\n })\n })\n },\n // getUserProfiles ({ dispatch, commit, state }, pid) {\n // const params = {\n // token: state.csrf_token\n // }\n // REST.get(`/profile/${pid}?_format=json`, params).then(({ data }) => {\n // console.log('profile', data)\n // if (data.address.length) {\n // commit('setName', `${data.address[0].given_name} ${data.address[0].family_name} `)\n // }\n // }).catch(error => {\n // console.warn('Issue with getUser', error)\n // Promise.reject(error)\n // })\n // },\n getUserFlagColls ({ dispatch, commit, state }) {\n // flags\n // REST.get('/flagging_collection/1?_format=json')\n // .then((data) => {\n // console.log('TEST FLAG REST data', data)\n // })\n // .catch(error => {\n // console.warn('Issue USER TEST FLAG REST', error)\n // Promise.reject(error)\n // })\n\n return MA.get('materio_flag/user_flagging_collections')\n .then(({ data }) => {\n console.log('user MA getFlags data', data)\n commit('setFlagColls', data)\n })\n .catch(error => {\n console.warn('Issue USER MA getFlags', error)\n Promise.reject(error)\n })\n },\n // https://drupal.stackexchange.com/questions/248539/cant-get-flagging-api-to-accept-post-request\n createFlagColl ({ dispatch, commit, state }, newCollectionName) {\n console.log('user createFlagColl', newCollectionName)\n return new Promise((resolve, reject) => {\n const params = {\n name: newCollectionName\n }\n MA.post('materio_flag/create_user_flagging_collection', params)\n .then(({ data }) => {\n console.log('user MA createFlagColl data', data)\n if (data.status) {\n dispatch('getUserFlagColls').then(() => {\n resolve(data)\n })\n }\n })\n .catch(error => {\n console.warn('Issue USER MA createFlag', error)\n reject(error)\n })\n })\n },\n deleteFlagColl ({ dispatch, commit, state }, flagcollid) {\n console.log('user deleteFlagColl', flagcollid)\n return new Promise((resolve, reject) => {\n const params = {\n flagcollid: flagcollid\n }\n MA.post('materio_flag/delete_user_flagging_collection', params)\n .then(({ data }) => {\n console.log('user MA deleteFlagColl data', data)\n dispatch('getUserFlagColls').then(() => {\n resolve()\n })\n })\n .catch(error => {\n console.warn('Issue USER MA createFlag', error)\n reject(error)\n })\n })\n },\n flagUnflag ({ dispatch, commit, state }, { action, id, collid }) {\n console.log('user flagUnflag', action, id, collid)\n return new Promise((resolve, reject) => {\n const params = {\n flagid: state.flagcolls[collid].flag_id,\n id: id,\n flagcollid: collid\n }\n return MA.post(`materio_flag/${action}`, params)\n .then(({ data }) => {\n console.log('user MA flag', data)\n // reload the fulllist of flagcolleciton\n dispatch('getUserFlagColls').then(() => {\n if (state.flagcolls[collid].items.length) {\n dispatch('loadMaterialsGQL', {\n ids: state.flagcolls[collid].items,\n gqlfragment: materiauFlaglistGQL,\n gqlFragmentfields: 'MateriauFlagListFields',\n callBack: 'loadMaterialsCallBack',\n callBackArgs: { collid: collid }\n }).then(() => {\n resolve()\n })\n\n // dispatch('loadMaterials', {\n // uuids: state.flagcolls[collid].items_uuids,\n // imgStyle: ['card_medium_half'],\n // callBack: 'loadMaterialsCallBack',\n // callBackArgs: { collid: collid }\n // }).then(() => {\n // resolve()\n // })\n } else {\n commit('setLoadedCollItems', { collid: collid, items: [] })\n resolve()\n }\n })\n })\n .catch(error => {\n console.warn('Issue USER MA flagUnflag', error)\n })\n })\n },\n openFlagColl ({ commit, dispatch, state }, collid) {\n console.log('user openFlagColl', collid)\n commit('openFlagColl', collid)\n if (state.flagcolls[collid].items.length) {\n if (typeof state.flagcollsLoadedItems[collid] === 'undefined') {\n console.log('loading flagcoll items', state.flagcolls[collid])\n // if no loadedItems, load them\n // loadMaterials is on mixins\n // https://github.com/huybuidac/vuex-extensions\n\n dispatch('loadMaterialsGQL', {\n ids: state.flagcolls[collid].items,\n gqlfragment: materiauFlaglistGQL,\n gqlFragmentfields: 'MateriauFlagListFields',\n callBack: 'loadMaterialsCallBack',\n callBackArgs: { collid: collid }\n })\n\n // dispatch('loadMaterials', {\n // uuids: state.flagcolls[collid].items_uuids,\n // imgStyle: ['card_medium_half'],\n // callBack: 'loadMaterialsCallBack',\n // callBackArgs: { collid: collid }\n // })\n } else {\n // call the mutation without data to only trigger the FlagCollection component update\n console.log('committing setLoadedCollItems without args')\n commit('setLoadedCollItems')\n }\n } else {\n commit('setLoadedCollItems', { collid: collid, items: [] })\n }\n },\n loadMaterialsCallBack ({ commit }, { items, callBackArgs }) {\n console.log('user loadMaterialsCallBack', items, callBackArgs)\n commit('setLoadedCollItems', { collid: callBackArgs.collid, items: items })\n },\n closeFlagColl ({ commit, dispatch }) {\n console.log('user closeFlagColl')\n commit('closeFlagColl')\n },\n userLogout ({ commit, state }) {\n const params = qs.stringify({\n // format: 'json'\n // token: state.logout_token\n })\n const config = {\n headers: {\n 'X-CSRF-Token': state.csrf_token\n }\n }\n REST.post('/user/logout?format=json&token=' + state.logout_token, params, config)\n .then(resp => {\n console.log('userLogout resp', resp)\n commit('setLoggedOut')\n // window.location.reload(true) ???\n })\n .catch(error => {\n console.warn('Issue with logout', error)\n Promise.reject(error)\n })\n }\n }\n}\n","// import REST from 'vuejs/api/rest-axios'\n// import JSONAPI from 'vuejs/api/json-axios'\nimport MA from 'vuejs/api/ma-axios'\nimport qs from 'querystring-es3'\n\nimport Vue from 'vue'\n\nimport MGQ from 'vuejs/api/graphql-axios'\nimport { print } from 'graphql/language/printer'\nimport gql from 'graphql-tag'\nimport searchresultGQL from 'vuejs/api/gql/searchresults.fragment.gql'\n\nexport default {\n namespaced: true,\n\n // initial state\n state: {\n keys: [],\n terms: [],\n filters: [],\n uuids: [],\n items: [],\n offset: 0,\n limit: 15,\n infos: null,\n count: 0,\n noresults: false,\n // infinteState will come from vue-infinite-loading plugin\n // implemented in vuejs/components/Content/Base.vue\n infiniteLoadingState: null\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n setUuids (state, uuids) {\n state.uuids = state.uuids.concat(uuids)\n },\n resetUuids (state) {\n state.uuids = []\n },\n setResults (state, items) {\n // console.log('setResults, items', items)\n if (items) { // avoid bug like items = [null]\n state.items = state.items.concat(items)\n }\n // console.log('setResults, state.items', state.items)\n },\n updateItem (state, item) {\n // state.items[data.index] = data.item // this is not triggering vuejs refresh\n // find the right index\n const index = state.items.findIndex(i => i.id === item.id)\n // update the array\n if (index !== -1) {\n Vue.set(state.items, index, item)\n }\n // console.log(\"mutation updateItem state.items\", state.items)\n },\n resetItems (state) {\n state.items = []\n },\n setKeys (state, keys) {\n state.keys = keys\n },\n reSetKeys (state) {\n state.keys = []\n },\n setTerms (state, terms) {\n state.terms = terms\n console.log('search store setTerms', terms)\n },\n reSetTerms (state) {\n state.terms = []\n },\n setFilters (state, filters) {\n console.log('store search setFilters', filters)\n state.filters = typeof filters === 'string' ? filters.split(',') : filters\n },\n reSetFilters (state) {\n state.filters = []\n },\n setInfos (state, infos) {\n state.infos = infos\n },\n setCount (state, count) {\n state.count = count\n },\n resetCount (state, count) {\n state.count = false\n },\n setNoresults (state) {\n state.noresults = true\n },\n resetNoresults (state) {\n state.noresults = false\n },\n resetOffset (state) {\n state.offset = 0\n },\n resetInfos (state) {\n state.infos = false\n },\n incrementOffset (state) {\n state.offset += state.limit\n },\n setInfiniteState (state, infiniteLoadingstate) {\n state.infiniteLoadingState = infiniteLoadingstate\n }\n },\n\n // actions\n actions: {\n newSearch ({ dispatch, commit, state }) {\n console.log('Search newSearch, state.keys', state.keys)\n commit('resetUuids')\n commit('resetItems')\n commit('resetCount')\n commit('resetNoresults')\n commit('resetOffset')\n commit('resetInfos')\n if (state.keys || state.terms.length) {\n this.commit('Common/setPagetitle', state.keys.join(', '))\n } else {\n this.commit('Common/setPagetitle', 'Base')\n }\n dispatch('getResults')\n },\n nextPage ({ dispatch, commit, state }, $infiniteLoadingstate) {\n console.log('Search nextPage', $infiniteLoadingstate)\n commit('incrementOffset')\n commit('setInfiniteState', $infiniteLoadingstate)\n dispatch('getResults')\n },\n getResults ({ dispatch, commit, state }) {\n const params = {\n keys: state.keys.join(', '),\n terms: JSON.stringify(state.terms),\n offset: state.offset,\n limit: state.limit\n }\n console.log('search store getResults, params', params)\n if (state.filters) {\n console.log('getResults filters', state.filters)\n params.filters = state.filters.join(',')\n }\n // console.log('Search getResults params', params)\n const q = qs.stringify(params)\n // * Qs.Stringify () Arrayformat: 'Repeat' : https://programmerall.com/article/31901061156/\n // const q = qs.stringify(params, { arrayFormat: 'comma', encode: false })\n // * arrayFormat is not working, made state.keys.join(', ') instead\n return MA.get('/materio_sapi/getresults?' + q)\n .then(({ data }) => {\n console.log('search MA getresults data', data, state.terms)\n // commit('setItems', data.items)\n commit('setInfos', data.infos)\n commit('setCount', data.count)\n if (data.count) {\n commit('setUuids', data.uuids)\n // loadMaterials is on mixins\n // https://github.com/huybuidac/vuex-extensions\n // dispatch('loadMaterialsGQL', {\n // ids: data.nids,\n // gqlfragment: materiauGQL,\n // callBack: 'loadSearchResultsCallBack'\n // })\n const ast = gql`{\n searchresults(ids: [${data.nids}], lang: \"${drupalDecoupled.lang_code}\") {\n ...SearchResultFields\n }\n }\n ${searchresultGQL}\n `\n MGQ.post('', { query: print(ast) })\n .then(resp => {\n console.log('loadSearchResultsGQL resp', resp)\n dispatch('loadSearchResultsCallBack', { items: resp.data.data.searchresults })\n })\n .catch(error => {\n console.warn('Issue with loadSearchResults', error)\n Promise.reject(error)\n })\n } else {\n commit('setNoresults')\n }\n })\n .catch((error) => {\n console.warn('Issue with getResults', error)\n // window.location.reload()\n Promise.reject(error)\n })\n },\n loadSearchResultsCallBack ({ commit, state }, { items, callBackArgs }) {\n console.log('search loadSearchResultsCallBack', items)\n commit('setResults', items)\n if (state.infiniteLoadingState) {\n if (state.offset + state.limit > state.count) {\n console.log('Search infinite completed')\n // tell to vue-infinite-loading plugin that there si no new page\n state.infiniteLoadingState.complete()\n } else {\n console.log('Search infinite loaded')\n // tell to vue-infinite-loading plugin that newpage is loaded\n state.infiniteLoadingState.loaded()\n }\n }\n },\n refreshItem ({ commit, state }, { id }) {\n console.log('Search refreshItem: id', id)\n const ast = gql`{\n searchresult(id: ${id}, lang: \"${drupalDecoupled.lang_code}\") {\n ...SearchResultFields\n }\n }\n ${searchresultGQL}\n `\n MGQ.post('', { query: print(ast) })\n .then(resp => {\n console.log('refreshItem searchresult resp', resp)\n // dispatch(\"loadSearchResultsCallBack\", { items: resp.data.data.searchresults})\n commit('updateItem', resp.data.data.searchresult)\n })\n .catch(error => {\n console.warn('Issue with refreshItem', error)\n Promise.reject(error)\n })\n }\n }\n}\n","// import JSONAPI from 'vuejs/api/json-axios'\nimport REST from 'vuejs/api/rest-axios'\n// import MA from 'vuejs/api/ma-axios'\n// import qs from 'querystring-es3'\n\nexport default {\n namespaced: true,\n\n // initial state\n state: {\n contenttype: null,\n items: [],\n page: 0,\n // infinteState will come from vue-infinite-loading plugin\n // implemented in vuejs/components/Content/Base.vue\n infiniteLoadingState: null\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n setItems (state, items) {\n state.items = state.items.concat(items)\n },\n incrementPage (state) {\n state.page += 1\n },\n setInfiniteState (state, infiniteLoadingstate) {\n state.infiniteLoadingState = infiniteLoadingstate\n }\n },\n\n // actions\n actions: {\n getItems ({ dispatch, commit, state }) {\n return REST.get(`/blabla_rest?_format=json&page=${state.page}`, {})\n .then(({ data }) => {\n console.log('blabla REST: data', data)\n if (data.length) {\n commit('setItems', data)\n // console.log('items.length', this.items.length)\n if (state.infiniteLoadingState) { state.infiniteLoadingState.loaded() }\n } else {\n if (state.infiniteLoadingState) { state.infiniteLoadingState.complete() }\n }\n })\n .catch((error) => {\n console.warn('Issue with blabla getitems', error)\n Promise.reject(error)\n })\n },\n nextPage ({ dispatch, commit, state }, $infiniteLoadingstate) {\n console.log('blabla nextPage', $infiniteLoadingstate)\n commit('incrementPage')\n commit('setInfiniteState', $infiniteLoadingstate)\n dispatch('getItems')\n },\n getItemIndex ({ dispatch, commit, state }, nid) {\n console.log('getItemIndex nid', nid)\n return state.items.findIndex((e) => {\n // console.log('findIndex', e.nid, nid)\n return parseInt(e.nid) === nid\n })\n },\n getPrevNextItems ({ dispatch, commit, state }, index) {\n // TODO: preload prev and next items\n return {\n prev: state.items[index - 1],\n next: state.items[index + 1]\n }\n }\n }\n}\n","// import JSONAPI from 'vuejs/api/json-axios'\n// import REST from 'vuejs/api/rest-axios'\n// import MA from 'vuejs/api/ma-axios'\n// import qs from 'querystring-es3'\nimport MGQ from 'vuejs/api/graphql-axios'\nimport { print } from 'graphql/language/printer'\nimport gql from 'graphql-tag'\nimport ShowroomFields from 'vuejs/api/gql/showroom.fragment.gql'\n\nexport default {\n namespaced: true,\n\n // initial state\n state: {\n items: [],\n showrooms_by_tid: {}\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n setItems (state, items) {\n state.items = items\n items.forEach((item, i) => {\n state.showrooms_by_tid[item.id] = item\n })\n // console.log('Showroom setitems', state.showrooms_by_tid)\n }\n },\n\n // actions\n actions: {\n getShowrooms ({ dispatch, commit, state }) {\n // REST.get('/showrooms_rest?_format=json', {})\n // .then(({ data }) => {\n // console.log('showrooms REST: data', data)\n // commit('setItems', data)\n // })\n // .catch((error) => {\n // console.warn('Issue with showrooms', error)\n // Promise.reject(error)\n // })\n const ast = gql`{\n allshowrooms(lang: \"${drupalDecoupled.lang_code}\") {\n ...ShowroomFields\n }\n }\n ${ShowroomFields}\n `\n MGQ.post('', { query: print(ast) })\n .then(({ data: { data: { allshowrooms } } }) => {\n console.log('loadshowrooms showrooms loaded', allshowrooms)\n commit('setItems', allshowrooms)\n })\n .catch(error => {\n console.warn('Issue with getShowrooms', error)\n Promise.reject(error)\n })\n }\n }\n}\n","import REST from 'vuejs/api/rest-axios'\n\nimport MGQ from 'vuejs/api/graphql-axios'\nimport { print } from 'graphql/language/printer'\nimport gql from 'graphql-tag'\nimport productsGQL from 'vuejs/api/gql/products.fragment.gql'\n\nexport default {\n namespaced: true,\n\n // initial state\n state: {\n products_ids: [],\n products: []\n },\n\n // getters\n getters: {},\n\n // mutations\n mutations: {\n setProductsIds (state, ids) {\n state.products_ids = ids\n },\n setProducts (state, p) {\n state.products = p\n }\n },\n\n // actions\n actions: {\n getProducts ({ dispatch, commit, state }) {\n dispatch('loadProductsIds')\n },\n loadProductsIds ({ dispatch, commit, state }) {\n REST.get('/pricing_rest?_format=json', {})\n .then(({ data }) => {\n console.log('getProducts REST: data', data)\n const ids = []\n for (let i = 0; i < data.length; i++) {\n ids.push(data[i].product_id)\n }\n commit('setProductsIds', ids)\n dispatch('loadProducts')\n })\n .catch((error) => {\n console.warn('Issue with pricing', error)\n Promise.reject(error)\n })\n },\n loadProducts ({ dispatch, commit, state }) {\n const ast = gql`{\n products(ids: [${state.products_ids}], lang: \"${drupalDecoupled.lang_code}\") {\n ...ProductsFields\n }\n }\n ${productsGQL}\n `\n MGQ.post('', { query: print(ast) })\n .then((resp) => {\n console.log('loadProductsGQL resp', resp)\n commit('setProducts', resp.data.data.products)\n })\n .catch(error => {\n console.warn('Issue with loadProducts', error)\n Promise.reject(error)\n })\n }\n\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nimport { createStore } from 'vuex-extensions'\n\n// import JSONAPI from 'vuejs/api/json-axios'\n// import qs from 'querystring-es3'\n\nimport MGQ from 'vuejs/api/graphql-axios'\nimport { print } from 'graphql/language/printer'\nimport gql from 'graphql-tag'\n// import materiauFields from 'vuejs/api/gql/materiau.fragment.gql'\n\nimport Common from './modules/common'\nimport User from './modules/user'\nimport Search from './modules/search'\nimport Blabla from './modules/blabla'\nimport Showrooms from './modules/showrooms'\nimport Pages from './modules/pages'\n\n// https://github.com/vuejs/vuex/tree/dev/examples/shopping-cart\n\nVue.use(Vuex)\n// export default new Vuex.Store({\nexport default createStore(Vuex.Store, {\n modules: {\n Common,\n User,\n Search,\n Blabla,\n Showrooms,\n Pages\n },\n // https://github.com/huybuidac/vuex-extensions\n mixins: {\n actions: {\n loadMaterialsGQL ({ dispatch }, { ids, gqlfragment, gqlFragmentfields, callBack, callBackArgs }) {\n console.log('loadMaterialsGQL ids', ids)\n\n const ast = gql`{\n materiaux(ids: [${ids}]) {\n ...${gqlFragmentfields}\n }\n }\n ${gqlfragment}\n `\n MGQ.post('', { query: print(ast) })\n .then((resp) => {\n console.log('loadMaterialsGQL resp', resp)\n // dispatch('parseMaterialsGQL', {\n // items: resp.data.data.materiaux,\n // callBack: callBack,\n // callBackArgs: callBackArgs\n // })\n dispatch(callBack, {\n items: resp.data.data.materiaux,\n callBackArgs: callBackArgs\n })\n })\n .catch(error => {\n console.warn('Issue with loadMaterials', error)\n Promise.reject(error)\n })\n }\n // parseMaterialsGQL ({ dispatch }, { items, callBack, callBackArgs }) {\n // dispatch(callBack, { items: items, callBackArgs: callBackArgs })\n // }\n // loadMaterials ({ dispatch }, { uuids, imgStyle, callBack, callBackArgs }) {\n // const params = {\n // // include: 'images', // no needs to include thanks to consumers_image_styles module\n // // include: 'drupal_internal__nid',\n // 'filter[uuids-groupe][group][conjunction]': 'OR'\n // }\n // for (let i = 0; i < uuids.length; i++) {\n // const uuid = uuids[i]\n // params[`filter[${uuid}][condition][path]`] = 'id'\n // params[`filter[${uuid}][condition][value]`] = uuid\n // params[`filter[${uuid}][condition][operator]`] = '='\n // params[`filter[${uuid}][condition][memberOf]`] = 'uuids-groupe'\n // }\n // // console.log('search JSONAPI params', params)\n // const q = qs.stringify(params)\n // return JSONAPI.get('node/materiau?' + q)\n // .then(({ data }) => {\n // console.log('mixin getMaterials data', data)\n // dispatch('parseMaterials', { data: data.data, uuids: uuids, imgStyle: imgStyle, callBack: callBack, callBackArgs: callBackArgs })\n // // commit('setItems', data.items)\n // })\n // .catch((error) => {\n // console.warn('Issue with getItems', error)\n // Promise.reject(error)\n // })\n // },\n // parseMaterials ({ dispatch }, { data, uuids, imgStyle, callBack, callBackArgs }) {\n // // data comes from jsonapi query\n // // uuids comes from original query (solr, FlagCollection, etc)\n // // so we loop from uuids to conserve the original order\n // console.log('mixin parseMaterials', data, uuids, callBack, callBackArgs)\n // const items = []\n // // for (let i = 0; i < data.length; i++) {\n // for (let i = 0; i < uuids.length; i++) {\n // const uuid = uuids[i]\n // // https://stackoverflow.com/questions/11258077/how-to-find-index-of-an-object-by-key-and-value-in-an-javascript-array\n // const item_index = data.findIndex(p => p.id === uuid)\n // // console.log('item_index', item_index)\n // if (item_index === -1) continue\n //\n // const item_src = data[item_index]\n // const attrs = item_src.attributes\n // const relations = item_src.relationships\n //\n // // get field values\n // const item = {\n // uuid: uuid,\n // title: attrs.title,\n // field_short_description: attrs.field_short_description,\n // body: attrs.body,\n // field_reference: attrs.field_reference\n // }\n //\n // // get images included values\n // const img_src = relations.images.data\n // // console.log('img_src', img_src)\n // // this is a temporary deactivation of images\n // // img_src = [];\n // item.images = []\n // for (let j = 0; j < img_src.length; j++) {\n // if (img_src[j].meta.imageDerivatives) {\n // let img_styles = {}\n // for (let k = 0; k < imgStyle.length; k++) {\n // img_styles[imgStyle[k]] = img_src[j].meta.imageDerivatives.links.[imgStyle[k]].href\n // }\n // item.images.push({\n // title: img_src[j].meta.title,\n // src: img_src[j].meta.imageDerivatives.links.hd.href,\n // // meta.imageDerivatives.style.href link is provided by drupal consumers_image_styles module\n // // BUG: missing all image derivative but first\n // img_styles: img_styles\n // })\n // } else {\n // console.warn('missing image derivative ' + j + '/' + img_src.length + ' for ' + attrs.title)\n // }\n // }\n //\n // items.push(item)\n // }\n // console.log('items', items)\n // dispatch(callBack, { items: items, callBackArgs: callBackArgs })\n // }\n }\n }\n})\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createStore = void 0;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar deepCopy = require('./util')({\n circles: true\n});\n\nvar createStore = function createStore(vuexStoreClass) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var mixins = options.mixins || {}; // static module\n\n injectModule(options, mixins);\n\n if (!vuexStoreClass.prototype.reset) {\n // dynamic module\n var rawRegisterModule = vuexStoreClass.prototype.registerModule;\n\n vuexStoreClass.prototype.registerModule = function (path, rawModule) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n injectModule(rawModule, mixins);\n rawRegisterModule.call(this, path, rawModule, options);\n }; // reset to original state\n\n\n vuexStoreClass.prototype.reset = function (options) {\n var originalState = getOriginalState(this._modules.root, deepCopy(this._vm._data.$$state), options);\n this.replaceState(deepCopy(originalState));\n };\n }\n\n var store = new vuexStoreClass(options);\n return store;\n};\n\nexports.createStore = createStore;\n\nfunction injectModule(m, mixins) {\n m._originalState = deepCopy((typeof m.state === 'function' ? m.state() : m.state) || {});\n var mutations = mixins.mutations,\n actions = mixins.actions,\n getters = mixins.getters;\n\n if (mutations) {\n m.mutations = _objectSpread(_objectSpread({}, mutations), m.mutations || {});\n }\n\n if (actions) {\n m.actions = _objectSpread(_objectSpread({}, actions), m.actions || {});\n }\n\n if (getters) {\n m.getters = _objectSpread(_objectSpread({}, getters), m.getters || {});\n }\n\n if (m.modules) {\n Object.values(m.modules).forEach(function (subModule) {\n injectModule(subModule, mixins);\n });\n }\n}\n\nfunction getOriginalState(module, moduleVueState) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var defaultReset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n if (options.self === undefined) {\n options.self = defaultReset;\n }\n\n if (options.nested === undefined) {\n options.nested = options.self;\n }\n\n var state = options.self ? module._rawModule._originalState : moduleVueState;\n module.forEachChild(function (childModule, key) {\n var nestOption = {};\n\n if (options.modules && options.modules[key]) {\n nestOption = _objectSpread({}, options.modules[key]);\n }\n\n state[key] = getOriginalState(childModule, moduleVueState[key], nestOption, options.nested);\n });\n return state;\n}","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n *\n * @author Jerry Bendy\n * @since 4/12/2017\n */\n\nfunction touchX(event) {\n if(event.type.indexOf('mouse') !== -1){\n return event.clientX;\n }\n return event.touches[0].clientX;\n}\n\nfunction touchY(event) {\n if(event.type.indexOf('mouse') !== -1){\n return event.clientY;\n }\n return event.touches[0].clientY;\n}\n\nvar isPassiveSupported = (function() {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return supportsPassive;\n})();\n\n// Save last touch time globally (touch start time or touch end time), if a `click` event triggered,\n// and the time near by the last touch time, this `click` event will be ignored. This is used for\n// resolve touch through issue.\nvar globalLastTouchTime = 0;\n\nvar vueTouchEvents = {\n install: function (Vue, constructorOptions) {\n\n var globalOptions = Object.assign({}, {\n disableClick: false,\n tapTolerance: 10, // px\n swipeTolerance: 30, // px\n touchHoldTolerance: 400, // ms\n longTapTimeInterval: 400, // ms\n touchClass: '',\n namespace: 'touch'\n }, constructorOptions);\n\n function touchStartEvent(event) {\n var $this = this.$$touchObj,\n isTouchEvent = event.type.indexOf('touch') >= 0,\n isMouseEvent = event.type.indexOf('mouse') >= 0,\n $el = this;\n\n if (isTouchEvent) {\n globalLastTouchTime = event.timeStamp;\n }\n\n if (isMouseEvent && globalLastTouchTime && event.timeStamp - globalLastTouchTime < 350) {\n return;\n }\n\n if ($this.touchStarted) {\n return;\n }\n\n addTouchClass(this);\n\n $this.touchStarted = true;\n\n $this.touchMoved = false;\n $this.swipeOutBounded = false;\n\n $this.startX = touchX(event);\n $this.startY = touchY(event);\n\n $this.currentX = 0;\n $this.currentY = 0;\n\n $this.touchStartTime = event.timeStamp;\n\n // Trigger touchhold event after `touchHoldTolerance`ms\n $this.touchHoldTimer = setTimeout(function() {\n $this.touchHoldTimer = null;\n triggerEvent(event, $el, 'touchhold');\n }, $this.options.touchHoldTolerance);\n\n triggerEvent(event, this, 'start');\n }\n\n function touchMoveEvent(event) {\n var $this = this.$$touchObj;\n\n $this.currentX = touchX(event);\n $this.currentY = touchY(event);\n\n if (!$this.touchMoved) {\n var tapTolerance = $this.options.tapTolerance;\n\n $this.touchMoved = Math.abs($this.startX - $this.currentX) > tapTolerance ||\n Math.abs($this.startY - $this.currentY) > tapTolerance;\n\n if($this.touchMoved){\n cancelTouchHoldTimer($this);\n triggerEvent(event, this, 'moved');\n }\n\n } else if (!$this.swipeOutBounded) {\n var swipeOutBounded = $this.options.swipeTolerance;\n\n $this.swipeOutBounded = Math.abs($this.startX - $this.currentX) > swipeOutBounded &&\n Math.abs($this.startY - $this.currentY) > swipeOutBounded;\n }\n\n if($this.touchMoved){\n triggerEvent(event, this, 'moving');\n }\n }\n\n function touchCancelEvent() {\n var $this = this.$$touchObj;\n\n cancelTouchHoldTimer($this);\n removeTouchClass(this);\n\n $this.touchStarted = $this.touchMoved = false;\n $this.startX = $this.startY = 0;\n }\n\n function touchEndEvent(event) {\n var $this = this.$$touchObj,\n isTouchEvent = event.type.indexOf('touch') >= 0,\n isMouseEvent = event.type.indexOf('mouse') >= 0;\n\n if (isTouchEvent) {\n globalLastTouchTime = event.timeStamp;\n }\n\n var touchholdEnd = isTouchEvent && !$this.touchHoldTimer;\n cancelTouchHoldTimer($this);\n\n $this.touchStarted = false;\n\n removeTouchClass(this);\n\n if (isMouseEvent && globalLastTouchTime && event.timeStamp - globalLastTouchTime < 350) {\n return;\n }\n\n // Fix #33, Trigger `end` event when touch stopped\n triggerEvent(event, this, 'end');\n\n if (!$this.touchMoved) {\n // detect if this is a longTap event or not\n if ($this.callbacks.longtap && event.timeStamp - $this.touchStartTime > $this.options.longTapTimeInterval) {\n if (event.cancelable) {\n event.preventDefault();\n }\n triggerEvent(event, this, 'longtap');\n\n } else if ($this.callbacks.touchhold && touchholdEnd) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n } else {\n // emit tap event\n triggerEvent(event, this, 'tap');\n }\n\n } else if (!$this.swipeOutBounded) {\n var swipeOutBounded = $this.options.swipeTolerance,\n direction,\n distanceY = Math.abs($this.startY - $this.currentY),\n distanceX = Math.abs($this.startX - $this.currentX);\n\n if (distanceY > swipeOutBounded || distanceX > swipeOutBounded) {\n if (distanceY > distanceX) {\n direction = $this.startY > $this.currentY ? 'top' : 'bottom';\n } else {\n direction = $this.startX > $this.currentX ? 'left' : 'right';\n }\n\n // Only emit the specified event when it has modifiers\n if ($this.callbacks['swipe.' + direction]) {\n triggerEvent(event, this, 'swipe.' + direction, direction);\n } else {\n // Emit a common event when it has no any modifier\n triggerEvent(event, this, 'swipe', direction);\n }\n }\n }\n }\n\n function mouseEnterEvent() {\n addTouchClass(this);\n }\n\n function mouseLeaveEvent() {\n removeTouchClass(this);\n }\n\n function triggerEvent(e, $el, eventType, param) {\n var $this = $el.$$touchObj;\n\n // get the callback list\n var callbacks = $this && $this.callbacks[eventType] || [];\n if (callbacks.length === 0) {\n return null;\n }\n\n for (var i = 0; i < callbacks.length; i++) {\n var binding = callbacks[i];\n\n if (binding.modifiers.stop) {\n e.stopPropagation();\n }\n\n if (binding.modifiers.prevent && e.cancelable) {\n e.preventDefault();\n }\n\n // handle `self` modifier`\n if (binding.modifiers.self && e.target !== e.currentTarget) {\n continue;\n }\n\n if (typeof binding.value === 'function') {\n if (param) {\n binding.value(param, e);\n } else {\n binding.value(e);\n }\n }\n }\n }\n\n function addTouchClass($el) {\n var className = $el.$$touchObj.options.touchClass;\n className && $el.classList.add(className);\n }\n\n function removeTouchClass($el) {\n var className = $el.$$touchObj.options.touchClass;\n className && $el.classList.remove(className);\n }\n\n function cancelTouchHoldTimer($this) {\n if ($this.touchHoldTimer) {\n clearTimeout($this.touchHoldTimer);\n $this.touchHoldTimer = null;\n }\n }\n\n function buildTouchObj($el, extraOptions) {\n var touchObj = $el.$$touchObj || {\n // an object contains all callbacks registered,\n // key is event name, value is an array\n callbacks: {},\n // prevent bind twice, set to true when event bound\n hasBindTouchEvents: false,\n // default options, would be override by v-touch-options\n options: globalOptions\n };\n if (extraOptions) {\n touchObj.options = Object.assign({}, touchObj.options, extraOptions);\n }\n $el.$$touchObj = touchObj;\n return $el.$$touchObj;\n }\n\n Vue.directive(globalOptions.namespace, {\n bind: function ($el, binding) {\n // build a touch configuration object\n var $this = buildTouchObj($el);\n // declare passive option for the event listener. Defaults to { passive: true } if supported\n var passiveOpt = isPassiveSupported ? { passive: true } : false;\n // register callback\n var eventType = binding.arg || 'tap';\n switch (eventType) {\n case 'swipe':\n var _m = binding.modifiers;\n if (_m.left || _m.right || _m.top || _m.bottom) {\n for (var i in binding.modifiers) {\n if (['left', 'right', 'top', 'bottom'].indexOf(i) >= 0) {\n var _e = 'swipe.' + i;\n $this.callbacks[_e] = $this.callbacks[_e] || [];\n $this.callbacks[_e].push(binding);\n }\n }\n } else {\n $this.callbacks.swipe = $this.callbacks.swipe || [];\n $this.callbacks.swipe.push(binding);\n }\n break;\n \n case 'start':\n case 'moving':\n if (binding.modifiers.disablePassive) {\n // change the passive option for the moving event if disablePassive modifier exists\n passiveOpt = false;\n }\n // fallthrough\n default:\n $this.callbacks[eventType] = $this.callbacks[eventType] || [];\n $this.callbacks[eventType].push(binding);\n }\n\n // prevent bind twice\n if ($this.hasBindTouchEvents) {\n return;\n }\n\n $el.addEventListener('touchstart', touchStartEvent, passiveOpt);\n $el.addEventListener('touchmove', touchMoveEvent, passiveOpt);\n $el.addEventListener('touchcancel', touchCancelEvent);\n $el.addEventListener('touchend', touchEndEvent);\n\n if (!$this.options.disableClick) {\n $el.addEventListener('mousedown', touchStartEvent);\n $el.addEventListener('mousemove', touchMoveEvent);\n $el.addEventListener('mouseup', touchEndEvent);\n $el.addEventListener('mouseenter', mouseEnterEvent);\n $el.addEventListener('mouseleave', mouseLeaveEvent);\n }\n\n // set bind mark to true\n $this.hasBindTouchEvents = true;\n },\n\n unbind: function ($el) {\n $el.removeEventListener('touchstart', touchStartEvent);\n $el.removeEventListener('touchmove', touchMoveEvent);\n $el.removeEventListener('touchcancel', touchCancelEvent);\n $el.removeEventListener('touchend', touchEndEvent);\n\n if ($el.$$touchObj && !$el.$$touchObj.options.disableClick) {\n $el.removeEventListener('mousedown', touchStartEvent);\n $el.removeEventListener('mousemove', touchMoveEvent);\n $el.removeEventListener('mouseup', touchEndEvent);\n $el.removeEventListener('mouseenter', mouseEnterEvent);\n $el.removeEventListener('mouseleave', mouseLeaveEvent);\n }\n\n // remove vars\n delete $el.$$touchObj;\n }\n });\n\n Vue.directive(globalOptions.namespace + '-class', {\n bind: function ($el, binding) {\n buildTouchObj($el, {\n touchClass: binding.value\n });\n }\n });\n\n Vue.directive(globalOptions.namespace + '-options', {\n bind: function($el, binding) {\n buildTouchObj($el, binding.value);\n }\n });\n }\n};\n\n\n/*\n * Exports\n */\nif (typeof module === 'object') {\n module.exports = vueTouchEvents;\n\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return vueTouchEvents;\n });\n} else if (window.Vue) {\n window.vueTouchEvents = vueTouchEvents;\n Vue.use(vueTouchEvents);\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nvar _default = nodejsCustomInspectSymbol;\nexports.default = _default;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.visit = visit;\nexports.visitInParallel = visitInParallel;\nexports.getVisitFn = getVisitFn;\nexports.BREAK = exports.QueryDocumentKeys = void 0;\n\nvar _inspect = _interopRequireDefault(require(\"../jsutils/inspect.js\"));\n\nvar _ast = require(\"./ast.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexports.QueryDocumentKeys = QueryDocumentKeys;\nvar BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexports.BREAK = BREAK;\n\nfunction visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!(0, _ast.isNode)(node)) {\n throw new Error(\"Invalid AST Node: \".concat((0, _inspect.default)(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if ((0, _ast.isNode)(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\n\nfunction visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\n\nfunction getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dedentBlockStringValue = dedentBlockStringValue;\nexports.getBlockStringIndentation = getBlockStringIndentation;\nexports.printBlockString = printBlockString;\n\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nfunction dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nfunction getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\n\nfunction printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"MateriauModalFields\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Materiau\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"short_description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reference\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"note\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contenu\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"attachments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"filename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"filesize\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"distributor\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"website\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"infos\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_name\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manufacturer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"website\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"infos\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country_name\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"samples\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showroom\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_cardfull\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"linked_materials\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"short_description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reference\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"style_linkedmaterialcard\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":907}};\n doc.loc.source = {\"body\":\"fragment MateriauModalFields on Materiau {\\n id\\n path\\n title\\n\\tshort_description\\n reference\\n body\\n note{\\n id\\n contenu\\n target\\n }\\n attachments{\\n file{\\n filename\\n fid\\n filesize\\n url\\n }\\n description\\n }\\n distributor{\\n id\\n name\\n email\\n description\\n website{\\n title\\n url\\n }\\n infos\\n phone\\n country {\\n country_code\\n country_name\\n }\\n }\\n manufacturer{\\n id\\n name\\n email\\n description\\n website{\\n title\\n url\\n }\\n infos\\n phone\\n country {\\n country_code\\n country_name\\n }\\n }\\n\\tsamples{\\n showroom{\\n name\\n id\\n }\\n location\\n }\\n images{\\n url\\n alt\\n style_cardfull{\\n url\\n }\\n }\\n linked_materials{\\n id\\n short_description\\n title\\n reference\\n images{\\n url\\n alt\\n style_linkedmaterialcard{\\n url\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MateriauModalFields\"] = oneQuery(doc, \"MateriauModalFields\");\n \n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*!\n * vue-i18n v8.28.2 \n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'compactDisplay',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'localeMatcher',\n 'notation',\n 'numberingSystem',\n 'signDisplay',\n 'style',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits'\n];\n\nvar dateTimeFormatKeys = [\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'localeMatcher',\n \"hour12\",\n \"hourCycle\",\n \"timeZone\",\n \"formatMatcher\",\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName' ];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n return typeof val === 'function'\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.delete(item)) {\n return arr\n }\n}\n\nfunction arrayFrom (arr) {\n var ret = [];\n arr.forEach(function (a) { return ret.push(a); });\n return ret\n}\n\nfunction includes (arr, item) {\n return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\nfunction escapeHtml(rawText) {\n return rawText\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n}\n\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n * May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\nfunction escapeParams(params) {\n if(params != null) {\n Object.keys(params).forEach(function (key) {\n if(typeof(params[key]) == 'string') {\n params[key] = escapeHtml(params[key]);\n }\n });\n }\n return params\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\n/**\n * Mixin\n * \n * If `bridge` mode, empty mixin is returned,\n * else regulary mixin implementation is returned.\n */\nfunction defineMixin (bridge) {\n if ( bridge === void 0 ) bridge = false;\n\n function mounted () {\n if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {\n this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);\n }\n }\n\n return bridge\n ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation\n : { // regulary \n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n = options.__i18nBridge || options.__i18n;\n _i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n ? this.$root.$i18n\n : null;\n // component local i18n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n$1 = options.__i18nBridge || options.__i18n;\n _i18n$1.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n mounted: mounted,\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n });\n }\n }\n}\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag\n ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n : values\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install (_Vue, options) {\n if ( options === void 0 ) options = { bridge: false };\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(defineMixin(options.bridge));\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined || value === null) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-zA-Z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_:|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-zA-Z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); },\n 'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false\n ? false\n : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined\n ? true\n : !!options.fallbackRootWithEmptyString;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = new Set();\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n this._escapeParameterHtml = options.escapeParameterHtml || false;\n\n if ('__VUE_I18N_BRIDGE__' in options) {\n this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;\n }\n\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1);\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n }\n\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this$1.locale in this$1.pluralizationRules) {\n return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n };\n\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data, __VUE18N__INSTANCE__: true });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.add(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var this$1 = this;\n return this._vm.$watch('$data', function () {\n var listeners = arrayFrom(this$1._dataListeners);\n var i = listeners.length;\n while(i--) {\n Vue.nextTick(function () {\n listeners[i] && listeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale (composer) {\n if (!composer) {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n } else {\n // deal with vue-i18n-bridge\n if (!this.__VUE_I18N_BRIDGE__) { return null }\n var self = this;\n var target$1 = this._vm;\n return this.vm.$watch('locale', function (val) {\n target$1.$set(target$1, 'locale', val);\n if (self.__VUE_I18N_BRIDGE__ && composer) {\n composer.locale.value = val;\n }\n target$1.$forceUpdate();\n }, { immediate: true })\n }\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nprototypeAccessors.sync.get = function () { return this._sync };\nprototypeAccessors.sync.set = function (val) { this._sync = val; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (isString(missingRet)) {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return (this._fallbackRootWithEmptyString? !val : isNull(val)) && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (!(isString(ret) || isFunction(ret))) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n\n // eslint-disable-next-line no-autofix/prefer-const\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n isArray(values) ? values : [values],\n interpolateMode\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {\n var this$1 = this;\n\n var _list = isArray(values) ? values : [];\n var _named = isObject(values) ? values : {};\n var list = function (index) { return _list[index]; };\n var named = function (key) { return _named[key]; };\n var messages = this._getMessages();\n var locale = this.locale;\n\n return {\n list: list,\n named: named,\n values: values,\n formatter: formatter,\n path: path,\n messages: messages,\n locale: locale,\n linked: function (linkedKey) { return this$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }\n }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(\n this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)\n )\n }\n\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n var follow = false;\n if (!includes(chain, item)) {\n follow = true;\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && (follow === true))\n return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n var follow = true;\n for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n var locale = block[i];\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n if (start === '') { return [] }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n chain = [];\n\n // first block defined by start\n var block = [start];\n\n // while any intervening block found\n while (isArray(block)) {\n block = this._appendBlockToChain(\n chain,\n block,\n fallbackLocale\n );\n }\n\n // last block defined by default\n var defaults;\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n }\n\n // convert defaults to array\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n if (block) {\n this._appendBlockToChain(\n chain,\n block,\n null\n );\n }\n this._localeChainCache[start] = chain;\n }\n return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var chain = this._getLocaleChain(locale, fallback);\n var res;\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res =\n this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n }\n return res\n }\n }\n return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n if(this._escapeParameterHtml) {\n parsedArgs.params = escapeParams(parsedArgs.params);\n }\n\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n return ret\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw')\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message || !isString(message)) { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, merge(\n typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length\n ? Object.assign({}, this._vm.messages[locale])\n : {},\n message\n ));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n formatter = new Intl.DateTimeFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n }\n\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key, options) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n var dtf = !options ? new Intl.DateTimeFormat(locale) : new Intl.DateTimeFormat(locale, options);\n return dtf.format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key, options);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(dateTimeFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key, options)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.28.2';\n\nexport default VueI18n;\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\n// do not preload language files as they are to weight\n// import * as en from 'locales/en.json'\n// import * as fr from 'locales/fr.json'\nimport axios from 'axios'\n\nVue.use(VueI18n)\n\n// const messages = {\n// en: {\n// // ...en.default\n// },\n// fr: {\n//\n// }\n// }\n\n// export const i18n = new VueI18n({\n// locale: 'en',\n// fallbackLocale: 'en',\n// messages\n// })\n\nexport const i18n = new VueI18n()\n\n// const loadedLanguages = ['en'] // our default language that is preloaded\nconst loadedLanguages = [] // our default language that is preloaded\n\nfunction setI18nLanguage (lang) {\n i18n.locale = lang\n // axios.defaults.headers.common['Accept-Language'] = lang\n // document.querySelector('html').setAttribute('lang', lang)\n return lang\n}\n\nexport function loadLanguageAsync (lang) {\n // If the same language\n if (i18n.locale === lang) {\n return Promise.resolve(setI18nLanguage(lang))\n }\n\n // If the language was already loaded\n if (loadedLanguages.includes(lang)) {\n return Promise.resolve(setI18nLanguage(lang))\n }\n\n // If the language hasn't been loaded yet\n // return import(/* webpackChunkName: \"lang-[request]\" */ `sites/default/files/lang/${lang}.json`).then(\n return axios.get(`/sites/default/files/lang/${lang}.json`)\n .then(({ data }) => {\n console.log(`webpack import ${lang} messages`, data)\n i18n.setLocaleMessage(lang, data)\n loadedLanguages.push(lang)\n return setI18nLanguage(lang)\n })\n}\n","/**\n * vue-meta v2.4.0\n * (c) 2020\n * - Declan de Wet\n * - Sébastien Chopin (@Atinux)\n * - Pim (@pimlie)\n * - All the amazing contributors\n * @license MIT\n */\n\nimport deepmerge from 'deepmerge';\n\nvar version = \"2.4.0\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\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\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\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\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\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\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\n/**\n * checks if passed argument is an array\n * @param {any} arg - the object to check\n * @return {Boolean} - true if `arg` is an array\n */\nfunction isArray(arg) {\n return Array.isArray(arg);\n}\nfunction isUndefined(arg) {\n return typeof arg === 'undefined';\n}\nfunction isObject(arg) {\n return _typeof(arg) === 'object';\n}\nfunction isPureObject(arg) {\n return _typeof(arg) === 'object' && arg !== null;\n}\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nfunction isString(arg) {\n return typeof arg === 'string';\n}\n\nfunction hasGlobalWindowFn() {\n try {\n return !isUndefined(window);\n } catch (e) {\n return false;\n }\n}\nvar hasGlobalWindow = hasGlobalWindowFn();\n\nvar _global = hasGlobalWindow ? window : global;\n\nvar console = _global.console || {};\nfunction warn(str) {\n /* istanbul ignore next */\n if (!console || !console.warn) {\n return;\n }\n\n console.warn(str);\n}\nvar showWarningNotSupported = function showWarningNotSupported() {\n return warn('This vue app/component has no vue-meta configuration');\n};\n\n/**\n * These are constant variables used throughout the application.\n */\n// set some sane defaults\nvar defaultInfo = {\n title: undefined,\n titleChunk: '',\n titleTemplate: '%s',\n htmlAttrs: {},\n bodyAttrs: {},\n headAttrs: {},\n base: [],\n link: [],\n meta: [],\n style: [],\n script: [],\n noscript: [],\n __dangerouslyDisableSanitizers: [],\n __dangerouslyDisableSanitizersByTagID: {}\n};\nvar rootConfigKey = '_vueMeta'; // This is the name of the component option that contains all the information that\n// gets converted to the various meta tags & attributes for the page.\n\nvar keyName = 'metaInfo'; // This is the attribute vue-meta arguments on elements to know which it should\n// manage and which it should ignore.\n\nvar attribute = 'data-vue-meta'; // This is the attribute that goes on the `html` tag to inform `vue-meta`\n// that the server has already generated the meta tags for the initial render.\n\nvar ssrAttribute = 'data-vue-meta-server-rendered'; // This is the property that tells vue-meta to overwrite (instead of append)\n// an item in a tag list. For example, if you have two `meta` tag list items\n// that both have `vmid` of \"description\", then vue-meta will overwrite the\n// shallowest one with the deepest one.\n\nvar tagIDKeyName = 'vmid'; // This is the key name for possible meta templates\n\nvar metaTemplateKeyName = 'template'; // This is the key name for the content-holding property\n\nvar contentKeyName = 'content'; // The id used for the ssr app\n\nvar ssrAppId = 'ssr'; // How long meta update\n\nvar debounceWait = 10; // How long meta update\n\nvar waitOnDestroyed = true;\nvar defaultOptions = {\n keyName: keyName,\n attribute: attribute,\n ssrAttribute: ssrAttribute,\n tagIDKeyName: tagIDKeyName,\n contentKeyName: contentKeyName,\n metaTemplateKeyName: metaTemplateKeyName,\n waitOnDestroyed: waitOnDestroyed,\n debounceWait: debounceWait,\n ssrAppId: ssrAppId\n}; // might be a bit ugly, but minimizes the browser bundles a bit\n\nvar defaultInfoKeys = Object.keys(defaultInfo); // The metaInfo property keys which are used to disable escaping\n\nvar disableOptionKeys = [defaultInfoKeys[12], defaultInfoKeys[13]]; // List of metaInfo property keys which are configuration options (and dont generate html)\n\nvar metaInfoOptionKeys = [defaultInfoKeys[1], defaultInfoKeys[2], 'changed'].concat(disableOptionKeys); // List of metaInfo property keys which only generates attributes and no tags\n\nvar metaInfoAttributeKeys = [defaultInfoKeys[3], defaultInfoKeys[4], defaultInfoKeys[5]]; // HTML elements which support the onload event\n\nvar tagsSupportingOnload = ['link', 'style', 'script']; // HTML elements which dont have a head tag (shortened to our needs)\n// see: https://www.w3.org/TR/html52/document-metadata.html\n\nvar tagsWithoutEndTag = ['base', 'meta', 'link']; // HTML elements which can have inner content (shortened to our needs)\n\nvar tagsWithInnerContent = ['noscript', 'script', 'style']; // Attributes which are inserted as childNodes instead of HTMLAttribute\n\nvar tagAttributeAsInnerContent = ['innerHTML', 'cssText', 'json'];\nvar tagProperties = ['once', 'skip', 'template']; // Attributes which should be added with data- prefix\n\nvar commonDataAttributes = ['body', 'pbody']; // from: https://github.com/kangax/html-minifier/blob/gh-pages/src/htmlminifier.js#L202\n\nvar booleanHtmlAttributes = ['allowfullscreen', 'amp', 'amp-boilerplate', 'async', 'autofocus', 'autoplay', 'checked', 'compact', 'controls', 'declare', 'default', 'defaultchecked', 'defaultmuted', 'defaultselected', 'defer', 'disabled', 'enabled', 'formnovalidate', 'hidden', 'indeterminate', 'inert', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nohref', 'noresize', 'noshade', 'novalidate', 'nowrap', 'open', 'pauseonexit', 'readonly', 'required', 'reversed', 'scoped', 'seamless', 'selected', 'sortable', 'truespeed', 'typemustmatch', 'visible'];\n\nvar batchId = null;\nfunction triggerUpdate(_ref, rootVm, hookName) {\n var debounceWait = _ref.debounceWait;\n\n // if an update was triggered during initialization or when an update was triggered by the\n // metaInfo watcher, set initialized to null\n // then we keep falsy value but know we need to run a triggerUpdate after initialization\n if (!rootVm[rootConfigKey].initialized && (rootVm[rootConfigKey].initializing || hookName === 'watcher')) {\n rootVm[rootConfigKey].initialized = null;\n }\n\n if (rootVm[rootConfigKey].initialized && !rootVm[rootConfigKey].pausing) {\n // batch potential DOM updates to prevent extraneous re-rendering\n // eslint-disable-next-line no-void\n batchUpdate(function () {\n return void rootVm.$meta().refresh();\n }, debounceWait);\n }\n}\n/**\n * Performs a batched update.\n *\n * @param {(null|Number)} id - the ID of this update\n * @param {Function} callback - the update to perform\n * @return {Number} id - a new ID\n */\n\nfunction batchUpdate(callback, timeout) {\n timeout = timeout === undefined ? 10 : timeout;\n\n if (!timeout) {\n callback();\n return;\n }\n\n clearTimeout(batchId);\n batchId = setTimeout(function () {\n callback();\n }, timeout);\n return batchId;\n}\n\n/*\n * To reduce build size, this file provides simple polyfills without\n * overly excessive type checking and without modifying\n * the global Array.prototype\n * The polyfills are automatically removed in the commonjs build\n * Also, only files in client/ & shared/ should use these functions\n * files in server/ still use normal js function\n */\nfunction find(array, predicate, thisArg) {\n if ( !Array.prototype.find) {\n // idx needs to be a Number, for..in returns string\n for (var idx = 0; idx < array.length; idx++) {\n if (predicate.call(thisArg, array[idx], idx, array)) {\n return array[idx];\n }\n }\n\n return;\n }\n\n return array.find(predicate, thisArg);\n}\nfunction findIndex(array, predicate, thisArg) {\n if ( !Array.prototype.findIndex) {\n // idx needs to be a Number, for..in returns string\n for (var idx = 0; idx < array.length; idx++) {\n if (predicate.call(thisArg, array[idx], idx, array)) {\n return idx;\n }\n }\n\n return -1;\n }\n\n return array.findIndex(predicate, thisArg);\n}\nfunction toArray(arg) {\n if ( !Array.from) {\n return Array.prototype.slice.call(arg);\n }\n\n return Array.from(arg);\n}\nfunction includes(array, value) {\n if ( !Array.prototype.includes) {\n for (var idx in array) {\n if (array[idx] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n return array.includes(value);\n}\n\nvar querySelector = function querySelector(arg, el) {\n return (el || document).querySelectorAll(arg);\n};\nfunction getTag(tags, tag) {\n if (!tags[tag]) {\n tags[tag] = document.getElementsByTagName(tag)[0];\n }\n\n return tags[tag];\n}\nfunction getElementsKey(_ref) {\n var body = _ref.body,\n pbody = _ref.pbody;\n return body ? 'body' : pbody ? 'pbody' : 'head';\n}\nfunction queryElements(parentNode, _ref2, attributes) {\n var appId = _ref2.appId,\n attribute = _ref2.attribute,\n type = _ref2.type,\n tagIDKeyName = _ref2.tagIDKeyName;\n attributes = attributes || {};\n var queries = [\"\".concat(type, \"[\").concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"), \"\".concat(type, \"[data-\").concat(tagIDKeyName, \"]\")].map(function (query) {\n for (var key in attributes) {\n var val = attributes[key];\n var attributeValue = val && val !== true ? \"=\\\"\".concat(val, \"\\\"\") : '';\n query += \"[data-\".concat(key).concat(attributeValue, \"]\");\n }\n\n return query;\n });\n return toArray(querySelector(queries.join(', '), parentNode));\n}\nfunction removeElementsByAppId(_ref3, appId) {\n var attribute = _ref3.attribute;\n toArray(querySelector(\"[\".concat(attribute, \"=\\\"\").concat(appId, \"\\\"]\"))).map(function (el) {\n return el.remove();\n });\n}\nfunction removeAttribute(el, attributeName) {\n el.removeAttribute(attributeName);\n}\n\nfunction hasMetaInfo(vm) {\n vm = vm || this;\n return vm && (vm[rootConfigKey] === true || isObject(vm[rootConfigKey]));\n} // a component is in a metaInfo branch when itself has meta info or one of its (grand-)children has\n\nfunction inMetaInfoBranch(vm) {\n vm = vm || this;\n return vm && !isUndefined(vm[rootConfigKey]);\n}\n\nfunction pause(rootVm, refresh) {\n rootVm[rootConfigKey].pausing = true;\n return function () {\n return resume(rootVm, refresh);\n };\n}\nfunction resume(rootVm, refresh) {\n rootVm[rootConfigKey].pausing = false;\n\n if (refresh || refresh === undefined) {\n return rootVm.$meta().refresh();\n }\n}\n\nfunction addNavGuards(rootVm) {\n var router = rootVm.$router; // return when nav guards already added or no router exists\n\n if (rootVm[rootConfigKey].navGuards || !router) {\n /* istanbul ignore next */\n return;\n }\n\n rootVm[rootConfigKey].navGuards = true;\n router.beforeEach(function (to, from, next) {\n pause(rootVm);\n next();\n });\n router.afterEach(function () {\n rootVm.$nextTick(function () {\n var _resume = resume(rootVm),\n metaInfo = _resume.metaInfo;\n\n if (metaInfo && isFunction(metaInfo.afterNavigation)) {\n metaInfo.afterNavigation(metaInfo);\n }\n });\n });\n}\n\nvar appId = 1;\nfunction createMixin(Vue, options) {\n // for which Vue lifecycle hooks should the metaInfo be refreshed\n var updateOnLifecycleHook = ['activated', 'deactivated', 'beforeMount'];\n var wasServerRendered = false; // watch for client side component updates\n\n return {\n beforeCreate: function beforeCreate() {\n var _this2 = this;\n\n var rootKey = '$root';\n var $root = this[rootKey];\n var $options = this.$options;\n var devtoolsEnabled = Vue.config.devtools;\n Object.defineProperty(this, '_hasMetaInfo', {\n configurable: true,\n get: function get() {\n // Show deprecation warning once when devtools enabled\n if (devtoolsEnabled && !$root[rootConfigKey].deprecationWarningShown) {\n warn('VueMeta DeprecationWarning: _hasMetaInfo has been deprecated and will be removed in a future version. Please use hasMetaInfo(vm) instead');\n $root[rootConfigKey].deprecationWarningShown = true;\n }\n\n return hasMetaInfo(this);\n }\n });\n\n if (this === $root) {\n $root.$once('hook:beforeMount', function () {\n wasServerRendered = this.$el && this.$el.nodeType === 1 && this.$el.hasAttribute('data-server-rendered'); // In most cases when you have a SSR app it will be the first app thats gonna be\n // initiated, if we cant detect the data-server-rendered attribute from Vue but we\n // do see our own ssrAttribute then _assume_ the Vue app with appId 1 is the ssr app\n // attempted fix for #404 & #562, but we rly need to refactor how we pass appIds from\n // ssr to the client\n\n if (!wasServerRendered && $root[rootConfigKey] && $root[rootConfigKey].appId === 1) {\n var htmlTag = getTag({}, 'html');\n wasServerRendered = htmlTag && htmlTag.hasAttribute(options.ssrAttribute);\n }\n });\n } // Add a marker to know if it uses metaInfo\n // _vnode is used to know that it's attached to a real component\n // useful if we use some mixin to add some meta tags (like nuxt-i18n)\n\n\n if (isUndefined($options[options.keyName]) || $options[options.keyName] === null) {\n return;\n }\n\n if (!$root[rootConfigKey]) {\n $root[rootConfigKey] = {\n appId: appId\n };\n appId++;\n\n if (devtoolsEnabled && $root.$options[options.keyName]) {\n // use nextTick so the children should be added to $root\n this.$nextTick(function () {\n // find the first child that lists fnOptions\n var child = find($root.$children, function (c) {\n return c.$vnode && c.$vnode.fnOptions;\n });\n\n if (child && child.$vnode.fnOptions[options.keyName]) {\n warn(\"VueMeta has detected a possible global mixin which adds a \".concat(options.keyName, \" property to all Vue components on the page. This could cause severe performance issues. If possible, use $meta().addApp to add meta information instead\"));\n }\n });\n }\n } // to speed up updates we keep track of branches which have a component with vue-meta info defined\n // if _vueMeta = true it has info, if _vueMeta = false a child has info\n\n\n if (!this[rootConfigKey]) {\n this[rootConfigKey] = true;\n var parent = this.$parent;\n\n while (parent && parent !== $root) {\n if (isUndefined(parent[rootConfigKey])) {\n parent[rootConfigKey] = false;\n }\n\n parent = parent.$parent;\n }\n } // coerce function-style metaInfo to a computed prop so we can observe\n // it on creation\n\n\n if (isFunction($options[options.keyName])) {\n $options.computed = $options.computed || {};\n $options.computed.$metaInfo = $options[options.keyName];\n\n if (!this.$isServer) {\n // if computed $metaInfo exists, watch it for updates & trigger a refresh\n // when it changes (i.e. automatically handle async actions that affect metaInfo)\n // credit for this suggestion goes to [Sébastien Chopin](https://github.com/Atinux)\n this.$on('hook:created', function () {\n this.$watch('$metaInfo', function () {\n triggerUpdate(options, this[rootKey], 'watcher');\n });\n });\n }\n } // force an initial refresh on page load and prevent other lifecycleHooks\n // to triggerUpdate until this initial refresh is finished\n // this is to make sure that when a page is opened in an inactive tab which\n // has throttled rAF/timers we still immediately set the page title\n\n\n if (isUndefined($root[rootConfigKey].initialized)) {\n $root[rootConfigKey].initialized = this.$isServer;\n\n if (!$root[rootConfigKey].initialized) {\n if (!$root[rootConfigKey].initializedSsr) {\n $root[rootConfigKey].initializedSsr = true;\n this.$on('hook:beforeMount', function () {\n var $root = this[rootKey]; // if this Vue-app was server rendered, set the appId to 'ssr'\n // only one SSR app per page is supported\n\n if (wasServerRendered) {\n $root[rootConfigKey].appId = options.ssrAppId;\n }\n });\n } // we use the mounted hook here as on page load\n\n\n this.$on('hook:mounted', function () {\n var $root = this[rootKey];\n\n if ($root[rootConfigKey].initialized) {\n return;\n } // used in triggerUpdate to check if a change was triggered\n // during initialization\n\n\n $root[rootConfigKey].initializing = true; // refresh meta in nextTick so all child components have loaded\n\n this.$nextTick(function () {\n var _$root$$meta$refresh = $root.$meta().refresh(),\n tags = _$root$$meta$refresh.tags,\n metaInfo = _$root$$meta$refresh.metaInfo; // After ssr hydration (identifier by tags === false) check\n // if initialized was set to null in triggerUpdate. That'd mean\n // that during initilazation changes where triggered which need\n // to be applied OR a metaInfo watcher was triggered before the\n // current hook was called\n // (during initialization all changes are blocked)\n\n\n if (tags === false && $root[rootConfigKey].initialized === null) {\n this.$nextTick(function () {\n return triggerUpdate(options, $root, 'init');\n });\n }\n\n $root[rootConfigKey].initialized = true;\n delete $root[rootConfigKey].initializing; // add the navigation guards if they havent been added yet\n // they are needed for the afterNavigation callback\n\n if (!options.refreshOnceOnNavigation && metaInfo.afterNavigation) {\n addNavGuards($root);\n }\n });\n }); // add the navigation guards if requested\n\n if (options.refreshOnceOnNavigation) {\n addNavGuards($root);\n }\n }\n }\n\n this.$on('hook:destroyed', function () {\n var _this = this;\n\n // do not trigger refresh:\n // - when user configured to not wait for transitions on destroyed\n // - when the component doesnt have a parent\n // - doesnt have metaInfo defined\n if (!this.$parent || !hasMetaInfo(this)) {\n return;\n }\n\n delete this._hasMetaInfo;\n this.$nextTick(function () {\n if (!options.waitOnDestroyed || !_this.$el || !_this.$el.offsetParent) {\n triggerUpdate(options, _this.$root, 'destroyed');\n return;\n } // Wait that element is hidden before refreshing meta tags (to support animations)\n\n\n var interval = setInterval(function () {\n if (_this.$el && _this.$el.offsetParent !== null) {\n /* istanbul ignore next line */\n return;\n }\n\n clearInterval(interval);\n triggerUpdate(options, _this.$root, 'destroyed');\n }, 50);\n });\n }); // do not trigger refresh on the server side\n\n if (this.$isServer) {\n /* istanbul ignore next */\n return;\n } // no need to add this hooks on server side\n\n\n updateOnLifecycleHook.forEach(function (lifecycleHook) {\n _this2.$on(\"hook:\".concat(lifecycleHook), function () {\n triggerUpdate(options, this[rootKey], lifecycleHook);\n });\n });\n }\n };\n}\n\nfunction setOptions(options) {\n // combine options\n options = isObject(options) ? options : {}; // The options are set like this so they can\n // be minified by terser while keeping the\n // user api intact\n // terser --mangle-properties keep_quoted=strict\n\n /* eslint-disable dot-notation */\n\n return {\n keyName: options['keyName'] || defaultOptions.keyName,\n attribute: options['attribute'] || defaultOptions.attribute,\n ssrAttribute: options['ssrAttribute'] || defaultOptions.ssrAttribute,\n tagIDKeyName: options['tagIDKeyName'] || defaultOptions.tagIDKeyName,\n contentKeyName: options['contentKeyName'] || defaultOptions.contentKeyName,\n metaTemplateKeyName: options['metaTemplateKeyName'] || defaultOptions.metaTemplateKeyName,\n debounceWait: isUndefined(options['debounceWait']) ? defaultOptions.debounceWait : options['debounceWait'],\n waitOnDestroyed: isUndefined(options['waitOnDestroyed']) ? defaultOptions.waitOnDestroyed : options['waitOnDestroyed'],\n ssrAppId: options['ssrAppId'] || defaultOptions.ssrAppId,\n refreshOnceOnNavigation: !!options['refreshOnceOnNavigation']\n };\n /* eslint-enable dot-notation */\n}\nfunction getOptions(options) {\n var optionsCopy = {};\n\n for (var key in options) {\n optionsCopy[key] = options[key];\n }\n\n return optionsCopy;\n}\n\nfunction ensureIsArray(arg, key) {\n if (!key || !isObject(arg)) {\n return isArray(arg) ? arg : [];\n }\n\n if (!isArray(arg[key])) {\n arg[key] = [];\n }\n\n return arg;\n}\n\nvar serverSequences = [[/&/g, '&'], [/</g, '<'], [/>/g, '>'], [/\"/g, '"'], [/'/g, ''']];\nvar clientSequences = [[/&/g, \"&\"], [/</g, \"<\"], [/>/g, \">\"], [/\"/g, \"\\\"\"], [/'/g, \"'\"]]; // sanitizes potentially dangerous characters\n\nfunction escape(info, options, escapeOptions, escapeKeys) {\n var tagIDKeyName = options.tagIDKeyName;\n var _escapeOptions$doEsca = escapeOptions.doEscape,\n doEscape = _escapeOptions$doEsca === void 0 ? function (v) {\n return v;\n } : _escapeOptions$doEsca;\n var escaped = {};\n\n for (var key in info) {\n var value = info[key]; // no need to escape configuration options\n\n if (includes(metaInfoOptionKeys, key)) {\n escaped[key] = value;\n continue;\n } // do not use destructuring for disableOptionKeys, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n\n\n var disableKey = disableOptionKeys[0];\n\n if (escapeOptions[disableKey] && includes(escapeOptions[disableKey], key)) {\n // this info[key] doesnt need to escaped if the option is listed in __dangerouslyDisableSanitizers\n escaped[key] = value;\n continue;\n }\n\n var tagId = info[tagIDKeyName];\n\n if (tagId) {\n disableKey = disableOptionKeys[1]; // keys which are listed in __dangerouslyDisableSanitizersByTagID for the current vmid do not need to be escaped\n\n if (escapeOptions[disableKey] && escapeOptions[disableKey][tagId] && includes(escapeOptions[disableKey][tagId], key)) {\n escaped[key] = value;\n continue;\n }\n }\n\n if (isString(value)) {\n escaped[key] = doEscape(value);\n } else if (isArray(value)) {\n escaped[key] = value.map(function (v) {\n if (isPureObject(v)) {\n return escape(v, options, escapeOptions, true);\n }\n\n return doEscape(v);\n });\n } else if (isPureObject(value)) {\n escaped[key] = escape(value, options, escapeOptions, true);\n } else {\n escaped[key] = value;\n }\n\n if (escapeKeys) {\n var escapedKey = doEscape(key);\n\n if (key !== escapedKey) {\n escaped[escapedKey] = escaped[key];\n delete escaped[key];\n }\n }\n }\n\n return escaped;\n}\nfunction escapeMetaInfo(options, info, escapeSequences) {\n escapeSequences = escapeSequences || []; // do not use destructuring for seq, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n\n var escapeOptions = {\n doEscape: function doEscape(value) {\n return escapeSequences.reduce(function (val, seq) {\n return val.replace(seq[0], seq[1]);\n }, value);\n }\n };\n disableOptionKeys.forEach(function (disableKey, index) {\n if (index === 0) {\n ensureIsArray(info, disableKey);\n } else if (index === 1) {\n for (var key in info[disableKey]) {\n ensureIsArray(info[disableKey], key);\n }\n }\n\n escapeOptions[disableKey] = info[disableKey];\n }); // begin sanitization\n\n return escape(info, options, escapeOptions);\n}\n\nfunction applyTemplate(_ref, headObject, template, chunk) {\n var component = _ref.component,\n metaTemplateKeyName = _ref.metaTemplateKeyName,\n contentKeyName = _ref.contentKeyName;\n\n if (template === true || headObject[metaTemplateKeyName] === true) {\n // abort, template was already applied\n return false;\n }\n\n if (isUndefined(template) && headObject[metaTemplateKeyName]) {\n template = headObject[metaTemplateKeyName];\n headObject[metaTemplateKeyName] = true;\n } // return early if no template defined\n\n\n if (!template) {\n // cleanup faulty template properties\n delete headObject[metaTemplateKeyName];\n return false;\n }\n\n if (isUndefined(chunk)) {\n chunk = headObject[contentKeyName];\n }\n\n headObject[contentKeyName] = isFunction(template) ? template.call(component, chunk) : template.replace(/%s/g, chunk);\n return true;\n}\n\nfunction _arrayMerge(_ref, target, source) {\n var component = _ref.component,\n tagIDKeyName = _ref.tagIDKeyName,\n metaTemplateKeyName = _ref.metaTemplateKeyName,\n contentKeyName = _ref.contentKeyName;\n // we concat the arrays without merging objects contained in,\n // but we check for a `vmid` property on each object in the array\n // using an O(1) lookup associative array exploit\n var destination = [];\n\n if (!target.length && !source.length) {\n return destination;\n }\n\n target.forEach(function (targetItem, targetIndex) {\n // no tagID so no need to check for duplicity\n if (!targetItem[tagIDKeyName]) {\n destination.push(targetItem);\n return;\n }\n\n var sourceIndex = findIndex(source, function (item) {\n return item[tagIDKeyName] === targetItem[tagIDKeyName];\n });\n var sourceItem = source[sourceIndex]; // source doesnt contain any duplicate vmid's, we can keep targetItem\n\n if (sourceIndex === -1) {\n destination.push(targetItem);\n return;\n } // when sourceItem explictly defines contentKeyName or innerHTML as undefined, its\n // an indication that we need to skip the default behaviour or child has preference over parent\n // which means we keep the targetItem and ignore/remove the sourceItem\n\n\n if (contentKeyName in sourceItem && sourceItem[contentKeyName] === undefined || 'innerHTML' in sourceItem && sourceItem.innerHTML === undefined) {\n destination.push(targetItem); // remove current index from source array so its not concatenated to destination below\n\n source.splice(sourceIndex, 1);\n return;\n } // we now know that targetItem is a duplicate and we should ignore it in favor of sourceItem\n // if source specifies null as content then ignore both the target as the source\n\n\n if (sourceItem[contentKeyName] === null || sourceItem.innerHTML === null) {\n // remove current index from source array so its not concatenated to destination below\n source.splice(sourceIndex, 1);\n return;\n } // now we only need to check if the target has a template to combine it with the source\n\n\n var targetTemplate = targetItem[metaTemplateKeyName];\n\n if (!targetTemplate) {\n return;\n }\n\n var sourceTemplate = sourceItem[metaTemplateKeyName];\n\n if (!sourceTemplate) {\n // use parent template and child content\n applyTemplate({\n component: component,\n metaTemplateKeyName: metaTemplateKeyName,\n contentKeyName: contentKeyName\n }, sourceItem, targetTemplate); // set template to true to indicate template was already applied\n\n sourceItem.template = true;\n return;\n }\n\n if (!sourceItem[contentKeyName]) {\n // use parent content and child template\n applyTemplate({\n component: component,\n metaTemplateKeyName: metaTemplateKeyName,\n contentKeyName: contentKeyName\n }, sourceItem, undefined, targetItem[contentKeyName]);\n }\n });\n return destination.concat(source);\n}\nvar warningShown = false;\nfunction merge(target, source, options) {\n options = options || {}; // remove properties explicitly set to false so child components can\n // optionally _not_ overwrite the parents content\n // (for array properties this is checked in arrayMerge)\n\n if (source.title === undefined) {\n delete source.title;\n }\n\n metaInfoAttributeKeys.forEach(function (attrKey) {\n if (!source[attrKey]) {\n return;\n }\n\n for (var key in source[attrKey]) {\n if (key in source[attrKey] && source[attrKey][key] === undefined) {\n if (includes(booleanHtmlAttributes, key) && !warningShown) {\n warn('VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details');\n warningShown = true;\n }\n\n delete source[attrKey][key];\n }\n }\n });\n return deepmerge(target, source, {\n arrayMerge: function arrayMerge(t, s) {\n return _arrayMerge(options, t, s);\n }\n });\n}\n\nfunction getComponentMetaInfo(options, component) {\n return getComponentOption(options || {}, component, defaultInfo);\n}\n/**\n * Returns the `opts.option` $option value of the given `opts.component`.\n * If methods are encountered, they will be bound to the component context.\n * If `opts.deep` is true, will recursively merge all child component\n * `opts.option` $option values into the returned result.\n *\n * @param {Object} opts - options\n * @param {Object} opts.component - Vue component to fetch option data from\n * @param {Boolean} opts.deep - look for data in child components as well?\n * @param {Function} opts.arrayMerge - how should arrays be merged?\n * @param {String} opts.keyName - the name of the option to look for\n * @param {Object} [result={}] - result so far\n * @return {Object} result - final aggregated result\n */\n\nfunction getComponentOption(options, component, result) {\n result = result || {};\n\n if (component._inactive) {\n return result;\n }\n\n options = options || {};\n var _options = options,\n keyName = _options.keyName;\n var $metaInfo = component.$metaInfo,\n $options = component.$options,\n $children = component.$children; // only collect option data if it exists\n\n if ($options[keyName]) {\n // if $metaInfo exists then [keyName] was defined as a function\n // and set to the computed prop $metaInfo in the mixin\n // using the computed prop should be a small performance increase\n // because Vue caches those internally\n var data = $metaInfo || $options[keyName]; // only merge data with result when its an object\n // eg it could be a function when metaInfo() returns undefined\n // dueo to the or statement above\n\n if (isObject(data)) {\n result = merge(result, data, options);\n }\n } // collect & aggregate child options if deep = true\n\n\n if ($children.length) {\n $children.forEach(function (childComponent) {\n // check if the childComponent is in a branch\n // return otherwise so we dont walk all component branches unnecessarily\n if (!inMetaInfoBranch(childComponent)) {\n return;\n }\n\n result = getComponentOption(options, childComponent, result);\n });\n }\n\n return result;\n}\n\nvar callbacks = [];\nfunction isDOMComplete(d) {\n return (d || document).readyState === 'complete';\n}\nfunction addCallback(query, callback) {\n if (arguments.length === 1) {\n callback = query;\n query = '';\n }\n\n callbacks.push([query, callback]);\n}\nfunction addCallbacks(_ref, type, tags, autoAddListeners) {\n var tagIDKeyName = _ref.tagIDKeyName;\n var hasAsyncCallback = false;\n tags.forEach(function (tag) {\n if (!tag[tagIDKeyName] || !tag.callback) {\n return;\n }\n\n hasAsyncCallback = true;\n addCallback(\"\".concat(type, \"[data-\").concat(tagIDKeyName, \"=\\\"\").concat(tag[tagIDKeyName], \"\\\"]\"), tag.callback);\n });\n\n if (!autoAddListeners || !hasAsyncCallback) {\n return hasAsyncCallback;\n }\n\n return addListeners();\n}\nfunction addListeners() {\n if (isDOMComplete()) {\n applyCallbacks();\n return;\n } // Instead of using a MutationObserver, we just apply\n\n /* istanbul ignore next */\n\n\n document.onreadystatechange = function () {\n applyCallbacks();\n };\n}\nfunction applyCallbacks(matchElement) {\n callbacks.forEach(function (args) {\n // do not use destructuring for args, it increases transpiled size\n // due to var checks while we are guaranteed the structure of the cb\n var query = args[0];\n var callback = args[1];\n var selector = \"\".concat(query, \"[onload=\\\"this.__vm_l=1\\\"]\");\n var elements = [];\n\n if (!matchElement) {\n elements = toArray(querySelector(selector));\n }\n\n if (matchElement && matchElement.matches(selector)) {\n elements = [matchElement];\n }\n\n elements.forEach(function (element) {\n /* __vm_cb: whether the load callback has been called\n * __vm_l: set by onload attribute, whether the element was loaded\n * __vm_ev: whether the event listener was added or not\n */\n if (element.__vm_cb) {\n return;\n }\n\n var onload = function onload() {\n /* Mark that the callback for this element has already been called,\n * this prevents the callback to run twice in some (rare) conditions\n */\n element.__vm_cb = true;\n /* onload needs to be removed because we only need the\n * attribute after ssr and if we dont remove it the node\n * will fail isEqualNode on the client\n */\n\n removeAttribute(element, 'onload');\n callback(element);\n };\n /* IE9 doesnt seem to load scripts synchronously,\n * causing a script sometimes/often already to be loaded\n * when we add the event listener below (thus adding an onload event\n * listener has no use because it will never be triggered).\n * Therefore we add the onload attribute during ssr, and\n * check here if it was already loaded or not\n */\n\n\n if (element.__vm_l) {\n onload();\n return;\n }\n\n if (!element.__vm_ev) {\n element.__vm_ev = true;\n element.addEventListener('load', onload);\n }\n });\n });\n}\n\n// instead of adding it to the html\n\nvar attributeMap = {};\n/**\n * Updates the document's html tag attributes\n *\n * @param {Object} attrs - the new document html attributes\n * @param {HTMLElement} tag - the HTMLElement tag to update with new attrs\n */\n\nfunction updateAttribute(appId, options, type, attrs, tag) {\n var _ref = options || {},\n attribute = _ref.attribute;\n\n var vueMetaAttrString = tag.getAttribute(attribute);\n\n if (vueMetaAttrString) {\n attributeMap[type] = JSON.parse(decodeURI(vueMetaAttrString));\n removeAttribute(tag, attribute);\n }\n\n var data = attributeMap[type] || {};\n var toUpdate = []; // remove attributes from the map\n // which have been removed for this appId\n\n for (var attr in data) {\n if (data[attr] !== undefined && appId in data[attr]) {\n toUpdate.push(attr);\n\n if (!attrs[attr]) {\n delete data[attr][appId];\n }\n }\n }\n\n for (var _attr in attrs) {\n var attrData = data[_attr];\n\n if (!attrData || attrData[appId] !== attrs[_attr]) {\n toUpdate.push(_attr);\n\n if (attrs[_attr] !== undefined) {\n data[_attr] = data[_attr] || {};\n data[_attr][appId] = attrs[_attr];\n }\n }\n }\n\n for (var _i = 0, _toUpdate = toUpdate; _i < _toUpdate.length; _i++) {\n var _attr2 = _toUpdate[_i];\n var _attrData = data[_attr2];\n var attrValues = [];\n\n for (var _appId in _attrData) {\n Array.prototype.push.apply(attrValues, [].concat(_attrData[_appId]));\n }\n\n if (attrValues.length) {\n var attrValue = includes(booleanHtmlAttributes, _attr2) && attrValues.some(Boolean) ? '' : attrValues.filter(function (v) {\n return v !== undefined;\n }).join(' ');\n tag.setAttribute(_attr2, attrValue);\n } else {\n removeAttribute(tag, _attr2);\n }\n }\n\n attributeMap[type] = data;\n}\n\n/**\n * Updates the document title\n *\n * @param {String} title - the new title of the document\n */\nfunction updateTitle(title) {\n if (!title && title !== '') {\n return;\n }\n\n document.title = title;\n}\n\n/**\n * Updates meta tags inside <head> and <body> on the client. Borrowed from `react-helmet`:\n * https://github.com/nfl/react-helmet/blob/004d448f8de5f823d10f838b02317521180f34da/src/Helmet.js#L195-L245\n *\n * @param {('meta'|'base'|'link'|'style'|'script'|'noscript')} type - the name of the tag\n * @param {(Array<Object>|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - a representation of what tags changed\n */\n\nfunction updateTag(appId, options, type, tags, head, body) {\n var _ref = options || {},\n attribute = _ref.attribute,\n tagIDKeyName = _ref.tagIDKeyName;\n\n var dataAttributes = commonDataAttributes.slice();\n dataAttributes.push(tagIDKeyName);\n var newElements = [];\n var queryOptions = {\n appId: appId,\n attribute: attribute,\n type: type,\n tagIDKeyName: tagIDKeyName\n };\n var currentElements = {\n head: queryElements(head, queryOptions),\n pbody: queryElements(body, queryOptions, {\n pbody: true\n }),\n body: queryElements(body, queryOptions, {\n body: true\n })\n };\n\n if (tags.length > 1) {\n // remove duplicates that could have been found by merging tags\n // which include a mixin with metaInfo and that mixin is used\n // by multiple components on the same page\n var found = [];\n tags = tags.filter(function (x) {\n var k = JSON.stringify(x);\n var res = !includes(found, k);\n found.push(k);\n return res;\n });\n }\n\n tags.forEach(function (tag) {\n if (tag.skip) {\n return;\n }\n\n var newElement = document.createElement(type);\n\n if (!tag.once) {\n newElement.setAttribute(attribute, appId);\n }\n\n Object.keys(tag).forEach(function (attr) {\n /* istanbul ignore next */\n if (includes(tagProperties, attr)) {\n return;\n }\n\n if (attr === 'innerHTML') {\n newElement.innerHTML = tag.innerHTML;\n return;\n }\n\n if (attr === 'json') {\n newElement.innerHTML = JSON.stringify(tag.json);\n return;\n }\n\n if (attr === 'cssText') {\n if (newElement.styleSheet) {\n /* istanbul ignore next */\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n\n return;\n }\n\n if (attr === 'callback') {\n newElement.onload = function () {\n return tag[attr](newElement);\n };\n\n return;\n }\n\n var _attr = includes(dataAttributes, attr) ? \"data-\".concat(attr) : attr;\n\n var isBooleanAttribute = includes(booleanHtmlAttributes, attr);\n\n if (isBooleanAttribute && !tag[attr]) {\n return;\n }\n\n var value = isBooleanAttribute ? '' : tag[attr];\n newElement.setAttribute(_attr, value);\n });\n var oldElements = currentElements[getElementsKey(tag)]; // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n var indexToDelete;\n var hasEqualElement = oldElements.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n });\n\n if (hasEqualElement && (indexToDelete || indexToDelete === 0)) {\n oldElements.splice(indexToDelete, 1);\n } else {\n newElements.push(newElement);\n }\n });\n var oldElements = [];\n\n for (var _type in currentElements) {\n Array.prototype.push.apply(oldElements, currentElements[_type]);\n } // remove old elements\n\n\n oldElements.forEach(function (element) {\n element.parentNode.removeChild(element);\n }); // insert new elements\n\n newElements.forEach(function (element) {\n if (element.hasAttribute('data-body')) {\n body.appendChild(element);\n return;\n }\n\n if (element.hasAttribute('data-pbody')) {\n body.insertBefore(element, body.firstChild);\n return;\n }\n\n head.appendChild(element);\n });\n return {\n oldTags: oldElements,\n newTags: newElements\n };\n}\n\n/**\n * Performs client-side updates when new meta info is received\n *\n * @param {Object} newInfo - the meta info to update to\n */\n\nfunction updateClientMetaInfo(appId, options, newInfo) {\n options = options || {};\n var _options = options,\n ssrAttribute = _options.ssrAttribute,\n ssrAppId = _options.ssrAppId; // only cache tags for current update\n\n var tags = {};\n var htmlTag = getTag(tags, 'html'); // if this is a server render, then dont update\n\n if (appId === ssrAppId && htmlTag.hasAttribute(ssrAttribute)) {\n // remove the server render attribute so we can update on (next) changes\n removeAttribute(htmlTag, ssrAttribute); // add load callbacks if the\n\n var addLoadListeners = false;\n tagsSupportingOnload.forEach(function (type) {\n if (newInfo[type] && addCallbacks(options, type, newInfo[type])) {\n addLoadListeners = true;\n }\n });\n\n if (addLoadListeners) {\n addListeners();\n }\n\n return false;\n } // initialize tracked changes\n\n\n var tagsAdded = {};\n var tagsRemoved = {};\n\n for (var type in newInfo) {\n // ignore these\n if (includes(metaInfoOptionKeys, type)) {\n continue;\n }\n\n if (type === 'title') {\n // update the title\n updateTitle(newInfo.title);\n continue;\n }\n\n if (includes(metaInfoAttributeKeys, type)) {\n var tagName = type.substr(0, 4);\n updateAttribute(appId, options, type, newInfo[type], getTag(tags, tagName));\n continue;\n } // tags should always be an array, ignore if it isnt\n\n\n if (!isArray(newInfo[type])) {\n continue;\n }\n\n var _updateTag = updateTag(appId, options, type, newInfo[type], getTag(tags, 'head'), getTag(tags, 'body')),\n oldTags = _updateTag.oldTags,\n newTags = _updateTag.newTags;\n\n if (newTags.length) {\n tagsAdded[type] = newTags;\n tagsRemoved[type] = oldTags;\n }\n }\n\n return {\n tagsAdded: tagsAdded,\n tagsRemoved: tagsRemoved\n };\n}\n\nvar appsMetaInfo;\nfunction addApp(rootVm, appId, options) {\n return {\n set: function set(metaInfo) {\n return setMetaInfo(rootVm, appId, options, metaInfo);\n },\n remove: function remove() {\n return removeMetaInfo(rootVm, appId, options);\n }\n };\n}\nfunction setMetaInfo(rootVm, appId, options, metaInfo) {\n // if a vm exists _and_ its mounted then immediately update\n if (rootVm && rootVm.$el) {\n return updateClientMetaInfo(appId, options, metaInfo);\n } // store for later, the info\n // will be set on the first refresh\n\n\n appsMetaInfo = appsMetaInfo || {};\n appsMetaInfo[appId] = metaInfo;\n}\nfunction removeMetaInfo(rootVm, appId, options) {\n if (rootVm && rootVm.$el) {\n var tags = {};\n\n var _iterator = _createForOfIteratorHelper(metaInfoAttributeKeys),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var type = _step.value;\n var tagName = type.substr(0, 4);\n updateAttribute(appId, options, type, {}, getTag(tags, tagName));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return removeElementsByAppId(options, appId);\n }\n\n if (appsMetaInfo[appId]) {\n delete appsMetaInfo[appId];\n clearAppsMetaInfo();\n }\n}\nfunction getAppsMetaInfo() {\n return appsMetaInfo;\n}\nfunction clearAppsMetaInfo(force) {\n if (force || !Object.keys(appsMetaInfo).length) {\n appsMetaInfo = undefined;\n }\n}\n\n/**\n * Returns the correct meta info for the given component\n * (child components will overwrite parent meta info)\n *\n * @param {Object} component - the Vue instance to get meta info from\n * @return {Object} - returned meta info\n */\n\nfunction getMetaInfo(options, info, escapeSequences, component) {\n options = options || {};\n escapeSequences = escapeSequences || [];\n var _options = options,\n tagIDKeyName = _options.tagIDKeyName; // Remove all \"template\" tags from meta\n // backup the title chunk in case user wants access to it\n\n if (info.title) {\n info.titleChunk = info.title;\n } // replace title with populated template\n\n\n if (info.titleTemplate && info.titleTemplate !== '%s') {\n applyTemplate({\n component: component,\n contentKeyName: 'title'\n }, info, info.titleTemplate, info.titleChunk || '');\n } // convert base tag to an array so it can be handled the same way\n // as the other tags\n\n\n if (info.base) {\n info.base = Object.keys(info.base).length ? [info.base] : [];\n }\n\n if (info.meta) {\n // remove meta items with duplicate vmid's\n info.meta = info.meta.filter(function (metaItem, index, arr) {\n var hasVmid = !!metaItem[tagIDKeyName];\n\n if (!hasVmid) {\n return true;\n }\n\n var isFirstItemForVmid = index === findIndex(arr, function (item) {\n return item[tagIDKeyName] === metaItem[tagIDKeyName];\n });\n return isFirstItemForVmid;\n }); // apply templates if needed\n\n info.meta.forEach(function (metaObject) {\n return applyTemplate(options, metaObject);\n });\n }\n\n return escapeMetaInfo(options, info, escapeSequences);\n}\n\n/**\n * When called, will update the current meta info with new meta info.\n * Useful when updating meta info as the result of an asynchronous\n * action that resolves after the initial render takes place.\n *\n * Credit to [Sébastien Chopin](https://github.com/Atinux) for the suggestion\n * to implement this method.\n *\n * @return {Object} - new meta info\n */\n\nfunction refresh(rootVm, options) {\n options = options || {}; // make sure vue-meta was initiated\n\n if (!rootVm[rootConfigKey]) {\n showWarningNotSupported();\n return {};\n } // collect & aggregate all metaInfo $options\n\n\n var rawInfo = getComponentMetaInfo(options, rootVm);\n var metaInfo = getMetaInfo(options, rawInfo, clientSequences, rootVm);\n var appId = rootVm[rootConfigKey].appId;\n var tags = updateClientMetaInfo(appId, options, metaInfo); // emit \"event\" with new info\n\n if (tags && isFunction(metaInfo.changed)) {\n metaInfo.changed(metaInfo, tags.tagsAdded, tags.tagsRemoved);\n tags = {\n addedTags: tags.tagsAdded,\n removedTags: tags.tagsRemoved\n };\n }\n\n var appsMetaInfo = getAppsMetaInfo();\n\n if (appsMetaInfo) {\n for (var additionalAppId in appsMetaInfo) {\n updateClientMetaInfo(additionalAppId, options, appsMetaInfo[additionalAppId]);\n delete appsMetaInfo[additionalAppId];\n }\n\n clearAppsMetaInfo(true);\n }\n\n return {\n vm: rootVm,\n metaInfo: metaInfo,\n // eslint-disable-line object-shorthand\n tags: tags\n };\n}\n\n/**\n * Generates tag attributes for use on the server.\n *\n * @param {('bodyAttrs'|'htmlAttrs'|'headAttrs')} type - the type of attributes to generate\n * @param {Object} data - the attributes to generate\n * @return {Object} - the attribute generator\n */\n\nfunction attributeGenerator(options, type, data, _ref) {\n var addSsrAttribute = _ref.addSsrAttribute;\n\n var _ref2 = options || {},\n attribute = _ref2.attribute,\n ssrAttribute = _ref2.ssrAttribute;\n\n var attributeStr = '';\n\n for (var attr in data) {\n var attrData = data[attr];\n var attrValues = [];\n\n for (var appId in attrData) {\n attrValues.push.apply(attrValues, _toConsumableArray([].concat(attrData[appId])));\n }\n\n if (attrValues.length) {\n attributeStr += booleanHtmlAttributes.includes(attr) && attrValues.some(Boolean) ? \"\".concat(attr) : \"\".concat(attr, \"=\\\"\").concat(attrValues.join(' '), \"\\\"\");\n attributeStr += ' ';\n }\n }\n\n if (attributeStr) {\n attributeStr += \"\".concat(attribute, \"=\\\"\").concat(encodeURI(JSON.stringify(data)), \"\\\"\");\n }\n\n if (type === 'htmlAttrs' && addSsrAttribute) {\n return \"\".concat(ssrAttribute).concat(attributeStr ? ' ' : '').concat(attributeStr);\n }\n\n return attributeStr;\n}\n\n/**\n * Generates title output for the server\n *\n * @param {'title'} type - the string \"title\"\n * @param {String} data - the title text\n * @return {Object} - the title generator\n */\nfunction titleGenerator(options, type, data, generatorOptions) {\n var _ref = generatorOptions || {},\n ln = _ref.ln;\n\n if (!data) {\n return '';\n }\n\n return \"<\".concat(type, \">\").concat(data, \"</\").concat(type, \">\").concat(ln ? '\\n' : '');\n}\n\n/**\n * Generates meta, base, link, style, script, noscript tags for use on the server\n *\n * @param {('meta'|'base'|'link'|'style'|'script'|'noscript')} the name of the tag\n * @param {(Array<Object>|Object)} tags - an array of tag objects or a single object in case of base\n * @return {Object} - the tag generator\n */\n\nfunction tagGenerator(options, type, tags, generatorOptions) {\n var _ref = options || {},\n ssrAppId = _ref.ssrAppId,\n attribute = _ref.attribute,\n tagIDKeyName = _ref.tagIDKeyName;\n\n var _ref2 = generatorOptions || {},\n appId = _ref2.appId,\n _ref2$isSSR = _ref2.isSSR,\n isSSR = _ref2$isSSR === void 0 ? true : _ref2$isSSR,\n _ref2$body = _ref2.body,\n body = _ref2$body === void 0 ? false : _ref2$body,\n _ref2$pbody = _ref2.pbody,\n pbody = _ref2$pbody === void 0 ? false : _ref2$pbody,\n _ref2$ln = _ref2.ln,\n ln = _ref2$ln === void 0 ? false : _ref2$ln;\n\n var dataAttributes = [tagIDKeyName].concat(_toConsumableArray(commonDataAttributes));\n\n if (!tags || !tags.length) {\n return '';\n } // build a string containing all tags of this type\n\n\n return tags.reduce(function (tagsStr, tag) {\n if (tag.skip) {\n return tagsStr;\n }\n\n var tagKeys = Object.keys(tag);\n\n if (tagKeys.length === 0) {\n return tagsStr; // Bail on empty tag object\n }\n\n if (Boolean(tag.body) !== body || Boolean(tag.pbody) !== pbody) {\n return tagsStr;\n }\n\n var attrs = tag.once ? '' : \" \".concat(attribute, \"=\\\"\").concat(appId || (isSSR === false ? '1' : ssrAppId), \"\\\"\"); // build a string containing all attributes of this tag\n\n for (var attr in tag) {\n // these attributes are treated as children on the tag\n if (tagAttributeAsInnerContent.includes(attr) || tagProperties.includes(attr)) {\n continue;\n }\n\n if (attr === 'callback') {\n attrs += ' onload=\"this.__vm_l=1\"';\n continue;\n } // these form the attribute list for this tag\n\n\n var prefix = '';\n\n if (dataAttributes.includes(attr)) {\n prefix = 'data-';\n }\n\n var isBooleanAttr = !prefix && booleanHtmlAttributes.includes(attr);\n\n if (isBooleanAttr && !tag[attr]) {\n continue;\n }\n\n attrs += \" \".concat(prefix).concat(attr) + (isBooleanAttr ? '' : \"=\\\"\".concat(tag[attr], \"\\\"\"));\n }\n\n var json = '';\n\n if (tag.json) {\n json = JSON.stringify(tag.json);\n } // grab child content from one of these attributes, if possible\n\n\n var content = tag.innerHTML || tag.cssText || json; // generate tag exactly without any other redundant attribute\n // these tags have no end tag\n\n var hasEndTag = !tagsWithoutEndTag.includes(type); // these tag types will have content inserted\n\n var hasContent = hasEndTag && tagsWithInnerContent.includes(type); // the final string for this specific tag\n\n return \"\".concat(tagsStr, \"<\").concat(type).concat(attrs).concat(!hasContent && hasEndTag ? '/' : '', \">\") + (hasContent ? \"\".concat(content, \"</\").concat(type, \">\") : '') + (ln ? '\\n' : '');\n }, '');\n}\n\n/**\n * Converts a meta info property to one that can be stringified on the server\n *\n * @param {String} type - the type of data to convert\n * @param {(String|Object|Array<Object>)} data - the data value\n * @return {Object} - the new injector\n */\n\nfunction generateServerInjector(options, metaInfo, globalInjectOptions) {\n var serverInjector = {\n data: metaInfo,\n extraData: undefined,\n addInfo: function addInfo(appId, metaInfo) {\n this.extraData = this.extraData || {};\n this.extraData[appId] = metaInfo;\n },\n callInjectors: function callInjectors(opts) {\n var m = this.injectors; // only call title for the head\n\n return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.base.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts);\n },\n injectors: {\n head: function head(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln\n }));\n },\n bodyPrepend: function bodyPrepend(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln,\n pbody: true\n }));\n },\n bodyAppend: function bodyAppend(ln) {\n return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, {\n ln: ln,\n body: true\n }));\n }\n }\n };\n\n var _loop = function _loop(type) {\n if (metaInfoOptionKeys.includes(type)) {\n return \"continue\";\n }\n\n serverInjector.injectors[type] = {\n text: function text(injectOptions) {\n var addSsrAttribute = injectOptions === true;\n injectOptions = _objectSpread2(_objectSpread2({\n addSsrAttribute: addSsrAttribute\n }, globalInjectOptions), injectOptions);\n\n if (type === 'title') {\n return titleGenerator(options, type, serverInjector.data[type], injectOptions);\n }\n\n if (metaInfoAttributeKeys.includes(type)) {\n var attributeData = {};\n var data = serverInjector.data[type];\n\n if (data) {\n var appId = injectOptions.isSSR === false ? '1' : options.ssrAppId;\n\n for (var attr in data) {\n attributeData[attr] = _defineProperty({}, appId, data[attr]);\n }\n }\n\n if (serverInjector.extraData) {\n for (var _appId in serverInjector.extraData) {\n var _data = serverInjector.extraData[_appId][type];\n\n if (_data) {\n for (var _attr in _data) {\n attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, _appId, _data[_attr]));\n }\n }\n }\n }\n\n return attributeGenerator(options, type, attributeData, injectOptions);\n }\n\n var str = tagGenerator(options, type, serverInjector.data[type], injectOptions);\n\n if (serverInjector.extraData) {\n for (var _appId2 in serverInjector.extraData) {\n var _data2 = serverInjector.extraData[_appId2][type];\n var extraStr = tagGenerator(options, type, _data2, _objectSpread2({\n appId: _appId2\n }, injectOptions));\n str = \"\".concat(str).concat(extraStr);\n }\n }\n\n return str;\n }\n };\n };\n\n for (var type in defaultInfo) {\n var _ret = _loop(type);\n\n if (_ret === \"continue\") continue;\n }\n\n return serverInjector;\n}\n\n/**\n * Converts the state of the meta info object such that each item\n * can be compiled to a tag string on the server\n *\n * @vm {Object} - Vue instance - ideally the root component\n * @return {Object} - server meta info with `toString` methods\n */\n\nfunction inject(rootVm, options, injectOptions) {\n // make sure vue-meta was initiated\n if (!rootVm[rootConfigKey]) {\n showWarningNotSupported();\n return {};\n } // collect & aggregate all metaInfo $options\n\n\n var rawInfo = getComponentMetaInfo(options, rootVm);\n var metaInfo = getMetaInfo(options, rawInfo, serverSequences, rootVm); // generate server injector\n\n var serverInjector = generateServerInjector(options, metaInfo, injectOptions); // add meta info from additional apps\n\n var appsMetaInfo = getAppsMetaInfo();\n\n if (appsMetaInfo) {\n for (var additionalAppId in appsMetaInfo) {\n serverInjector.addInfo(additionalAppId, appsMetaInfo[additionalAppId]);\n delete appsMetaInfo[additionalAppId];\n }\n\n clearAppsMetaInfo(true);\n }\n\n return serverInjector.injectors;\n}\n\nfunction $meta(options) {\n options = options || {};\n /**\n * Returns an injector for server-side rendering.\n * @this {Object} - the Vue instance (a root component)\n * @return {Object} - injector\n */\n\n var $root = this.$root;\n return {\n getOptions: function getOptions$1() {\n return getOptions(options);\n },\n setOptions: function setOptions(newOptions) {\n var refreshNavKey = 'refreshOnceOnNavigation';\n\n if (newOptions && newOptions[refreshNavKey]) {\n options.refreshOnceOnNavigation = !!newOptions[refreshNavKey];\n addNavGuards($root);\n }\n\n var debounceWaitKey = 'debounceWait';\n\n if (newOptions && debounceWaitKey in newOptions) {\n var debounceWait = parseInt(newOptions[debounceWaitKey]);\n\n if (!isNaN(debounceWait)) {\n options.debounceWait = debounceWait;\n }\n }\n\n var waitOnDestroyedKey = 'waitOnDestroyed';\n\n if (newOptions && waitOnDestroyedKey in newOptions) {\n options.waitOnDestroyed = !!newOptions[waitOnDestroyedKey];\n }\n },\n refresh: function refresh$1() {\n return refresh($root, options);\n },\n inject: function inject$1(injectOptions) {\n return inject($root, options, injectOptions) ;\n },\n pause: function pause$1() {\n return pause($root);\n },\n resume: function resume$1() {\n return resume($root);\n },\n addApp: function addApp$1(appId) {\n return addApp($root, appId, options);\n }\n };\n}\n\nfunction generate(rawInfo, options) {\n options = setOptions(options);\n var metaInfo = getMetaInfo(options, rawInfo, serverSequences);\n var serverInjector = generateServerInjector(options, metaInfo);\n return serverInjector.injectors;\n}\n\n/**\n * Plugin install function.\n * @param {Function} Vue - the Vue constructor.\n */\n\nfunction install(Vue, options) {\n if (Vue.__vuemeta_installed) {\n return;\n }\n\n Vue.__vuemeta_installed = true;\n options = setOptions(options);\n\n Vue.prototype.$meta = function () {\n return $meta.call(this, options);\n };\n\n Vue.mixin(createMixin(Vue, options));\n}\n\nvar index = {\n version: version,\n install: install,\n generate: function generate$1(metaInfo, options) {\n return generate(metaInfo, options) ;\n },\n hasMetaInfo: hasMetaInfo\n};\n\nexport default index;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isloggedin)?_c('UserTools'):_c('LoginBlock',{attrs:{\"title\":_vm.title,\"block\":_vm.block}})\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<script>\n\nimport Vue from 'vue'\nimport { mapState, mapActions } from 'vuex'\nimport router from 'vuejs/route'\n\nexport default {\n name: \"LoginBlock\",\n router,\n props: ['title', 'block'],\n data () {\n return {\n template: null,\n mail: '',\n password: ''\n }\n },\n computed: {\n ...mapState({\n loginMessage: state => state.User.loginMessage,\n // roles: state => state.User.roles,\n })\n },\n methods: {\n ...mapActions({\n userLogin: 'User/userLogin',\n openCloseHamMenu: 'Common/openCloseHamMenu'\n }),\n onTapLoginBlock (e) {\n console.log('onTapLoginBlock', e)\n let tapped = e.target.parentNode.parentNode.querySelectorAll('.tapped')\n tapped.forEach((item, i) => {\n item.classList.remove('tapped')\n })\n e.target.parentNode.classList.add('tapped')\n },\n login () {\n this.userLogin({\n mail: this.mail,\n pass: this.password\n })\n }\n },\n beforeMount() {\n // console.log('LoginBlock beforeMount', this._props.block)\n if (this._props.block) {\n // console.log('LoginBlock beforeMount if this._props.block ok')\n this.template = Vue.compile(this._props.block)\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));\n }\n },\n mounted(){\n // console.log('LoginBlock mounted')\n Drupal.attachBehaviors(this.$el);\n },\n render(h) {\n // console.log('LoginBlock render')\n if (!this.template) {\n // console.log('LoginBlock render NAN')\n return h('span', this.$t('default.Loading…'))\n } else {\n // console.log('LoginBlock render template')\n return this.template.render.call(this)\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n // section{\n // max-width:300px;\n // }\n // input{\n // display:block;\n // max-width:100%;\n // margin:0.5em 0 0 0;\n // }\n // button{\n // margin:0.5em 0 0 0;\n // }\n // ul{\n // margin:0; padding:0.5em 0 0 0;\n // }\n // li{\n // list-style:none;\n // margin:0.5em 0 0 0; padding:0;\n // font-size:0.882em;\n // }\n // a{\n // }\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginBlock.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./LoginBlock.vue?vue&type=script&lang=js\"\nexport * from \"./LoginBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoginBlock.vue?vue&type=style&index=0&id=3b6e105a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b6e105a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"user-tools\"}},[_c('a',{staticClass:\"mdi mdi-account\",attrs:{\"href\":\"/user\"}},[_c('span',[_vm._v(_vm._s(_vm.name))])]),_vm._v(\" \"),(_vm.isAdmin)?_c('a',{staticClass:\"mdi mdi-settings\",attrs:{\"href\":\"/admin/content/materials\",\"title\":\"admin\"}}):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"mdi mdi-logout\",attrs:{\"href\":\"#\",\"title\":\"logout\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onLogout()}}}),_vm._v(\" \"),(_vm.isAdherent)?_c('UserFlags'):_vm._e()],1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"user-flags\"}},[_c('h2',{staticClass:\"mdi mdi-folder-outline\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"materio.My folders\"))+\" (\"+_vm._s(_vm.collsLength)+\")\")])]),_vm._v(\" \"),_c('ul',[_vm._l((_vm.flagcolls),function(coll){return (_vm.flagcolls)?_c('li',{key:coll.id},[_c('h5',{attrs:{\"flagcollid\":coll.id},on:{\"click\":function($event){$event.preventDefault();return _vm.onOpenFlagColl(coll.id)}}},[_vm._v(_vm._s(coll.name)+\" \"),_c('span',{staticClass:\"length\"},[_vm._v(\"(\"+_vm._s(coll.items.length)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"delete-btn mdi\",class:_vm.flagDeletingClassObj,attrs:{\"flagcollid\":coll.id},on:{\"click\":function($event){$event.preventDefault();return _vm.onDeleteFlagColl.apply(null, arguments)}}})])]):_vm._e()}),_vm._v(\" \"),(_vm.collsLength<15)?_c('li',{staticClass:\"create-flag\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.new_folder_name),expression:\"new_folder_name\"}],attrs:{\"placeholder\":_vm.$t('materio.new folder')},domProps:{\"value\":(_vm.new_folder_name)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();$event.stopPropagation();return _vm.onCreateFlagColl.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.new_folder_name=$event.target.value}}}),_vm._v(\" \"),_c('span',{staticClass:\"add-btn mdi\",class:_vm.addFlagBtnClassObj,on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCreateFlagColl.apply(null, arguments)}}})]):_vm._e()],2),_vm._v(\" \"),_c('v-dialog',{on:{\"closed\":function($event){return _vm.dialogEvent('closed')}}})],1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template lang=\"html\">\n <div id=\"user-flags\">\n <h2\n class=\"mdi mdi-folder-outline\"\n ><span>{{ $t(\"materio.My folders\") }} ({{collsLength}})</span></h2>\n <ul>\n <li v-if=\"flagcolls\" v-for=\"coll in flagcolls\" :key=\"coll.id\">\n <h5\n :flagcollid=\"coll.id\"\n @click.prevent=\"onOpenFlagColl(coll.id)\"\n >{{ coll.name }} <span class=\"length\">({{ coll.items.length }})</span></h5>\n <div class=\"actions\">\n <span\n class=\"delete-btn mdi\"\n :class=\"flagDeletingClassObj\"\n :flagcollid=\"coll.id\"\n @click.prevent=\"onDeleteFlagColl\"\n />\n </div>\n </li>\n <li v-if=\"collsLength<15\" class=\"create-flag\">\n <input\n :placeholder=\"$t('materio.new folder')\"\n v-model=\"new_folder_name\"\n @keyup.enter.prevent.stop=\"onCreateFlagColl\"\n />\n <span\n class=\"add-btn mdi\"\n :class=\"addFlagBtnClassObj\"\n @click.prevent.stop=\"onCreateFlagColl\"\n />\n </li>\n </ul>\n <v-dialog @closed=\"dialogEvent('closed')\"/>\n </div>\n</template>\n\n<script>\n\nimport { mapState, mapActions } from 'vuex'\n\nexport default {\n name: \"userFlags\",\n data: () => ({\n new_folder_name: \"\",\n is_creating_folder: false,\n is_deleting_folder: false\n }),\n computed: {\n ...mapState({\n flagcolls: state => state.User.flagcolls\n }),\n collsLength() {\n return Object.keys(this.flagcolls).length\n },\n addFlagBtnClassObj() {\n return {\n 'mdi-plus-circle-outline': !this.is_creating_folder,\n 'mdi-loading': this.is_creating_folder,\n active: this.new_folder_name.length > 4 && this.checkFlagNameUniqness() && !this.is_creating_folder,\n loading: this.is_creating_folder\n }\n },\n flagDeletingClassObj() {\n return {\n 'mdi-trash-can-outline': !this.is_deleting_folder,\n 'mdi-loading': this.is_deleting_folder,\n 'loading': this.is_deleting_folder\n }\n }\n },\n methods: {\n ...mapActions({\n createFlagColl: 'User/createFlagColl',\n deleteFlagColl: 'User/deleteFlagColl',\n openFlagColl: 'User/openFlagColl',\n openCloseHamMenu: 'Common/openCloseHamMenu'\n }),\n checkFlagNameUniqness () {\n let uniq = true\n const flagcolls_ids = Object.keys(this.flagcolls);\n flagcolls_ids.forEach((id) => {\n if(this.flagcolls[id].name === this.new_folder_name){\n uniq = false\n }\n })\n return uniq\n },\n onCreateFlagColl () {\n console.log(\"UserFlags onCreateFlagColl\", this.new_folder_name)\n if (this.new_folder_name.length > 4 && this.checkFlagNameUniqness()){\n // create new flagcoll\n this.is_creating_folder = true;\n this.createFlagColl(this.new_folder_name)\n .then(data => {\n console.log(\"onCreateFlagColl then\", data)\n this.new_folder_name = \"\";\n this.is_creating_folder = false;\n })\n }\n },\n onDeleteFlagColl (e) {\n const flagcollid = e.target.getAttribute('flagcollid');\n console.log(\"UserFlags onDeleteFlagColl\", flagcollid)\n this.is_deleting_folder = flagcollid;\n // TODO: confirm suppression\n this.confirmDeleteFlagColl(flagcollid)\n },\n confirmDeleteFlagColl (flagcollid){\n // console.log('confirmDeleteFlagCOll', flagcollid, this.flagcolls)\n // const index = this.flagcolls.findIndex(i => i.id === flagcollid)\n let coll = this.flagcolls[flagcollid]\n // console.log(\"coll to delete\", coll)\n this.$modal.show('dialog',\n { // component props\n title: this.$t(\"materio.Folder delete\"),\n text: this.$t(`materio.Please confirm the definitive deletion of {name} ?`, { name: coll.name }),\n buttons: [\n {\n title: this.$t('default.Cancel'),\n default: true,\n handler: () => {\n // this.is_deleting_folder = false;\n this.$modal.hide('dialog')\n }\n },\n {\n title: this.$t('default.Delete'),\n handler: () => {\n // console.log('deletion confirmed', flagcollid)\n this.deleteFlagColl(flagcollid)\n .then(() => {\n // console.log(\"onDeleteFlagColl then\", data)\n // this.is_deleting_folder = false;\n this.$modal.hide('dialog')\n })\n }\n }\n ]\n }\n )\n },\n dialogEvent (eventName) {\n console.log(\"dialog event\", eventName)\n switch(eventName){\n case 'closed':\n this.is_deleting_folder = false\n }\n },\n onOpenFlagColl (flagcollid) {\n // const flagcollid = e.target.getAttribute('flagcollid');\n console.log(\"UserFlags onOpenFlagColl\", flagcollid)\n this.openCloseHamMenu(false)\n this.openFlagColl(flagcollid)\n .then(() => {\n // console.log(\"onDeleteFlagColl then\", data)\n })\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserFlags.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserFlags.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserFlags.vue?vue&type=template&id=02fffb7c&scoped=true&lang=html\"\nimport script from \"./UserFlags.vue?vue&type=script&lang=js\"\nexport * from \"./UserFlags.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02fffb7c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTools.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTools.vue?vue&type=script&lang=js\"","<template lang=\"html\">\n <div id=\"user-tools\">\n <!-- <h4\n\n > -->\n <a class=\"mdi mdi-account\" href=\"/user\">\n <span>{{ name }}</span>\n <!-- <span v-else>{{ mail }}</span> -->\n </a>\n <!-- </h4> -->\n <a href=\"/admin/content/materials\"\n v-if=\"isAdmin\"\n class=\"mdi mdi-settings\"\n title=\"admin\"\n ></a>\n <a href=\"#\"\n @click.prevent=\"onLogout()\"\n class=\"mdi mdi-logout\"\n title=\"logout\"\n ></a>\n <UserFlags v-if=\"isAdherent\"/>\n </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\nimport UserFlags from 'vuejs/components/User/UserFlags'\n\nexport default {\n watch: {\n },\n components: {\n UserFlags\n },\n // data () {\n // return {\n // mail: \"Hello User!\"\n // }\n // },\n computed: {\n ...mapState({\n mail: state => state.User.mail,\n name: state => state.User.name,\n isAdmin: state => state.User.isAdmin,\n isAdherent: state => state.User.isAdherent,\n flags: state => state.User.flags\n })\n },\n methods: {\n ...mapActions({\n userLogout: 'User/userLogout'\n }),\n onLogout () {\n console.log('UserTools onLogout')\n this.userLogout()\n }\n }\n}\n</script>\n\n<style lang=\"css\" scoped>\n#user-tools{\n margin-right:0.2em;\n /* padding-right:0.5em; */\n /* border-right:1px solid #222; */\n}\nh4{\n margin:0;\n display:inline-block;\n font-size:inherited;\n vertical-align: top;\n}\n</style>\n","import { render, staticRenderFns } from \"./UserTools.vue?vue&type=template&id=2aeb3862&scoped=true&lang=html\"\nimport script from \"./UserTools.vue?vue&type=script&lang=js\"\nexport * from \"./UserTools.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserTools.vue?vue&type=style&index=0&id=2aeb3862&prod&lang=css&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2aeb3862\",\n null\n \n)\n\nexport default component.exports","<template lang=\"html\">\n <UserTools v-if=\"isloggedin\" />\n <LoginBlock v-bind:title=\"title\" v-bind:block=\"block\" v-else/>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\nimport LoginBlock from 'vuejs/components/Block/LoginBlock'\nimport UserTools from 'vuejs/components/User/UserTools'\n\nimport MA from 'vuejs/api/ma-axios'\n\nexport default {\n props: ['title', 'loginblock'],\n data(){\n return {\n block: null\n }\n },\n computed: {\n ...mapState({\n isloggedin: state => state.User.isloggedin\n })\n },\n beforeMount() {\n console.log('UserBlock beforeMount')\n if (this.loginblock) {\n this.block = this.loginblock\n } else {\n this.getLoginBlock()\n }\n\n },\n methods: {\n getLoginBlock(){\n MA.get(`/materio_user/login_block`)\n .then(({data}) => {\n // console.log(\"getLoginBlock data\", data)\n this.block = data.rendered\n })\n .catch((error) => {\n console.warn('Issue with getLoginBlock', error)\n })\n }\n },\n components: {\n LoginBlock,\n UserTools\n }\n}\n\n</script>\n\n<style lang=\"css\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserBlock.vue?vue&type=template&id=a3496ce6&scoped=true&lang=html\"\nimport script from \"./UserBlock.vue?vue&type=script&lang=js\"\nexport * from \"./UserBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a3496ce6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.id}},[_c('router-view',{attrs:{\"html\":_vm.home_template_src,\"full\":_vm.full_home_template_loaded}})],1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template lang=\"html\">\n <div :id=\"id\">\n <!-- <router-view name=\"home\" :html=\"home_template_src\"></router-view> -->\n <!-- <router-view name=\"base\"></router-view> -->\n <router-view :html=\"home_template_src\" :full=\"full_home_template_loaded\"/>\n </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\nimport MA from 'vuejs/api/ma-axios'\nimport router from 'vuejs/route'\n\nexport default {\n router,\n props:['id','html', 'isfront'],\n data() {\n return {\n home_template_src: null,\n full_home_template_loaded: false\n }\n },\n beforeMount() {\n // console.log('MainContent beforeMount this.html', this.html)\n if (!this.home_template_src) {\n // // console.log('no home_template_src')\n // if (this.html && this.isfront) { // if html prop is available and we are landing on home then record it has data\n // this.home_template_src = this.html\n // } else { // else get it from ajax (e.g. if we didn't load the page from home)\n // this.getHomeHtml()\n // }\n\n // console.log('no home_template_src')\n if (this.isfront) {\n // if html prop is available and we are landing on home then record it has data\n this.home_template_src = this.html\n }\n // in any case load the full home template if not already loaded\n if (!this.full_home_template_loaded) {\n this.getHomeHtml()\n }\n }\n },\n methods: {\n getHomeHtml(){\n console.log('MainContent getHomeHtml');\n MA.get('materio_home/ajax/gethome')\n .then(({data}) => {\n // console.log('MainContent getHomeHtml data', data)\n this.full_home_template_loaded = true\n this.home_template_src = data.rendered // record the html src into data\n })\n .catch((error) => {\n console.warn('Issue with getHomeHtml', error)\n })\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainContent.vue?vue&type=template&id=35df6b37&scoped=true&lang=html\"\nimport script from \"./MainContent.vue?vue&type=script&lang=js\"\nexport * from \"./MainContent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35df6b37\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.blockid}},[(_vm.displayform)?_c('SearchForm',{attrs:{\"form\":_vm.form}}):_vm._e()],1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<script>\n\nimport Vue from 'vue'\n\nimport router from 'vuejs/route'\n\nimport { mapState } from 'vuex'\n\nimport SlimSelect from 'slim-select'\n\n\nexport default {\n router,\n props: ['form'],\n data() {\n return {\n template: null,\n typed: null,\n autocomplete: [],\n slimFilters: [],\n $input: null\n // basePath: drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix\n }\n },\n computed: {\n ...mapState({\n keys: state => state.Search.keys,\n terms: state => state.Search.terms,\n filters: state => state.Search.filters\n })\n },\n methods: {\n submit() {\n console.log(\"search submited\", this.typed, this.autocomplete, this.filters, this.slimFilters)\n // unfocus the text input to hide the keyboard on mobile device\n this.$input.blur()\n // New search is triggered by Base.vue with router (which will also fill the store)\n // cleaning slimfilters\n let filters = []\n this.slimFilters.forEach((filter, index) => {\n console.log('onsubmit foreach filters', filter)\n if(filter){\n filters.push(filter)\n }\n })\n // // this is just in case we landed in the page with filters in url params, \n // // this.slimFilters is not filled but store/search filters is\n // if(!filters.length){\n // filters = this.filters\n // }\n console.log('Cleaning filters',this.slimFilters, this.filters, filters)\n // push router\n this.$router.push({name:'base', query:{\n keys:this.typed,\n // terms:this.autocomplete.join(','),\n terms: JSON.stringify(this.autocomplete),\n filters:filters.join(',')\n }})\n },\n onAutoCompleteSelect(event, ui){\n event.preventDefault();\n console.log('autoCompleteSelect begining', this.typed, event, ui)\n // split typed into tag list\n var tag_list = this.typed.split(', ')\n console.log('tag_list', tag_list)\n // remove the last item as it is the first letters of autocomplete (like ma for marbre)\n tag_list.pop()\n // add in typed the label\n tag_list.push(ui.item.label)\n\n this.typed = tag_list.join(', ') + ', '\n\n // check if item is not already in autocmplete \n let add = true\n this.autocomplete.forEach( (term) => {\n if (term.value == ui.item.value) {\n add = false\n return\n }\n })\n if (add) {\n this.autocomplete.push(ui.item)\n }\n // we have to wait for typed watch to reset autocomplete before setting it\n // setTimeout(function(){\n // console.log('update autocomplete value after settimeout')\n // this.autocomplete.push(ui.item)\n // if (this.typed !== this.keys || this.autocomplete !== this.term) {\n // this.submit()\n // }\n // }.bind(this), 1)\n console.log('autoCompleteSelect end : this.autocomplete', this.autocomplete) \n\n },\n onSelectFiltersChange(index, info){\n console.log('onSelectFiltersChange', index, info, this.slimFilters, this.filters)\n this.slimFilters[index] = info.value\n },\n onClickFilters(e){\n console.log('onClickFilters legend', e)\n e.target.closest('fieldset').classList.toggle('open')\n // TODO: reset the filters oon close\n }\n },\n directives: {\n focus: {\n // directive definition\n inserted: function (el) {\n // do not focus the input as it popup the keyboard on mobile device\n // el.focus()\n }\n }\n },\n beforeMount() {\n // console.log('SearchForm beforeMount')\n if (this._props.form) {\n // console.log('SearchForm beforeMount if this._props.form ok')\n this.template = Vue.compile(this._props.form)\n // https://github.com/vuejs/vue/issues/9911\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));\n }\n },\n watch: {\n typed(n, o){\n console.log(`watch typed changed o:(${typeof o})${o} | n:(${typeof n})${n}`, o, n)\n // if (typeof n === 'string') {\n // // remove terms from autocomplete if removed from typed\n // const r = /,\\s?$/ // remove last comma space\n // let tag_list = n.replace(r,'').split(', ')\n // }else{\n // let tag_list = n\n // }\n // remove terms from autocomplete if removed from typed\n const r = /,\\s?$/ // remove last comma space\n let tag_list = n.replace(r,'').split(', ')\n console.log('watch typed tag_list', tag_list)\n console.log('watch typed autocomplete before', this.autocomplete)\n this.autocomplete.forEach( (term,index,array) => {\n console.log(\"watch typed autocomplete term\", term, index, array)\n if (tag_list.indexOf(term.label) < 0) {\n this.autocomplete.splice(index,1)\n }\n });\n console.log('watch typed autocomplete after', this.autocomplete)\n },\n keys(n, o){\n console.log('watch keys changed', o, n)\n this.typed = n.length ? n.join(', ') + ', ' : ''\n },\n // terms(n, o){\n // // if term change from store\n // console.log('watch terms changed', o, n)\n // this.autocomplete = n\n // }\n },\n created() {\n // fill component values with store values in case of direct page loading\n console.log('SearchForm created, this.keys', this.keys)\n this.typed = this.keys.length ? this.keys.join(', ') + ', ' : ''\n this.autocomplete = this.terms\n },\n mounted(){\n // console.log('SearchForm mounted')\n Drupal.attachBehaviors(this.$el);\n // get the search input\n this.$input = this.$el.querySelector('#edit-search')\n // // focus on input\n // $input.focus()\n\n // Catch the jquery ui events for autocmplete widget\n jQuery(this.$input).on('autocompleteselect', this.onAutoCompleteSelect);\n\n // customize the select filters\n // http://slimselectjs.com/options\n const selects = this.$el.querySelectorAll('select')\n let slim;\n selects.forEach((selectElement, index) => {\n // get the first option to make the placeholder then empty it\n const placeholder_option = selectElement.querySelector('option:first-child')\n // console.log('placeholder_option', placeholder_option);\n const placeholder = placeholder_option.innerText\n placeholder_option.removeAttribute(\"value\")\n placeholder_option.setAttribute(\"data-placeholder\", true)\n placeholder_option.innerHTML = ''\n slim = new SlimSelect({\n select: selectElement,\n placeholder: placeholder,\n // allowDeselect: true\n allowDeselectOption: true,\n showSearch: false,\n closeOnSelect: true,\n onChange: (info) => {\n this.onSelectFiltersChange(index, info)\n }\n })\n console.log('slimselect selected', slim.selected(), index)\n this.slimFilters[index] = slim.selected()\n })\n console.log('slimSelect after init', this.slimFilters)\n },\n render(h) {\n // console.log('searchForm render')\n if (!this.template) {\n return h('span', $t('default.Loading…'))\n } else {\n return this.template.render.call(this)\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchForm.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SearchForm.vue?vue&type=script&lang=js\"\nexport * from \"./SearchForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2430e448\",\n null\n \n)\n\nexport default component.exports","<template v-slot=\"default\">\n <div v-bind:id=\"blockid\">\n <SearchForm\n v-if=\"displayform\"\n v-bind:form=\"form\"></SearchForm>\n </div>\n</template>\n\n<script>\nimport qs from 'querystring-es3'\n\nimport SearchForm from 'vuejs/components/Form/SearchForm'\nimport { mapState, mapActions } from 'vuex'\nimport MA from 'vuejs/api/ma-axios'\n\nexport default {\n props: ['blockid', 'formhtml'],\n data(){\n return {\n form: null\n }\n },\n computed: {\n ...mapState({\n canSearch: state => state.User.canSearch,\n keys: state => state.Search.keys,\n terms: state => state.Search.terms,\n filters: state => state.Search.filters\n }),\n displayform(){\n // console.log('computed displayform')\n return this.canSearch && this.form\n }\n },\n beforeMount() {\n // console.log('SearchBlock beforeMount')\n this.form = this.formhtml\n },\n watch: {\n canSearch(new_value, old_value) {\n // console.log('canSearch changed, old: '+old_value+\", new: \"+new_value)\n if (new_value && !this.form) {\n this.getSearchForm()\n }\n if (!new_value && this.form) {\n this.form = null\n }\n }\n },\n methods: {\n getSearchForm(){\n console.log('getSearchForm')\n // var urlParams = new URLSearchParams(window.location.search);\n // var urlParamsKeys = urlParams.keys() \n const params = {\n keys: this.keys,\n terms: this.terms, //JSON.stringify(this.terms),\n filters: this.filters\n }\n console.log('Search getSearchForm params', params)\n const q = qs.stringify(params)\n MA.get(`/materio_sapi/search_form?`+q)\n .then(({data}) => {\n // console.log('getSearchForm')\n this.form = data.rendered\n })\n .catch((error) => {\n console.warn('Issue with get searchform', error)\n })\n }\n },\n components: {\n SearchForm\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchBlock.vue?vue&type=template&id=f087592c&scoped=true&v-slot=default\"\nimport script from \"./SearchBlock.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f087592c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{opened: _vm.isopened},attrs:{\"id\":_vm.id}},[(_vm.openedCollid)?_c('FlagCollection',{attrs:{\"collection\":_vm.flagcolls[_vm.openedCollid]}}):_vm._e()],1)\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"flag-collection\"},[_c('header',[_c('h3',{staticClass:\"mdi mdi-folder-outline\"},[_vm._v(_vm._s(_vm.collection.name))]),_vm._v(\" \"),_c('span',{staticClass:\"mdi mdi-close\",attrs:{\"title\":\"close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onCloseFlagColl.apply(null, arguments)}}})]),_vm._v(\" \"),(_vm.loadedItems)?_c('ul',[_vm._l((_vm.loadedItems),function(item){return _c('li',{key:item.id},[_c('MiniCard',{attrs:{\"item\":item,\"collid\":_vm.collection.id}})],1)}),_vm._v(\" \"),(_vm.loadedItems.length === 0)?_c('span',[_vm._v(\"No items in your folder\")]):_vm._e()],2):_c('span',{staticClass:\"loading\"},[_vm._v(_vm._s(_vm.$t('default.Loading…')))])])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('article',{staticClass:\"card minicard\"},[_c('header',{on:{\"click\":function($event){$event.preventDefault();return _vm.openModalCard.apply(null, arguments)}}},[_c('h1',[_vm._v(_vm._s(_vm.item.title))]),_vm._v(\" \"),(_vm.item.reference)?_c('span',{staticClass:\"ref\"},[_vm._v(_vm._s(_vm.item.reference))]):_vm._e()]),_vm._v(\" \"),_c('nav',{staticClass:\"tools\"},[(_vm.item.samples && _vm.item.samples.length)?_c('section',{staticClass:\"tool samples\"},[_c('span',{staticClass:\"btn mdi mdi-map-marker-star-outline\"}),_vm._v(\" \"),_c('div',{staticClass:\"tool-content\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t(\"materio.Samples\")))]),_vm._v(\" \"),_c('ul',_vm._l((_vm.item.samples),function(sample){return _c('li',{key:sample.showroom.id},[_c('span',{staticClass:\"showroom\"},[_vm._v(_vm._s(sample.showroom.name))]),_vm._v(\": \"+_vm._s(sample.location)+\"\\n \")])}),0)])]):_vm._e(),_vm._v(\" \"),_c('section',{staticClass:\"tool flags\"},[_c('span',{staticClass:\"mdi unflag\",class:[\n _vm.itemIsLoading() ? 'mdi-loading mdi-spin' : 'mdi-folder-remove'\n ],on:{\"click\":function($event){$event.preventDefault();return _vm.onUnFlagCard.apply(null, arguments)}}})])]),_vm._v(\" \"),_c('section',{directives:[{name:\"switcher\",rawName:\"v-switcher\"}],staticClass:\"images\"},_vm._l((_vm.item.images),function(img,index){return _c('figure',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(index),expression:\"index\"}],key:img.url,staticClass:\"lazy\"},[_c('img',{attrs:{\"data-src\":img.style_minicard.url,\"title\":img.title}}),_vm._v(\" \"),_c('img',{staticClass:\"blank\",attrs:{\"src\":_vm.blanksrc},on:{\"click\":function($event){$event.preventDefault();return _vm.openModalCard.apply(null, arguments)}}})])}),0)])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template>\n <article class=\"card minicard\">\n <header\n @click.prevent=\"openModalCard\"\n >\n <h1>{{ item.title }}</h1>\n <span v-if=\"item.reference\" class=\"ref\">{{ item.reference }}</span>\n </header>\n <nav class=\"tools\">\n <section class=\"tool samples\" v-if=\"item.samples && item.samples.length\">\n <span class=\"btn mdi mdi-map-marker-star-outline\"/>\n <div class=\"tool-content\">\n <span class=\"label\">{{ $t(\"materio.Samples\") }}</span>\n <ul>\n <li\n v-for=\"sample in item.samples\"\n :key=\"sample.showroom.id\"\n >\n <span class=\"showroom\">{{ sample.showroom.name }}</span>: {{ sample.location }}\n </li>\n </ul>\n </div>\n </section>\n <section class=\"tool flags\">\n <span\n class=\"mdi unflag\"\n :class=\"[\n itemIsLoading() ? 'mdi-loading mdi-spin' : 'mdi-folder-remove'\n ]\"\n @click.prevent=\"onUnFlagCard\"\n />\n </section>\n </nav>\n <section class=\"images\" v-switcher>\n <figure\n v-for=\"(img, index) in item.images\"\n :key=\"img.url\"\n v-lazy=\"index\"\n class=\"lazy\"\n >\n <img\n :data-src=\"img.style_minicard.url\"\n :title=\"img.title\"\n />\n <img\n class=\"blank\"\n :src=\"blanksrc\"\n @click.prevent=\"openModalCard\"\n >\n </figure>\n </section>\n </article>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\nimport cardMixins from 'vuejs/components/cardMixins'\nimport ModalCard from 'vuejs/components/Content/ModalCard'\n\nexport default {\n name: \"MiniCard\",\n props: ['item', 'collid'],\n mixins: [cardMixins],\n components: {\n ModalCard\n },\n data() {\n return {\n blanksrc:`${drupalSettings.path.themePath}/assets/img/blank.gif`,\n loadingItem: false\n }\n },\n computed: {\n ...mapState({\n isloggedin: state => state.User.isloggedin\n })\n },\n methods: {\n ...mapActions({\n flagUnflag: 'User/flagUnflag'\n }),\n itemIsLoading(id) {\n return this.loadingItem\n },\n onUnFlagCard (e) {\n console.log(\"Card onFlagActionCard\", e, this.item)\n if (!this.loadingItem) {\n this.loadingItem = true;\n this.flagUnflag({\n action: 'unflag',\n id: this.item.id,\n collid: this.collid\n })\n .then(data => {\n console.log(\"onUnFlagCard then\", data)\n this.loadingItem = false;\n })\n }\n },\n openModalCard (e) {\n console.log('openModalCard', this.isLoggedin)\n if (this.isloggedin) {\n this.$modal.show(\n ModalCard,\n { item: this.item },\n {\n name: `modal-${this.item.id}`,\n draggable: false,\n classes: \"vm--modale-card\",\n // this does not work\n // adaptative: true,\n // maxWidth: 850,\n // maxHeight: 610,\n width: '95%',\n height: '95%'\n }\n )\n }\n }\n }\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MiniCard.vue?vue&type=template&id=4e2a2193&scoped=true\"\nimport script from \"./MiniCard.vue?vue&type=script&lang=js\"\nexport * from \"./MiniCard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e2a2193\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlagCollection.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlagCollection.vue?vue&type=script&lang=js\"","<template>\n <section class=\"flag-collection\">\n <header>\n <h3 class=\"mdi mdi-folder-outline\">{{collection.name}}</h3>\n <span\n class=\"mdi mdi-close\"\n title=\"close\"\n @click.prevent=\"onCloseFlagColl\"\n />\n </header>\n <ul v-if=\"loadedItems\">\n <li\n v-for=\"item in loadedItems\"\n :key=\"item.id\"\n >\n <MiniCard :item=\"item\" :collid=\"collection.id\"/>\n </li>\n <span v-if=\"loadedItems.length === 0\">No items in your folder</span>\n </ul>\n <span v-else class=\"loading\">{{ $t('default.Loading…') }}</span>\n </section>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\nimport MiniCard from 'vuejs/components/Content/MiniCard'\n\nexport default {\n name: \"FlagCollection\",\n props: ['collection'],\n data: () => ({\n loadedItems: false\n }),\n computed: {\n ...mapState({\n flagcolls: state => state.User.flagcolls,\n flagcollsLoadedItems: state => state.User.flagcollsLoadedItems,\n openedCollid: state => state.User.openedCollid\n })\n },\n // watch: {\n // flagcolls (newv, oldv) {\n // console.log('watching flagcolls')\n // if( typeof this.flagcolls[this.collection.id].loadedItems !== 'undefined' ) {\n // this.loadedItems = this.flagcolls[this.collection.id].loadedItems\n // }\n // }\n // },\n created() {\n if (typeof this.flagcollsLoadedItems[this.openedCollid] !== 'undefined') {\n // if loadedItems are alredy loaded,\n // the mutation occurs before this subscription\n // so we first check if they are already available\n this.loadedItems = this.flagcollsLoadedItems[this.openedCollid]\n }\n\n this.unsubscribe = this.$store.subscribe((mutation, state) => {\n if (mutation.type === 'User/setLoadedCollItems') {\n console.log(\"mutation setLoadedCollItems collid\", this.openedCollid)\n // mutation is triggered before the component update\n // so this.collection.id is not good\n this.loadedItems = state.User.flagcollsLoadedItems[this.openedCollid]\n }\n })\n\n },\n beforeDestroy() {\n this.unsubscribe()\n },\n // beforeMount () {\n // if (typeof this.flagcolls[collection.id].loadedItems === 'undefined') {\n // this.\n // }\n // },\n methods: {\n ...mapActions({\n closeFlagColl: 'User/closeFlagColl'\n }),\n onCloseFlagColl(e) {\n this.closeFlagColl()\n }\n },\n components: {\n MiniCard\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n</style>\n","import { render, staticRenderFns } from \"./FlagCollection.vue?vue&type=template&id=25790ad6&scoped=true\"\nimport script from \"./FlagCollection.vue?vue&type=script&lang=js\"\nexport * from \"./FlagCollection.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25790ad6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftContent.vue?vue&type=script&lang=js\"","<template lang=\"html\">\n <div\n :id=\"id\"\n :class=\"{opened: isopened}\"\n >\n <FlagCollection v-if='openedCollid' :collection='flagcolls[openedCollid]'/>\n </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\nimport MA from 'vuejs/api/ma-axios'\nimport router from 'vuejs/route'\n\nimport FlagCollection from 'vuejs/components/User/FlagCollection'\n\nexport default {\n router,\n props:['id'],\n data() {\n return {\n // isOpened: false\n }\n },\n computed: {\n ...mapState({\n flagcolls: state => state.User.flagcolls,\n openedCollid: state => state.User.openedCollid\n }),\n isopened () {\n return this.openedCollid\n }\n },\n beforeMount() {\n\n },\n methods: {\n\n },\n components: {\n FlagCollection\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./LeftContent.vue?vue&type=template&id=ac95746c&scoped=true&lang=html\"\nimport script from \"./LeftContent.vue?vue&type=script&lang=js\"\nexport * from \"./LeftContent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ac95746c\",\n null\n \n)\n\nexport default component.exports","<script>\n\nimport Vue from 'vue'\n\nimport { mapState, mapActions } from 'vuex'\n\nimport MA from 'vuejs/api/ma-axios'\nimport router from 'vuejs/route'\n\nexport default {\n router,\n props:['id','dom_html'],\n data() {\n return {\n html: null,\n template: null\n }\n },\n computed: {\n ...mapState({\n isloggedin: state => state.User.isloggedin\n })\n },\n beforeMount() {\n // console.log(\"beforeMount header_menu\", this.html)\n if (!this.template) {\n // console.log('no home_template')\n if (this.dom_html) { // if html prop is available\n this.html = this.dom_html\n this.compileTemplate()\n } else { // else get it from ajax\n this.getMenuBlockHtml()\n }\n }\n },\n methods: {\n // ...mapActions({\n // openCloseHamMenu: 'Common/openCloseHamMenu'\n // }),\n compileTemplate(){\n this.template = Vue.compile(this.html)\n },\n getMenuBlockHtml(){\n MA.get('materio_decoupled/ajax/getheadermenu')\n .then(({data}) => {\n // console.log('HeaderMenu getMenuBlockHtml data', data)\n this.html = data.rendered // record the html src into data\n })\n .catch((error) => {\n console.warn('Issue with getMenuBlockHtml', error)\n })\n },\n onclick (event) {\n // console.log(\"Clicked on header menu link\", event)\n const href = event.target.getAttribute('href')\n // this.openCloseHamMenu(false)\n // this.$router.push({name:'base', query:{\n // keys:this.typed,\n // // terms:this.autocomplete.join(','),\n // terms: JSON.stringify(this.autocomplete),\n // filters:filters.join(',')\n // }})\n \n this.$router.push({path: href, query: {}})\n }\n },\n render(h) {\n // console.log('headerMenu render')\n if (!this.template) {\n return h('span', $t('default.Loading…'))\n } else {\n return this.template.render.call(this)\n }\n },\n watch: {\n html(n, o) {\n // console.log('header_menu html changed', o, n)\n this.compileTemplate()\n },\n isloggedin(n, o) {\n console.log(\"HeaderMenu isloggedin changed\", o, n)\n this.getMenuBlockHtml()\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./HeaderMenu.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"07e6eff8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js\"","<script>\n\nimport Vue from 'vue'\n\nimport router from 'vuejs/route'\n\nexport default {\n name: \"LanguageSwitcher\",\n router,\n props:['id','dom_html'],\n data() {\n return {\n html: null,\n template: null\n }\n },\n beforeMount() {\n console.log(\"beforeMount languageSwitcher\", this.dom_html)\n if (!this.template) {\n console.log('no languageswitcher template')\n if (this.dom_html) { // if html prop is available\n this.html = this.dom_html\n this.compileTemplate()\n }\n }\n },\n methods: {\n compileTemplate(){\n console.log(\"languageSwitcher compileTemplate html\", this.html)\n this.template = Vue.compile(this.html)\n // https://github.com/vuejs/vue/issues/9911\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(fn => (this.$options.staticRenderFns.push(fn)));\n console.log(\"languageSwitcher compileTemplate template\", this.template)\n },\n onTapLanguageSwitcher (e) {\n console.log('onTapLanguageSwitcher', e)\n let tapped = e.target.parentNode.parentNode.querySelectorAll('.tapped')\n tapped.forEach((item, i) => {\n item.classList.remove('tapped')\n })\n e.target.parentNode.classList.add('tapped')\n }\n },\n render(h) {\n console.log('languageswitcher render')\n if (!this.template) {\n return h('span', $t('default.Loading…'))\n } else {\n return this.template.render.call(this)\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","var render, staticRenderFns\nimport script from \"./LanguageSwitcher.vue?vue&type=script&lang=js\"\nexport * from \"./LanguageSwitcher.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"697e0439\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('CoolLightBox',{attrs:{\"items\":_vm.coolLightBoxItems,\"index\":_vm.coolLightBoxIndex,\"srcName\":\"url\",\"loop\":true,\"fullscreen\":true},on:{\"close\":function($event){return _vm.setcoolLightBoxIndex(null)}}})\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }","<template lang=\"html\">\n <CoolLightBox\n :items=\"coolLightBoxItems\"\n :index=\"coolLightBoxIndex\"\n srcName=\"url\"\n :loop=\"true\"\n :fullscreen=\"true\"\n @close=\"setcoolLightBoxIndex(null)\">\n </CoolLightBox>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'vuex'\n\n// import MA from 'vuejs/api/ma-axios'\nimport router from 'vuejs/route'\n\nimport CoolLightBox from 'vue-cool-lightbox'\nimport 'vue-cool-lightbox/dist/vue-cool-lightbox.min.css'\n\nexport default {\n router,\n // props:[],\n data() {\n return {\n // isOpened: false\n }\n },\n computed: {\n ...mapState({\n coolLightBoxItems: state => state.Common.coolLightBoxItems,\n coolLightBoxIndex: state => state.Common.coolLightBoxIndex,\n })\n },\n beforeMount() {\n\n },\n methods: {\n ...mapActions({\n setcoolLightBoxIndex: 'Common/setcoolLightBoxIndex'\n }),\n },\n components: {\n CoolLightBox\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import mod from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobCoolLightBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobCoolLightBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GlobCoolLightBox.vue?vue&type=template&id=3e871497&scoped=true&lang=html\"\nimport script from \"./GlobCoolLightBox.vue?vue&type=script&lang=js\"\nexport * from \"./GlobCoolLightBox.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e871497\",\n null\n \n)\n\nexport default component.exports","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","// This is a magic string replaced by rollup\n\nconst SDK_VERSION = \"9.8.0\" ;\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","/** Internal global with common properties and Sentry extensions */\n\n/** Get's the global object for the current JavaScript runtime */\nconst GLOBAL_OBJ = globalThis ;\n\nexport { GLOBAL_OBJ };\n//# sourceMappingURL=worldwide.js.map\n","import { SDK_VERSION } from './utils-hoist/version.js';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide.js';\n\n/**\n * An object that contains globally accessible properties and maintains a scope stack.\n * @hidden\n */\n\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 **/\nfunction getMainCarrier() {\n // This ensures a Sentry carrier exists\n getSentryCarrier(GLOBAL_OBJ);\n return GLOBAL_OBJ;\n}\n\n/** Will either get the existing sentry carrier, or create a new one. */\nfunction getSentryCarrier(carrier) {\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n\n // For now: First SDK that sets the .version property wins\n __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n\n // Intentionally populating and returning the version of \"this\" SDK instance\n // rather than what's set in .version so that \"this\" SDK always gets its carrier\n return (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__[]` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(\n name,\n creator,\n obj = GLOBAL_OBJ,\n) {\n const __SENTRY__ = (obj.__SENTRY__ = obj.__SENTRY__ || {});\n const carrier = (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n // Note: We do not want to set `carrier.version` here, as this may be called before any `init` is called, e.g. for the default scopes\n return carrier[name] || (carrier[name] = creator());\n}\n\nexport { getGlobalSingleton, getMainCarrier, getSentryCarrier };\n//# sourceMappingURL=carrier.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { getGlobalSingleton } from '../carrier.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nconst CONSOLE_LEVELS = [\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'log',\n 'assert',\n 'trace',\n] ;\n\n/** This may be mutated by the console instrumentation. */\nconst originalConsoleMethods\n\n = {};\n\n/** A Sentry Logger instance. */\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const console = GLOBAL_OBJ.console ;\n const wrappedFuncs = {};\n\n const wrappedLevels = Object.keys(originalConsoleMethods) ;\n\n // Restore all wrapped console methods\n wrappedLevels.forEach(level => {\n const originalConsoleMethod = originalConsoleMethods[level] ;\n wrappedFuncs[level] = console[level] ;\n console[level] = originalConsoleMethod;\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n wrappedLevels.forEach(level => {\n console[level] = wrappedFuncs[level] ;\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n const logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n isEnabled: () => enabled,\n };\n\n if (DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n/**\n * This is a logger singleton which either logs things or no-ops if logging is not enabled.\n * The logger is a singleton on the carrier, to ensure that a consistent logger is used throughout the SDK.\n */\nconst logger = getGlobalSingleton('logger', makeLogger);\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger, originalConsoleMethods };\n//# sourceMappingURL=logger.js.map\n","import { getClient } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { logger } from './utils-hoist/logger.js';\n\nconst installedIntegrations = [];\n\n/** Map of integrations assigned to a client */\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preserve the order of integrations in the array.\n *\n * @private\n */\nfunction filterDuplicates(integrations) {\n const integrationsByName = {};\n\n integrations.forEach((currentInstance) => {\n const { name } = currentInstance;\n\n const existingInstance = integrationsByName[name];\n\n // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n // default instance to overwrite an existing user instance\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n\n integrationsByName[name] = currentInstance;\n });\n\n return Object.values(integrationsByName);\n}\n\n/** Gets integrations to install */\nfunction getIntegrationsToSetup(options) {\n const defaultIntegrations = options.defaultIntegrations || [];\n const userIntegrations = options.integrations;\n\n // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n defaultIntegrations.forEach((integration) => {\n integration.isDefaultInstance = true;\n });\n\n let integrations;\n\n if (Array.isArray(userIntegrations)) {\n integrations = [...defaultIntegrations, ...userIntegrations];\n } else if (typeof userIntegrations === 'function') {\n const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n } else {\n integrations = defaultIntegrations;\n }\n\n return filterDuplicates(integrations);\n}\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 */\nfunction setupIntegrations(client, integrations) {\n const integrationIndex = {};\n\n integrations.forEach((integration) => {\n // guard against empty provided integrations\n if (integration) {\n setupIntegration(client, integration, integrationIndex);\n }\n });\n\n return integrationIndex;\n}\n\n/**\n * Execute the `afterAllSetup` hooks of the given integrations.\n */\nfunction afterSetupIntegrations(client, integrations) {\n for (const integration of integrations) {\n // guard against empty provided integrations\n if (integration?.afterAllSetup) {\n integration.afterAllSetup(client);\n }\n }\n}\n\n/** Setup a single integration. */\nfunction setupIntegration(client, integration, integrationIndex) {\n if (integrationIndex[integration.name]) {\n DEBUG_BUILD && logger.log(`Integration skipped because it was already installed: ${integration.name}`);\n return;\n }\n integrationIndex[integration.name] = integration;\n\n // `setupOnce` is only called the first time\n if (installedIntegrations.indexOf(integration.name) === -1 && typeof integration.setupOnce === 'function') {\n integration.setupOnce();\n installedIntegrations.push(integration.name);\n }\n\n // `setup` is run for each client\n if (integration.setup && typeof integration.setup === 'function') {\n integration.setup(client);\n }\n\n if (typeof integration.preprocessEvent === 'function') {\n const callback = integration.preprocessEvent.bind(integration) ;\n client.on('preprocessEvent', (event, hint) => callback(event, hint, client));\n }\n\n if (typeof integration.processEvent === 'function') {\n const callback = integration.processEvent.bind(integration) ;\n\n const processor = Object.assign((event, hint) => callback(event, hint, client), {\n id: integration.name,\n });\n\n client.addEventProcessor(processor);\n }\n\n DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/** Add an integration to the current scope's client. */\nfunction addIntegration(integration) {\n const client = getClient();\n\n if (!client) {\n DEBUG_BUILD && logger.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n return;\n }\n\n client.addIntegration(integration);\n}\n\n/**\n * Define an integration function that can be used to create an integration instance.\n * Note that this by design hides the implementation details of the integration, as they are considered internal.\n */\nfunction defineIntegration(fn) {\n return fn;\n}\n\nexport { addIntegration, afterSetupIntegrations, defineIntegration, getIntegrationsToSetup, installedIntegrations, setupIntegration, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\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 */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n case '[object WebAssembly.Exception]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === `[object ${className}]`;\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 */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\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 */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\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 */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\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 */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given string is parameterized\n * {@link isParameterizedString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isParameterizedString(wat) {\n return (\n typeof wat === 'object' &&\n wat !== null &&\n '__sentry_template_string__' in wat &&\n '__sentry_template_values__' in wat\n );\n}\n\n/**\n * Checks whether given value 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 */\nfunction isPrimitive(wat) {\n return wat === null || isParameterizedString(wat) || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal, or a class instance.\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\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 */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\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 */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\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 */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat?.then && typeof wat.then === 'function');\n}\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 */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\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 */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isVueViewModel(wat) {\n // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n return !!(typeof wat === 'object' && wat !== null && ((wat ).__isVue || (wat )._isVue));\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isParameterizedString, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable, isVueViewModel };\n//# sourceMappingURL=is.js.map\n","import { isString } from './is.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ ;\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\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 */\nfunction htmlTreeAsString(\n elem,\n options = {},\n) {\n if (!elem) {\n return '<unknown>';\n }\n\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 let currentElem = elem ;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\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 maxStringLength\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '<unknown>';\n }\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 const elem = el\n\n;\n\n const out = [];\n\n if (!elem?.tagName) {\n return '';\n }\n\n // @ts-expect-error WINDOW has HTMLElement\n if (WINDOW.HTMLElement) {\n // If using the component name annotation plugin, this value may be available on the DOM node\n if (elem instanceof HTMLElement && elem.dataset) {\n if (elem.dataset['sentryComponent']) {\n return elem.dataset['sentryComponent'];\n }\n if (elem.dataset['sentryElement']) {\n return elem.dataset['sentryElement'];\n }\n }\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs = keyAttrs?.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs?.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n const className = elem.className;\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n for (const k of allowedAttrs) {\n const attr = elem.getAttribute(k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Given a DOM element, traverses up the tree until it finds the first ancestor node\n * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking\n * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.\n *\n * @returns a string representation of the component for the provided DOM element, or `null` if not found\n */\nfunction getComponentName(elem) {\n // @ts-expect-error WINDOW has HTMLElement\n if (!WINDOW.HTMLElement) {\n return null;\n }\n\n let currentElem = elem ;\n const MAX_TRAVERSE_HEIGHT = 5;\n for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {\n if (!currentElem) {\n return null;\n }\n\n if (currentElem instanceof HTMLElement) {\n if (currentElem.dataset['sentryComponent']) {\n return currentElem.dataset['sentryComponent'];\n }\n if (currentElem.dataset['sentryElement']) {\n return currentElem.dataset['sentryElement'];\n }\n }\n\n currentElem = currentElem.parentNode;\n }\n\n return null;\n}\n\nexport { getComponentName, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { isString, isRegExp, isVueViewModel } from './is.js';\n\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 */\nfunction truncate(str, max = 0) {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\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 */\nfunction snipLine(line, colno) {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\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 */\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/8981\n if (isVueViewModel(value)) {\n output.push('[VueViewModel]');\n } else {\n output.push(String(value));\n }\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nfunction isMatchingPattern(\n value,\n pattern,\n requireExactStringMatch = false,\n) {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nfunction stringMatchesSomePattern(\n testString,\n patterns = [],\n requireExactStringMatch = false,\n) {\n return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, truncate };\n//# sourceMappingURL=string.js.map\n","import { htmlTreeAsString } from './browser.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { isError, isEvent, isInstanceOf, isPrimitive, isElement, isPlainObject } from './is.js';\nimport { logger } from './logger.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * If the method on the passed object is not a function, the wrapper will not be applied.\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, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n // explicitly casting to unknown because we don't know the type of the method initially at all\n const original = source[name] ;\n\n if (typeof original !== 'function') {\n return;\n }\n\n const wrapped = replacementFactory(original) ;\n\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 markFunctionWrapped(wrapped, original);\n }\n\n try {\n source[name] = wrapped;\n } catch {\n DEBUG_BUILD && logger.log(`Failed to replace method \"${name}\" in object`, source);\n }\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argument itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(value)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\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 */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n const firstKey = keys[0];\n\n if (!firstKey) {\n return '[object has no keys]';\n }\n\n if (firstKey.length >= maxLength) {\n return truncate(firstKey, maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const 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\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.getOwnPropertyNames(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input) {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) ).constructor.name;\n return !name || name === 'Object';\n } catch {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n // this will catch both undefined and null\n case wat == undefined:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify };\n//# sourceMappingURL=object.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction getCrypto() {\n const gbl = GLOBAL_OBJ ;\n return gbl.crypto || gbl.msCrypto;\n}\n\n/**\n * UUID4 generator\n * @param crypto Object that provides the crypto API.\n * @returns string Generated UUID4.\n */\nfunction uuid4(crypto = getCrypto()) {\n let getRandomByte = () => Math.random() * 16;\n try {\n if (crypto?.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto?.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return typedArray[0];\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception?.values?.[0];\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 */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\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 */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...currentMechanism?.data, ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(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/**\n * Represents Semantic Versioning object\n */\n\nfunction _parseInt(input) {\n return parseInt(input || '', 10);\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = _parseInt(match[1]);\n const minor = _parseInt(match[2]);\n const patch = _parseInt(match[3]);\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}\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 */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n // We guard here to ensure this is not larger than the existing number of lines\n const lineIndex = Math.min(maxLines - 1, sourceLine);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n frame.context_line = snipLine(lines[lineIndex], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n if (isAlreadyCaptured(exception)) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\nfunction isAlreadyCaptured(exception) {\n try {\n return (exception ).__sentry_captured__;\n } catch {} // eslint-disable-line no-empty\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","/**\n * Get a list of possible event messages from a Sentry event.\n */\nfunction getPossibleEventMessages(event) {\n const possibleMessages = [];\n\n if (event.message) {\n possibleMessages.push(event.message);\n }\n\n try {\n // @ts-expect-error Try catching to save bundle size\n const lastException = event.exception.values[event.exception.values.length - 1];\n if (lastException?.value) {\n possibleMessages.push(lastException.value);\n if (lastException.type) {\n possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n }\n }\n } catch (e) {\n // ignore errors here\n }\n\n return possibleMessages;\n}\n\nexport { getPossibleEventMessages };\n//# sourceMappingURL=eventUtils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { getEventDescription } from '../utils-hoist/misc.js';\nimport { stringMatchesSomePattern } from '../utils-hoist/string.js';\nimport { getPossibleEventMessages } from '../utils/eventUtils.js';\n\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.\nconst DEFAULT_IGNORE_ERRORS = [\n /^Script error\\.?$/,\n /^Javascript error: Script error\\.? on line 0$/,\n /^ResizeObserver loop completed with undelivered notifications.$/, // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n /^Cannot redefine property: googletag$/, // This is thrown when google tag manager is used in combination with an ad blocker\n /^Can't find variable: gmo$/, // Error from Google Search App https://issuetracker.google.com/issues/396043331\n /^undefined is not an object \\(evaluating 'a\\.[A-Z]'\\)$/, // Random error that happens but not actionable or noticeable to end-users.\n 'can\\'t redefine non-configurable property \"solana\"', // Probably a browser extension or custom browser (Brave) throwing this error\n \"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)\", // Error thrown by GTM, seemingly not affecting end-users\n \"Can't find variable: _AutofillCallbackHandler\", // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n /^Non-Error promise rejection captured with value: Object Not Found Matching Id:\\d+, MethodName:simulateEvent, ParamCount:\\d+$/, // unactionable error from CEFSharp, a .NET library that embeds chromium in .NET apps\n /^Java exception was raised during method invocation$/, // error from Facebook Mobile browser (https://github.com/getsentry/sentry-javascript/issues/15065)\n];\n\n/** Options for the EventFilters integration */\n\nconst INTEGRATION_NAME = 'EventFilters';\n\n/**\n * An integration that filters out events (errors and transactions) based on:\n *\n * - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})\n * - (Errors) A list of error messages or urls/filenames passed in via\n * - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)\n * - The same options passed to the integration directly via @param options\n * - (Transactions/Spans) A list of root span (transaction) names passed in via\n * - Top level Sentry.init option (`ignoreTransactions`)\n * - The same option passed to the integration directly via @param options\n *\n * Events filtered by this integration will not be sent to Sentry.\n */\nconst eventFiltersIntegration = defineIntegration((options = {}) => {\n let mergedOptions;\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n const clientOptions = client.getOptions();\n mergedOptions = _mergeOptions(options, clientOptions);\n },\n processEvent(event, _hint, client) {\n if (!mergedOptions) {\n const clientOptions = client.getOptions();\n mergedOptions = _mergeOptions(options, clientOptions);\n }\n return _shouldDropEvent(event, mergedOptions) ? null : event;\n },\n };\n});\n\n/**\n * An integration that filters out events (errors and transactions) based on:\n *\n * - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})\n * - (Errors) A list of error messages or urls/filenames passed in via\n * - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)\n * - The same options passed to the integration directly via @param options\n * - (Transactions/Spans) A list of root span (transaction) names passed in via\n * - Top level Sentry.init option (`ignoreTransactions`)\n * - The same option passed to the integration directly via @param options\n *\n * Events filtered by this integration will not be sent to Sentry.\n *\n * @deprecated this integration was renamed and will be removed in a future major version.\n * Use `eventFiltersIntegration` instead.\n */\nconst inboundFiltersIntegration = defineIntegration(((options = {}) => {\n return {\n ...eventFiltersIntegration(options),\n name: 'InboundFilters',\n };\n}) );\n\nfunction _mergeOptions(\n internalOptions = {},\n clientOptions = {},\n) {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...(internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS),\n ],\n ignoreTransactions: [...(internalOptions.ignoreTransactions || []), ...(clientOptions.ignoreTransactions || [])],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\nfunction _shouldDropEvent(event, options) {\n if (!event.type) {\n // Filter errors\n\n if (options.ignoreInternal && _isSentryError(event)) {\n DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isUselessError(event)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not having an error message, error type or stacktrace.\\nEvent: ${getEventDescription(\n event,\n )}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n } else if (event.type === 'transaction') {\n // Filter transactions\n\n if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreTransactions\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n }\n return false;\n}\n\nfunction _isIgnoredError(event, ignoreErrors) {\n if (!ignoreErrors?.length) {\n return false;\n }\n\n return getPossibleEventMessages(event).some(message => stringMatchesSomePattern(message, ignoreErrors));\n}\n\nfunction _isIgnoredTransaction(event, ignoreTransactions) {\n if (!ignoreTransactions?.length) {\n return false;\n }\n\n const name = event.transaction;\n return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\n\nfunction _isDeniedUrl(event, denyUrls) {\n if (!denyUrls?.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\n\nfunction _isAllowedUrl(event, allowUrls) {\n if (!allowUrls?.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\n\nfunction _isSentryError(event) {\n try {\n // @ts-expect-error can't be a sentry error if undefined\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames = []) {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '<anonymous>' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event) {\n try {\n // If there are linked exceptions or exception aggregates we only want to match against the top frame of the \"root\" (the main exception)\n // The root always comes last in linked exceptions\n const rootException = [...(event.exception?.values ?? [])]\n .reverse()\n .find(value => value.mechanism?.parent_id === undefined && value.stacktrace?.frames?.length);\n const frames = rootException?.stacktrace?.frames;\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n\nfunction _isUselessError(event) {\n // We only want to consider events for dropping that actually have recorded exception values.\n if (!event.exception?.values?.length) {\n return false;\n }\n\n return (\n // No top-level message\n !event.message &&\n // There are no exception values that have a stacktrace, a non-generic-Error type or value\n !event.exception.values.some(value => value.stacktrace || (value.type && value.type !== 'Error') || value.value)\n );\n}\n\nexport { eventFiltersIntegration, inboundFiltersIntegration };\n//# sourceMappingURL=eventFilters.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nconst ONE_SECOND_IN_MS = 1000;\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nfunction dateTimestampInSeconds() {\n return Date.now() / ONE_SECOND_IN_MS;\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 createUnixTimestampInSecondsFunc() {\n const { performance } = GLOBAL_OBJ ;\n if (!performance?.now) {\n return dateTimestampInSeconds;\n }\n\n // Some browser and environments don't have a timeOrigin, so we fallback to\n // using Date.now() to compute the starting time.\n const approxStartingTimeOrigin = Date.now() - performance.now();\n const timeOrigin = performance.timeOrigin == undefined ? approxStartingTimeOrigin : performance.timeOrigin;\n\n // performance.now() is a monotonic clock, which means it starts at 0 when the process begins. To get the current\n // wall clock time (actual UNIX timestamp), we need to add the starting time origin and the current time elapsed.\n //\n // TODO: This does not account for the case where the monotonic clock that powers performance.now() drifts from the\n // wall clock time, which causes the returned timestamp to be inaccurate. We should investigate how to detect and\n // correct for this.\n // See: https://github.com/getsentry/sentry-javascript/issues/2590\n // See: https://github.com/mdn/content/issues/4713\n // See: https://dev.to/noamr/when-a-millisecond-is-not-a-millisecond-3h6\n return () => {\n return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;\n };\n}\n\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 * 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 */\nconst timestampInSeconds = createUnixTimestampInSecondsFunc();\n\n/**\n * Cached result of getBrowserTimeOrigin.\n */\nlet cachedTimeOrigin;\n\n/**\n * Gets the time origin and the mode used to determine it.\n */\nfunction getBrowserTimeOrigin() {\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\n const { performance } = GLOBAL_OBJ ;\n if (!performance?.now) {\n return [undefined, 'none'];\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\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 const navigationStart = performance.timing?.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n return [performance.timeOrigin, 'timeOrigin'];\n } else {\n return [navigationStart, 'navigationStart'];\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n return [dateNow, 'dateNow'];\n}\n\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 */\nfunction browserPerformanceTimeOrigin() {\n if (!cachedTimeOrigin) {\n cachedTimeOrigin = getBrowserTimeOrigin();\n }\n\n return cachedTimeOrigin[0];\n}\n\nexport { browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds };\n//# sourceMappingURL=time.js.map\n","import './utils-hoist/debug-build.js';\nimport './utils-hoist/logger.js';\nimport { dropUndefinedKeys } from './utils-hoist/object.js';\nimport { timestampInSeconds } from './utils-hoist/time.js';\nimport { uuid4 } from './utils-hoist/misc.js';\nimport './utils-hoist/syncpromise.js';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see Client.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.abnormal_mechanism) {\n session.abnormal_mechanism = context.abnormal_mechanism;\n }\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n abnormal_mechanism: session.abnormal_mechanism,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { uuid4 } from './misc.js';\n\n/**\n * Generate a random, valid trace ID.\n */\nfunction generateTraceId() {\n return uuid4();\n}\n\n/**\n * Generate a random, valid span ID.\n */\nfunction generateSpanId() {\n return uuid4().substring(16);\n}\n\nexport { generateSpanId, generateTraceId };\n//# sourceMappingURL=propagationContext.js.map\n","/**\n * Shallow merge two objects.\n * Does not mutate the passed in objects.\n * Undefined/empty values in the merge object will overwrite existing values.\n *\n * By default, this merges 2 levels deep.\n */\nfunction merge(initialObj, mergeObj, levels = 2) {\n // If the merge value is not an object, or we have no merge levels left,\n // we just set the value to the merge value\n if (!mergeObj || typeof mergeObj !== 'object' || levels <= 0) {\n return mergeObj;\n }\n\n // If the merge object is an empty object, and the initial object is not undefined, we return the initial object\n if (initialObj && Object.keys(mergeObj).length === 0) {\n return initialObj;\n }\n\n // Clone object\n const output = { ...initialObj };\n\n // Merge values into output, resursively\n for (const key in mergeObj) {\n if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n output[key] = merge(output[key], mergeObj[key], levels - 1);\n }\n }\n\n return output;\n}\n\nexport { merge };\n//# sourceMappingURL=merge.js.map\n","import { addNonEnumerableProperty } from '../utils-hoist/object.js';\n\nconst SCOPE_SPAN_FIELD = '_sentrySpan';\n\n/**\n * Set the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _setSpanForScope(scope, span) {\n if (span) {\n addNonEnumerableProperty(scope , SCOPE_SPAN_FIELD, span);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete (scope )[SCOPE_SPAN_FIELD];\n }\n}\n\n/**\n * Get the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _getSpanForScope(scope) {\n return scope[SCOPE_SPAN_FIELD];\n}\n\nexport { _getSpanForScope, _setSpanForScope };\n//# sourceMappingURL=spanOnScope.js.map\n","import { updateSession } from './session.js';\nimport { isPlainObject } from './utils-hoist/is.js';\nimport { logger } from './utils-hoist/logger.js';\nimport { uuid4 } from './utils-hoist/misc.js';\nimport { generateTraceId } from './utils-hoist/propagationContext.js';\nimport { dateTimestampInSeconds } from './utils-hoist/time.js';\nimport { merge } from './utils/merge.js';\nimport { _setSpanForScope, _getSpanForScope } from './utils/spanOnScope.js';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * A context to be used for capturing an event.\n * This can either be a Scope, or a partial ScopeContext,\n * or a callback that receives the current scope and returns a new scope to use.\n */\n\n/**\n * Holds additional event information.\n */\nclass Scope {\n /** Flag if notifying is happening. */\n\n /** Callback for client to receive scope changes. */\n\n /** Callback list that will be called during event processing. */\n\n /** Array of breadcrumbs. */\n\n /** User */\n\n /** Tags */\n\n /** Extra */\n\n /** Contexts */\n\n /** Attachments */\n\n /** Propagation Context for distributed tracing */\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n\n /** Fingerprint */\n\n /** Severity */\n\n /**\n * Transaction Name\n *\n * IMPORTANT: The transaction name on the scope has nothing to do with root spans/transaction objects.\n * It's purpose is to assign a transaction to the scope that's added to non-transaction events.\n */\n\n /** Session */\n\n /** The client on this scope */\n\n /** Contains the last event id of a captured event. */\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n this._propagationContext = {\n traceId: generateTraceId(),\n sampleRand: Math.random(),\n };\n }\n\n /**\n * Clone all data from this scope into a new scope.\n */\n clone() {\n const newScope = new Scope();\n newScope._breadcrumbs = [...this._breadcrumbs];\n newScope._tags = { ...this._tags };\n newScope._extra = { ...this._extra };\n newScope._contexts = { ...this._contexts };\n if (this._contexts.flags) {\n // We need to copy the `values` array so insertions on a cloned scope\n // won't affect the original array.\n newScope._contexts.flags = {\n values: [...this._contexts.flags.values],\n };\n }\n\n newScope._user = this._user;\n newScope._level = this._level;\n newScope._session = this._session;\n newScope._transactionName = this._transactionName;\n newScope._fingerprint = this._fingerprint;\n newScope._eventProcessors = [...this._eventProcessors];\n newScope._attachments = [...this._attachments];\n newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n newScope._propagationContext = { ...this._propagationContext };\n newScope._client = this._client;\n newScope._lastEventId = this._lastEventId;\n\n _setSpanForScope(newScope, _getSpanForScope(this));\n\n return newScope;\n }\n\n /**\n * Update the client assigned to this scope.\n * Note that not every scope will have a client assigned - isolation scopes & the global scope will generally not have a client,\n * as well as manually created scopes.\n */\n setClient(client) {\n this._client = client;\n }\n\n /**\n * Set the ID of the last captured error event.\n * This is generally only captured on the isolation scope.\n */\n setLastEventId(lastEventId) {\n this._lastEventId = lastEventId;\n }\n\n /**\n * Get the client assigned to this scope.\n */\n getClient() {\n return this._client ;\n }\n\n /**\n * Get the ID of the last captured error event.\n * This is generally only available on the isolation scope.\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * Add an event processor that will be called before an event is sent.\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * Set the user for this scope.\n * Set to `null` to unset the user.\n */\n setUser(user) {\n // If null is passed we want to unset everything, but still define keys,\n // so that later down in the pipeline any existing values are cleared.\n this._user = user || {\n email: undefined,\n id: undefined,\n ip_address: undefined,\n username: undefined,\n };\n\n if (this._session) {\n updateSession(this._session, { user });\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Get the user from this scope.\n */\n getUser() {\n return this._user;\n }\n\n /**\n * Set an object that will be merged into existing tags on the scope,\n * and will be sent as tags data with the event.\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Set a single tag that will be sent as tags data with the event.\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Set an object that will be merged into existing extra on the scope,\n * and will be sent as extra data with the event.\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Set a single key:value extra entry that will be sent as extra data with the event.\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Sets the fingerprint on the scope to send with the events.\n * @param {string[]} fingerprint Fingerprint to group events in Sentry.\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Sets the level on the scope for future events.\n */\n setLevel(level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Sets the transaction name on the scope so that the name of e.g. taken server route or\n * the page location is attached to future events.\n *\n * IMPORTANT: Calling this function does NOT change the name of the currently active\n * root span. If you want to change the name of the active root span, use\n * `Sentry.updateSpanName(rootSpan, 'new name')` instead.\n *\n * By default, the SDK updates the scope's transaction name automatically on sensible\n * occasions, such as a page navigation or when handling a new request on the server.\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Sets context data with the given name.\n * Data passed as context will be normalized. You can also pass `null` to unset the context.\n * Note that context data will not be merged - calling `setContext` will overwrite an existing context with the same key.\n */\n setContext(key, context) {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Set the session for the scope.\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Get the session from the scope.\n */\n getSession() {\n return this._session;\n }\n\n /**\n * Updates the scope with provided data. Can work in three variations:\n * - plain object containing updatable attributes\n * - Scope instance that'll extract the attributes from\n * - callback function that'll receive the current scope as an argument and allow for modifications\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n const scopeToMerge = typeof captureContext === 'function' ? captureContext(this) : captureContext;\n\n const scopeInstance =\n scopeToMerge instanceof Scope\n ? scopeToMerge.getScopeData()\n : isPlainObject(scopeToMerge)\n ? (captureContext )\n : undefined;\n\n const { tags, extra, user, contexts, level, fingerprint = [], propagationContext } = scopeInstance || {};\n\n this._tags = { ...this._tags, ...tags };\n this._extra = { ...this._extra, ...extra };\n this._contexts = { ...this._contexts, ...contexts };\n\n if (user && Object.keys(user).length) {\n this._user = user;\n }\n\n if (level) {\n this._level = level;\n }\n\n if (fingerprint.length) {\n this._fingerprint = fingerprint;\n }\n\n if (propagationContext) {\n this._propagationContext = propagationContext;\n }\n\n return this;\n }\n\n /**\n * Clears the current scope and resets its properties.\n * Note: The client will not be cleared.\n */\n clear() {\n // client is not cleared here on purpose!\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._session = undefined;\n _setSpanForScope(this, undefined);\n this._attachments = [];\n this.setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Adds a breadcrumb to the scope.\n * By default, the last 100 breadcrumbs are kept.\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n\n this._breadcrumbs.push(mergedBreadcrumb);\n if (this._breadcrumbs.length > maxCrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(-maxCrumbs);\n this._client?.recordDroppedEvent('buffer_overflow', 'log_item');\n }\n\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * Get the last breadcrumb of the scope.\n */\n getLastBreadcrumb() {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n\n /**\n * Clear all breadcrumbs from the scope.\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Add an attachment to the scope.\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * Clear all attachments from the scope.\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /**\n * Get the data of this scope, which should be applied to an event during processing.\n */\n getScopeData() {\n return {\n breadcrumbs: this._breadcrumbs,\n attachments: this._attachments,\n contexts: this._contexts,\n tags: this._tags,\n extra: this._extra,\n user: this._user,\n level: this._level,\n fingerprint: this._fingerprint || [],\n eventProcessors: this._eventProcessors,\n propagationContext: this._propagationContext,\n sdkProcessingMetadata: this._sdkProcessingMetadata,\n transactionName: this._transactionName,\n span: _getSpanForScope(this),\n };\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry.\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n return this;\n }\n\n /**\n * Add propagation context to the scope, used for distributed tracing\n */\n setPropagationContext(context) {\n this._propagationContext = context;\n return this;\n }\n\n /**\n * Get propagation context from the scope, used for distributed tracing\n */\n getPropagationContext() {\n return this._propagationContext;\n }\n\n /**\n * Capture an exception for this scope.\n *\n * @returns {string} The id of the captured Sentry event.\n */\n captureException(exception, hint) {\n const eventId = hint?.event_id || uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture exception!');\n return eventId;\n }\n\n const syntheticException = new Error('Sentry syntheticException');\n\n this._client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * Capture a message for this scope.\n *\n * @returns {string} The id of the captured message.\n */\n captureMessage(message, level, hint) {\n const eventId = hint?.event_id || uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture message!');\n return eventId;\n }\n\n const syntheticException = new Error(message);\n\n this._client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * Capture a Sentry event for this scope.\n *\n * @returns {string} The id of the captured event.\n */\n captureEvent(event, hint) {\n const eventId = hint?.event_id || uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture event!');\n return eventId;\n }\n\n this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n\n return eventId;\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\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(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n}\n\nexport { Scope };\n//# sourceMappingURL=scope.js.map\n","import { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';\nimport { Scope } from '../scope.js';\nimport { isThenable } from '../utils-hoist/is.js';\nimport { getMainCarrier, getSentryCarrier } from '../carrier.js';\n\n/**\n * This is an object that holds a stack of scopes.\n */\nclass AsyncContextStack {\n\n constructor(scope, isolationScope) {\n let assignedScope;\n if (!scope) {\n assignedScope = new Scope();\n } else {\n assignedScope = scope;\n }\n\n let assignedIsolationScope;\n if (!isolationScope) {\n assignedIsolationScope = new Scope();\n } else {\n assignedIsolationScope = isolationScope;\n }\n\n // scope stack for domains or the process\n this._stack = [{ scope: assignedScope }];\n this._isolationScope = assignedIsolationScope;\n }\n\n /**\n * Fork a scope for the stack.\n */\n withScope(callback) {\n const scope = this._pushScope();\n\n let maybePromiseResult;\n try {\n maybePromiseResult = callback(scope);\n } catch (e) {\n this._popScope();\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n // @ts-expect-error - isThenable returns the wrong type\n return maybePromiseResult.then(\n res => {\n this._popScope();\n return res;\n },\n e => {\n this._popScope();\n throw e;\n },\n );\n }\n\n this._popScope();\n return maybePromiseResult;\n }\n\n /**\n * Get the client of the stack.\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /**\n * Returns the scope of the top stack.\n */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /**\n * Get the isolation scope for the stack.\n */\n getIsolationScope() {\n return this._isolationScope;\n }\n\n /**\n * Returns the topmost scope layer in the order domain > local > process.\n */\n getStackTop() {\n return this._stack[this._stack.length - 1] ;\n }\n\n /**\n * Push a scope to the stack.\n */\n _pushScope() {\n // We want to clone the content of prev scope\n const scope = this.getScope().clone();\n this._stack.push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * Pop a scope from the stack.\n */\n _popScope() {\n if (this._stack.length <= 1) return false;\n return !!this._stack.pop();\n }\n}\n\n/**\n * Get the global async context stack.\n * This will be removed during the v8 cycle and is only here to make migration easier.\n */\nfunction getAsyncContextStack() {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n\n return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));\n}\n\nfunction withScope(callback) {\n return getAsyncContextStack().withScope(callback);\n}\n\nfunction withSetScope(scope, callback) {\n const stack = getAsyncContextStack() ;\n return stack.withScope(() => {\n stack.getStackTop().scope = scope;\n return callback(scope);\n });\n}\n\nfunction withIsolationScope(callback) {\n return getAsyncContextStack().withScope(() => {\n return callback(getAsyncContextStack().getIsolationScope());\n });\n}\n\n/**\n * Get the stack-based async context strategy.\n */\nfunction getStackAsyncContextStrategy() {\n return {\n withIsolationScope,\n withScope,\n withSetScope,\n withSetIsolationScope: (_isolationScope, callback) => {\n return withIsolationScope(callback);\n },\n getCurrentScope: () => getAsyncContextStack().getScope(),\n getIsolationScope: () => getAsyncContextStack().getIsolationScope(),\n };\n}\n\nexport { AsyncContextStack, getStackAsyncContextStrategy };\n//# sourceMappingURL=stackStrategy.js.map\n","import { getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\n\n/** Get the default current scope. */\nfunction getDefaultCurrentScope() {\n return getGlobalSingleton('defaultCurrentScope', () => new Scope());\n}\n\n/** Get the default isolation scope. */\nfunction getDefaultIsolationScope() {\n return getGlobalSingleton('defaultIsolationScope', () => new Scope());\n}\n\nexport { getDefaultCurrentScope, getDefaultIsolationScope };\n//# sourceMappingURL=defaultScopes.js.map\n","import { getMainCarrier, getSentryCarrier } from '../carrier.js';\nimport { getStackAsyncContextStrategy } from './stackStrategy.js';\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nfunction setAsyncContextStrategy(strategy) {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n sentry.acs = strategy;\n}\n\n/**\n * Get the current async context strategy.\n * If none has been setup, the default will be used.\n */\nfunction getAsyncContextStrategy(carrier) {\n const sentry = getSentryCarrier(carrier);\n\n if (sentry.acs) {\n return sentry.acs;\n }\n\n // Otherwise, use the default one (stack)\n return getStackAsyncContextStrategy();\n}\n\nexport { getAsyncContextStrategy, setAsyncContextStrategy };\n//# sourceMappingURL=index.js.map\n","import { getAsyncContextStrategy } from './asyncContext/index.js';\nimport { getMainCarrier, getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\nimport './utils-hoist/debug-build.js';\nimport './utils-hoist/logger.js';\nimport { dropUndefinedKeys } from './utils-hoist/object.js';\nimport './utils-hoist/time.js';\nimport './utils-hoist/syncpromise.js';\nimport { generateSpanId } from './utils-hoist/propagationContext.js';\n\n/**\n * Get the currently active scope.\n */\nfunction getCurrentScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getCurrentScope();\n}\n\n/**\n * Get the currently active isolation scope.\n * The isolation scope is active for the current execution context.\n */\nfunction getIsolationScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getIsolationScope();\n}\n\n/**\n * Get the global scope.\n * This scope is applied to _all_ events.\n */\nfunction getGlobalScope() {\n return getGlobalSingleton('globalScope', () => new Scope());\n}\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\n/**\n * Either creates a new active scope, or sets the given scope as active scope in the given callback.\n */\nfunction withScope(\n ...rest\n) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [scope, callback] = rest;\n\n if (!scope) {\n return acs.withScope(callback);\n }\n\n return acs.withSetScope(scope, callback);\n }\n\n return acs.withScope(rest[0]);\n}\n\n/**\n * Attempts to fork the current isolation scope and the current scope based on the current async context strategy. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n */\n\n/**\n * Either creates a new active isolation scope, or sets the given isolation scope as active scope in the given callback.\n */\nfunction withIsolationScope(\n ...rest\n\n) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [isolationScope, callback] = rest;\n\n if (!isolationScope) {\n return acs.withIsolationScope(callback);\n }\n\n return acs.withSetIsolationScope(isolationScope, callback);\n }\n\n return acs.withIsolationScope(rest[0]);\n}\n\n/**\n * Get the currently active client.\n */\nfunction getClient() {\n return getCurrentScope().getClient();\n}\n\n/**\n * Get a trace context for the given scope.\n */\nfunction getTraceContextFromScope(scope) {\n const propagationContext = scope.getPropagationContext();\n\n const { traceId, parentSpanId, propagationSpanId } = propagationContext;\n\n const traceContext = dropUndefinedKeys({\n trace_id: traceId,\n span_id: propagationSpanId || generateSpanId(),\n parent_span_id: parentSpanId,\n });\n\n return traceContext;\n}\n\nexport { getClient, getCurrentScope, getGlobalScope, getIsolationScope, getTraceContextFromScope, withIsolationScope, withScope };\n//# sourceMappingURL=currentScopes.js.map\n","import { getClient } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { getOriginalFunction } from '../utils-hoist/object.js';\n\nlet originalFunctionToString;\n\nconst INTEGRATION_NAME = 'FunctionToString';\n\nconst SETUP_CLIENTS = new WeakMap();\n\nconst _functionToStringIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // intrinsics (like Function.prototype) might be immutable in some environments\n // e.g. Node with --frozen-intrinsics, XS (an embedded JavaScript engine) or SES (a JavaScript proposal)\n try {\n Function.prototype.toString = function ( ...args) {\n const originalFunction = getOriginalFunction(this);\n const context =\n SETUP_CLIENTS.has(getClient() ) && originalFunction !== undefined ? originalFunction : this;\n return originalFunctionToString.apply(context, args);\n };\n } catch {\n // ignore errors here, just don't patch this\n }\n },\n setup(client) {\n SETUP_CLIENTS.set(client, true);\n },\n };\n}) ;\n\n/**\n * Patch toString calls to return proper name for wrapped functions.\n *\n * ```js\n * Sentry.init({\n * integrations: [\n * functionToStringIntegration(),\n * ],\n * });\n * ```\n */\nconst functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n\nexport { functionToStringIntegration };\n//# sourceMappingURL=functiontostring.js.map\n","const STACKTRACE_FRAME_LIMIT = 50;\nconst UNKNOWN_FUNCTION = '?';\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nfunction createStackParser(...parsers) {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack, skipFirstLines = 0, framesToPop = 0) => {\n const frames = [];\n const lines = stack.split('\\n');\n\n for (let i = skipFirstLines; i < lines.length; i++) {\n const line = lines[i] ;\n // Ignore lines over 1kb as they are unlikely to be stack frames.\n // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n // input size. Huge strings can result in hangs/Denial of Service:\n // https://github.com/getsentry/sentry-javascript/issues/2286\n if (line.length > 1024) {\n continue;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n // https://github.com/getsentry/sentry-javascript/issues/7813\n // Skip Error: lines\n if (cleanedLine.match(/\\S*Error: /)) {\n continue;\n }\n\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n\n if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n break;\n }\n }\n\n return stripSentryFramesAndReverse(frames.slice(framesToPop));\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n\n const localStack = Array.from(stack);\n\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 (/sentryWrapped/.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n\n // Reversing in the middle of the procedure allows us to just pop the values off the stack\n localStack.reverse();\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 (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n\n // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n // is produced within the scope itself, making it:\n //\n // Sentry.captureException()\n // scope.captureException()\n //\n // instead of just the top `Sentry` call itself.\n // This forces us to possibly strip an additional frame in the exact same was as above.\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n }\n\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n ...frame,\n filename: frame.filename || getLastStackFrame(localStack).filename,\n function: frame.function || UNKNOWN_FUNCTION,\n }));\n}\n\nfunction getLastStackFrame(arr) {\n return arr[arr.length - 1] || {};\n}\n\nconst defaultFunctionName = '<anonymous>';\n\n/**\n * Safely extract function name from itself\n */\nfunction 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}\n\n/**\n * Get's stack frames from an event without needing to check for undefined properties.\n */\nfunction getFramesFromEvent(event) {\n const exception = event.exception;\n\n if (exception) {\n const frames = [];\n try {\n // @ts-expect-error Object could be undefined\n exception.values.forEach(value => {\n // @ts-expect-error Value could be undefined\n if (value.stacktrace.frames) {\n // @ts-expect-error Value could be undefined\n frames.push(...value.stacktrace.frames);\n }\n });\n return frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport { UNKNOWN_FUNCTION, createStackParser, getFramesFromEvent, getFunctionName, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { defineIntegration } from '../integration.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { getFramesFromEvent } from '../utils-hoist/stacktrace.js';\n\nconst INTEGRATION_NAME = 'Dedupe';\n\nconst _dedupeIntegration = (() => {\n let previousEvent;\n\n return {\n name: INTEGRATION_NAME,\n processEvent(currentEvent) {\n // We want to ignore any non-error type events, e.g. transactions or replays\n // These should never be deduped, and also not be compared against as _previousEvent.\n if (currentEvent.type) {\n return currentEvent;\n }\n\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, previousEvent)) {\n DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n return (previousEvent = currentEvent);\n },\n };\n}) ;\n\n/**\n * Deduplication filter.\n */\nconst dedupeIntegration = defineIntegration(_dedupeIntegration);\n\n/** only exported for tests. */\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\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\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n let currentFrames = getFramesFromEvent(currentEvent);\n let previousFrames = getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\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\n currentFrames = currentFrames ;\n previousFrames = previousFrames ;\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameA = previousFrames[i];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\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\n currentFingerprint = currentFingerprint ;\n previousFingerprint = previousFingerprint ;\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\nfunction _getExceptionFromEvent(event) {\n return event.exception?.values && event.exception.values[0];\n}\n\nexport { _shouldDropEvent, dedupeIntegration };\n//# sourceMappingURL=dedupe.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { logger } from './logger.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ ;\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-expect-error It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsHistory() {\n return 'history' in WINDOW && !!WINDOW.history;\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsFetch() {\n if (!('fetch' in WINDOW)) {\n return false;\n }\n\n try {\n new Headers();\n new Request('http://www.example.com');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * isNative checks if the given function is a native implementation\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isNativeFunction(func) {\n return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\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 */\nfunction supportsNativeFetch() {\n if (typeof EdgeRuntime === 'string') {\n return true;\n }\n\n if (!supportsFetch()) {\n return false;\n }\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFunction(WINDOW.fetch)) {\n return true;\n }\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 let result = false;\n const doc = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement ) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow?.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFunction(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReportingObserver() {\n return 'ReportingObserver' in WINDOW;\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' ,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport { isNativeFunction, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { getCurrentScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { logger, consoleSandbox } from './utils-hoist/logger.js';\n\n/** A class object that can instantiate Client objects. */\n\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 */\nfunction initAndBind(\n clientClass,\n options,\n) {\n if (options.debug === true) {\n if (DEBUG_BUILD) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n });\n }\n }\n const scope = getCurrentScope();\n scope.update(options.initialScope);\n\n const client = new clientClass(options);\n setCurrentClient(client);\n client.init();\n return client;\n}\n\n/**\n * Make the given client the current client.\n */\nfunction setCurrentClient(client) {\n getCurrentScope().setClient(client);\n}\n\nexport { initAndBind, setCurrentClient };\n//# sourceMappingURL=sdk.js.map\n","import { makeDsn, dsnToString } from './utils-hoist/dsn.js';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn) {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn) {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn, sdkInfo) {\n const params = {\n sentry_version: SENTRY_API_VERSION,\n };\n\n if (dsn.publicKey) {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n params.sentry_key = dsn.publicKey;\n }\n\n if (sdkInfo) {\n params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n }\n\n return new URLSearchParams(params).toString();\n}\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 */\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel, sdkInfo) {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nfunction getReportDialogEndpoint(dsnLike, dialogOptions) {\n const dsn = makeDsn(dsnLike);\n if (!dsn) {\n return '';\n }\n\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'onClose') {\n continue;\n }\n\n if (key === 'user') {\n const user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] )}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n\nexport { getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","const DEFAULT_ENVIRONMENT = 'production';\n\nexport { DEFAULT_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","/**\n * Use this attribute to represent the source of a span.\n * Should be one of: custom, url, route, view, component, task, unknown\n *\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = 'sentry.source';\n\n/**\n * Attributes that holds the sample rate that was locally applied to a span.\n * If this attribute is not defined, it means that the span inherited a sampling decision.\n *\n * NOTE: Is only defined on root spans.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = 'sentry.sample_rate';\n\n/**\n * Use this attribute to represent the operation of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_OP = 'sentry.op';\n\n/**\n * Use this attribute to represent the origin of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = 'sentry.origin';\n\n/** The reason why an idle span finished. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/** The unit of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = 'sentry.measurement_unit';\n\n/** The value of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = 'sentry.measurement_value';\n\n/**\n * A custom span name set by users guaranteed to be taken over any automatically\n * inferred name. This attribute is removed before the span is sent.\n *\n * @internal only meant for internal SDK usage\n * @hidden\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = 'sentry.custom_span_name';\n\n/**\n * The id of the profile that this span occurred in.\n */\nconst SEMANTIC_ATTRIBUTE_PROFILE_ID = 'sentry.profile_id';\n\nconst SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_HIT = 'cache.hit';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_KEY = 'cache.key';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = 'cache.item_size';\n\n/** TODO: Remove these once we update to latest semantic conventions */\nconst SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = 'http.request.method';\nconst SEMANTIC_ATTRIBUTE_URL_FULL = 'url.full';\n\nexport { SEMANTIC_ATTRIBUTE_CACHE_HIT, SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE, SEMANTIC_ATTRIBUTE_CACHE_KEY, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_URL_FULL };\n//# sourceMappingURL=semanticAttributes.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { isString } from './is.js';\nimport { logger } from './logger.js';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nconst MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nfunction baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader,\n) {\n const baggageObject = parseBaggageHeader(baggageHeader);\n\n if (!baggageObject) {\n return undefined;\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n const dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext ;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nfunction dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext,\n) {\n if (!dynamicSamplingContext) {\n return undefined;\n }\n\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Take a baggage header and parse it into an object.\n */\nfunction parseBaggageHeader(\n baggageHeader,\n) {\n if (!baggageHeader || (!isString(baggageHeader) && !Array.isArray(baggageHeader))) {\n return undefined;\n }\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n return baggageHeader.reduce((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n Object.entries(currBaggageObject).forEach(([key, value]) => {\n acc[key] = value;\n });\n return acc;\n }, {});\n }\n\n return baggageHeaderToObject(baggageHeader);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce((acc, [key, value]) => {\n if (key && value) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n\nexport { MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, objectToBaggageHeader, parseBaggageHeader };\n//# sourceMappingURL=baggage.js.map\n","import { getClient } from '../currentScopes.js';\n\n// Treeshakable guard to remove all code related to tracing\n\n/**\n * Determines if span recording is currently enabled.\n *\n * Spans are recorded when at least one of `tracesSampleRate` and `tracesSampler`\n * is defined in the SDK config. This function does not make any assumption about\n * sampling decisions, it only checks if the SDK is configured to record spans.\n *\n * Important: This function only determines if span recording is enabled. Trace\n * continuation and propagation is separately controlled and not covered by this function.\n * If this function returns `false`, traces can still be propagated (which is what\n * we refer to by \"Tracing without Performance\")\n * @see https://develop.sentry.dev/sdk/telemetry/traces/tracing-without-performance/\n *\n * @param maybeOptions An SDK options object to be passed to this function.\n * If this option is not provided, the function will use the current client's options.\n */\nfunction hasSpansEnabled(\n maybeOptions,\n) {\n if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n return false;\n }\n\n const options = maybeOptions || getClient()?.getOptions();\n return (\n !!options &&\n // Note: This check is `!= null`, meaning \"nullish\". `0` is not \"nullish\", `undefined` and `null` are. (This comment was brought to you by 15 minutes of questioning life)\n (options.tracesSampleRate != null || !!options.tracesSampler)\n );\n}\n\n/**\n * @see JSDoc of `hasSpansEnabled`\n * @deprecated Use `hasSpansEnabled` instead, which is a more accurately named version of this function.\n * This function will be removed in the next major version of the SDK.\n */\n// TODO(v10): Remove this export\nconst hasTracingEnabled = hasSpansEnabled;\n\nexport { hasSpansEnabled, hasTracingEnabled };\n//# sourceMappingURL=hasSpansEnabled.js.map\n","const SPAN_STATUS_UNSET = 0;\nconst SPAN_STATUS_OK = 1;\nconst SPAN_STATUS_ERROR = 2;\n\n/**\n * Converts a HTTP status code into a sentry status with a message.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\n// https://develop.sentry.dev/sdk/event-payloads/span/\nfunction getSpanStatusFromHttpCode(httpStatus) {\n if (httpStatus < 400 && httpStatus >= 100) {\n return { code: SPAN_STATUS_OK };\n }\n\n if (httpStatus >= 400 && httpStatus < 500) {\n switch (httpStatus) {\n case 401:\n return { code: SPAN_STATUS_ERROR, message: 'unauthenticated' };\n case 403:\n return { code: SPAN_STATUS_ERROR, message: 'permission_denied' };\n case 404:\n return { code: SPAN_STATUS_ERROR, message: 'not_found' };\n case 409:\n return { code: SPAN_STATUS_ERROR, message: 'already_exists' };\n case 413:\n return { code: SPAN_STATUS_ERROR, message: 'failed_precondition' };\n case 429:\n return { code: SPAN_STATUS_ERROR, message: 'resource_exhausted' };\n case 499:\n return { code: SPAN_STATUS_ERROR, message: 'cancelled' };\n default:\n return { code: SPAN_STATUS_ERROR, message: 'invalid_argument' };\n }\n }\n\n if (httpStatus >= 500 && httpStatus < 600) {\n switch (httpStatus) {\n case 501:\n return { code: SPAN_STATUS_ERROR, message: 'unimplemented' };\n case 503:\n return { code: SPAN_STATUS_ERROR, message: 'unavailable' };\n case 504:\n return { code: SPAN_STATUS_ERROR, message: 'deadline_exceeded' };\n default:\n return { code: SPAN_STATUS_ERROR, message: 'internal_error' };\n }\n }\n\n return { code: SPAN_STATUS_ERROR, message: 'unknown_error' };\n}\n\n/**\n * Sets the Http status attributes on the current span based on the http code.\n * Additionally, the span's status is updated, depending on the http code.\n */\nfunction setHttpStatus(span, httpStatus) {\n span.setAttribute('http.response.status_code', httpStatus);\n\n const spanStatus = getSpanStatusFromHttpCode(httpStatus);\n if (spanStatus.message !== 'unknown_error') {\n span.setStatus(spanStatus);\n }\n}\n\nexport { SPAN_STATUS_ERROR, SPAN_STATUS_OK, SPAN_STATUS_UNSET, getSpanStatusFromHttpCode, setHttpStatus };\n//# sourceMappingURL=spanstatus.js.map\n","import { addNonEnumerableProperty } from '../utils-hoist/object.js';\n\nconst SCOPE_ON_START_SPAN_FIELD = '_sentryScope';\nconst ISOLATION_SCOPE_ON_START_SPAN_FIELD = '_sentryIsolationScope';\n\n/** Store the scope & isolation scope for a span, which can the be used when it is finished. */\nfunction setCapturedScopesOnSpan(span, scope, isolationScope) {\n if (span) {\n addNonEnumerableProperty(span, ISOLATION_SCOPE_ON_START_SPAN_FIELD, isolationScope);\n addNonEnumerableProperty(span, SCOPE_ON_START_SPAN_FIELD, scope);\n }\n}\n\n/**\n * Grabs the scope and isolation scope off a span that were active when the span was started.\n */\nfunction getCapturedScopesOnSpan(span) {\n return {\n scope: (span )[SCOPE_ON_START_SPAN_FIELD],\n isolationScope: (span )[ISOLATION_SCOPE_ON_START_SPAN_FIELD],\n };\n}\n\nexport { getCapturedScopesOnSpan, setCapturedScopesOnSpan };\n//# sourceMappingURL=utils.js.map\n","/**\n * Parse a sample rate from a given value.\n * This will either return a boolean or number sample rate, if the sample rate is valid (between 0 and 1).\n * If a string is passed, we try to convert it to a number.\n *\n * Any invalid sample rate will return `undefined`.\n */\nfunction parseSampleRate(sampleRate) {\n if (typeof sampleRate === 'boolean') {\n return Number(sampleRate);\n }\n\n const rate = typeof sampleRate === 'string' ? parseFloat(sampleRate) : sampleRate;\n if (typeof rate !== 'number' || isNaN(rate) || rate < 0 || rate > 1) {\n return undefined;\n }\n\n return rate;\n}\n\nexport { parseSampleRate };\n//# sourceMappingURL=parseSampleRate.js.map\n","import { parseSampleRate } from '../utils/parseSampleRate.js';\nimport { baggageHeaderToDynamicSamplingContext } from './baggage.js';\nimport { generateTraceId, generateSpanId } from './propagationContext.js';\n\n// eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor -- RegExp is used for readability here\nconst TRACEPARENT_REGEXP = new RegExp(\n '^[ \\\\t]*' + // whitespace\n '([0-9a-f]{32})?' + // trace_id\n '-?([0-9a-f]{16})?' + // span_id\n '-?([01])?' + // sampled\n '[ \\\\t]*$', // whitespace\n);\n\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\nfunction extractTraceparentData(traceparent) {\n if (!traceparent) {\n return undefined;\n }\n\n const matches = traceparent.match(TRACEPARENT_REGEXP);\n if (!matches) {\n return undefined;\n }\n\n let parentSampled;\n if (matches[3] === '1') {\n parentSampled = true;\n } else if (matches[3] === '0') {\n parentSampled = false;\n }\n\n return {\n traceId: matches[1],\n parentSampled,\n parentSpanId: matches[2],\n };\n}\n\n/**\n * Create a propagation context from incoming headers or\n * creates a minimal new one if the headers are undefined.\n */\nfunction propagationContextFromHeaders(\n sentryTrace,\n baggage,\n) {\n const traceparentData = extractTraceparentData(sentryTrace);\n const dynamicSamplingContext = baggageHeaderToDynamicSamplingContext(baggage);\n\n if (!traceparentData?.traceId) {\n return {\n traceId: generateTraceId(),\n sampleRand: Math.random(),\n };\n }\n\n const sampleRand = getSampleRandFromTraceparentAndDsc(traceparentData, dynamicSamplingContext);\n\n // The sample_rand on the DSC needs to be generated based on traceparent + baggage.\n if (dynamicSamplingContext) {\n dynamicSamplingContext.sample_rand = sampleRand.toString();\n }\n\n const { traceId, parentSpanId, parentSampled } = traceparentData;\n\n return {\n traceId,\n parentSpanId,\n sampled: parentSampled,\n dsc: dynamicSamplingContext || {}, // If we have traceparent data but no DSC it means we are not head of trace and we must freeze it\n sampleRand,\n };\n}\n\n/**\n * Create sentry-trace header from span context values.\n */\nfunction generateSentryTraceHeader(\n traceId = generateTraceId(),\n spanId = generateSpanId(),\n sampled,\n) {\n let sampledString = '';\n if (sampled !== undefined) {\n sampledString = sampled ? '-1' : '-0';\n }\n return `${traceId}-${spanId}${sampledString}`;\n}\n\n/**\n * Given any combination of an incoming trace, generate a sample rand based on its defined semantics.\n *\n * Read more: https://develop.sentry.dev/sdk/telemetry/traces/#propagated-random-value\n */\nfunction getSampleRandFromTraceparentAndDsc(\n traceparentData,\n dsc,\n) {\n // When there is an incoming sample rand use it.\n const parsedSampleRand = parseSampleRate(dsc?.sample_rand);\n if (parsedSampleRand !== undefined) {\n return parsedSampleRand;\n }\n\n // Otherwise, if there is an incoming sampling decision + sample rate, generate a sample rand that would lead to the same sampling decision.\n const parsedSampleRate = parseSampleRate(dsc?.sample_rate);\n if (parsedSampleRate && traceparentData?.parentSampled !== undefined) {\n return traceparentData.parentSampled\n ? // Returns a sample rand with positive sampling decision [0, sampleRate)\n Math.random() * parsedSampleRate\n : // Returns a sample rand with negative sampling decision [sampleRate, 1)\n parsedSampleRate + Math.random() * (1 - parsedSampleRate);\n } else {\n // If nothing applies, return a random sample rand.\n return Math.random();\n }\n}\n\nexport { TRACEPARENT_REGEXP, extractTraceparentData, generateSentryTraceHeader, propagationContextFromHeaders };\n//# sourceMappingURL=tracing.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getCurrentScope } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { SPAN_STATUS_UNSET, SPAN_STATUS_OK } from '../tracing/spanstatus.js';\nimport { getCapturedScopesOnSpan } from '../tracing/utils.js';\nimport { consoleSandbox } from '../utils-hoist/logger.js';\nimport { dropUndefinedKeys, addNonEnumerableProperty } from '../utils-hoist/object.js';\nimport { generateSpanId } from '../utils-hoist/propagationContext.js';\nimport { timestampInSeconds } from '../utils-hoist/time.js';\nimport { generateSentryTraceHeader } from '../utils-hoist/tracing.js';\nimport { _getSpanForScope } from './spanOnScope.js';\n\n// These are aligned with OpenTelemetry trace flags\nconst TRACE_FLAG_NONE = 0x0;\nconst TRACE_FLAG_SAMPLED = 0x1;\n\nlet hasShownSpanDropWarning = false;\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in an event.\n * By default, this will only include trace_id, span_id & parent_span_id.\n * If `includeAllData` is true, it will also include data, op, status & origin.\n */\nfunction spanToTransactionTraceContext(span) {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { data, op, parent_span_id, status, origin, links } = spanToJSON(span);\n\n return dropUndefinedKeys({\n parent_span_id,\n span_id,\n trace_id,\n data,\n op,\n status,\n origin,\n links,\n });\n}\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in a non-transaction event.\n */\nfunction spanToTraceContext(span) {\n const { spanId, traceId: trace_id, isRemote } = span.spanContext();\n\n // If the span is remote, we use a random/virtual span as span_id to the trace context,\n // and the remote span as parent_span_id\n const parent_span_id = isRemote ? spanId : spanToJSON(span).parent_span_id;\n const scope = getCapturedScopesOnSpan(span).scope;\n\n const span_id = isRemote ? scope?.getPropagationContext().propagationSpanId || generateSpanId() : spanId;\n\n return dropUndefinedKeys({\n parent_span_id,\n span_id,\n trace_id,\n });\n}\n\n/**\n * Convert a Span to a Sentry trace header.\n */\nfunction spanToTraceHeader(span) {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateSentryTraceHeader(traceId, spanId, sampled);\n}\n\n/**\n * Converts the span links array to a flattened version to be sent within an envelope.\n *\n * If the links array is empty, it returns `undefined` so the empty value can be dropped before it's sent.\n */\nfunction convertSpanLinksForEnvelope(links) {\n if (links && links.length > 0) {\n return links.map(({ context: { spanId, traceId, traceFlags, ...restContext }, attributes }) => ({\n span_id: spanId,\n trace_id: traceId,\n sampled: traceFlags === TRACE_FLAG_SAMPLED,\n attributes,\n ...restContext,\n }));\n } else {\n return undefined;\n }\n}\n\n/**\n * Convert a span time input into a timestamp in seconds.\n */\nfunction spanTimeInputToSeconds(input) {\n if (typeof input === 'number') {\n return ensureTimestampInSeconds(input);\n }\n\n if (Array.isArray(input)) {\n // See {@link HrTime} for the array-based time format\n return input[0] + input[1] / 1e9;\n }\n\n if (input instanceof Date) {\n return ensureTimestampInSeconds(input.getTime());\n }\n\n return timestampInSeconds();\n}\n\n/**\n * Converts a timestamp to second, if it was in milliseconds, or keeps it as second.\n */\nfunction ensureTimestampInSeconds(timestamp) {\n const isMs = timestamp > 9999999999;\n return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Convert a span to a JSON representation.\n */\n// Note: Because of this, we currently have a circular type dependency (which we opted out of in package.json).\n// This is not avoidable as we need `spanToJSON` in `spanUtils.ts`, which in turn is needed by `span.ts` for backwards compatibility.\n// And `spanToJSON` needs the Span class from `span.ts` to check here.\nfunction spanToJSON(span) {\n if (spanIsSentrySpan(span)) {\n return span.getSpanJSON();\n }\n\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n\n // Handle a span from @opentelemetry/sdk-base-trace's `Span` class\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, parentSpanId, status, links } = span;\n\n return dropUndefinedKeys({\n span_id,\n trace_id,\n data: attributes,\n description: name,\n parent_span_id: parentSpanId,\n start_timestamp: spanTimeInputToSeconds(startTime),\n // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n timestamp: spanTimeInputToSeconds(endTime) || undefined,\n status: getStatusMessage(status),\n op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] ,\n links: convertSpanLinksForEnvelope(links),\n });\n }\n\n // Finally, at least we have `spanContext()`....\n // This should not actually happen in reality, but we need to handle it for type safety.\n return {\n span_id,\n trace_id,\n start_timestamp: 0,\n data: {},\n };\n}\n\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span) {\n const castSpan = span ;\n return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\n\n/** Exported only for tests. */\n\n/**\n * Sadly, due to circular dependency checks we cannot actually import the Span class here and check for instanceof.\n * :( So instead we approximate this by checking if it has the `getSpanJSON` method.\n */\nfunction spanIsSentrySpan(span) {\n return typeof (span ).getSpanJSON === 'function';\n}\n\n/**\n * Returns true if a span is sampled.\n * In most cases, you should just use `span.isRecording()` instead.\n * However, this has a slightly different semantic, as it also returns false if the span is finished.\n * So in the case where this distinction is important, use this method.\n */\nfunction spanIsSampled(span) {\n // We align our trace flags with the ones OpenTelemetry use\n // So we also check for sampled the same way they do.\n const { traceFlags } = span.spanContext();\n return traceFlags === TRACE_FLAG_SAMPLED;\n}\n\n/** Get the status message to use for a JSON representation of a span. */\nfunction getStatusMessage(status) {\n if (!status || status.code === SPAN_STATUS_UNSET) {\n return undefined;\n }\n\n if (status.code === SPAN_STATUS_OK) {\n return 'ok';\n }\n\n return status.message || 'unknown_error';\n}\n\nconst CHILD_SPANS_FIELD = '_sentryChildSpans';\nconst ROOT_SPAN_FIELD = '_sentryRootSpan';\n\n/**\n * Adds an opaque child span reference to a span.\n */\nfunction addChildSpanToSpan(span, childSpan) {\n // We store the root span reference on the child span\n // We need this for `getRootSpan()` to work\n const rootSpan = span[ROOT_SPAN_FIELD] || span;\n addNonEnumerableProperty(childSpan , ROOT_SPAN_FIELD, rootSpan);\n\n // We store a list of child spans on the parent span\n // We need this for `getSpanDescendants()` to work\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].add(childSpan);\n } else {\n addNonEnumerableProperty(span, CHILD_SPANS_FIELD, new Set([childSpan]));\n }\n}\n\n/** This is only used internally by Idle Spans. */\nfunction removeChildSpanFromSpan(span, childSpan) {\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].delete(childSpan);\n }\n}\n\n/**\n * Returns an array of the given span and all of its descendants.\n */\nfunction getSpanDescendants(span) {\n const resultSet = new Set();\n\n function addSpanChildren(span) {\n // This exit condition is required to not infinitely loop in case of a circular dependency.\n if (resultSet.has(span)) {\n return;\n // We want to ignore unsampled spans (e.g. non recording spans)\n } else if (spanIsSampled(span)) {\n resultSet.add(span);\n const childSpans = span[CHILD_SPANS_FIELD] ? Array.from(span[CHILD_SPANS_FIELD]) : [];\n for (const childSpan of childSpans) {\n addSpanChildren(childSpan);\n }\n }\n }\n\n addSpanChildren(span);\n\n return Array.from(resultSet);\n}\n\n/**\n * Returns the root span of a given span.\n */\nfunction getRootSpan(span) {\n return span[ROOT_SPAN_FIELD] || span;\n}\n\n/**\n * Returns the currently active span.\n */\nfunction getActiveSpan() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getActiveSpan) {\n return acs.getActiveSpan();\n }\n\n return _getSpanForScope(getCurrentScope());\n}\n\n/**\n * Logs a warning once if `beforeSendSpan` is used to drop spans.\n */\nfunction showSpanDropWarning() {\n if (!hasShownSpanDropWarning) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n '[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.',\n );\n });\n hasShownSpanDropWarning = true;\n }\n}\n\n/**\n * Updates the name of the given span and ensures that the span name is not\n * overwritten by the Sentry SDK.\n *\n * Use this function instead of `span.updateName()` if you want to make sure that\n * your name is kept. For some spans, for example root `http.server` spans the\n * Sentry SDK would otherwise overwrite the span name with a high-quality name\n * it infers when the span ends.\n *\n * Use this function in server code or when your span is started on the server\n * and on the client (browser). If you only update a span name on the client,\n * you can also use `span.updateName()` the SDK does not overwrite the name.\n *\n * @param span - The span to update the name of.\n * @param name - The name to set on the span.\n */\nfunction updateSpanName(span, name) {\n span.updateName(name);\n span.setAttributes({\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'custom',\n [SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME]: name,\n });\n}\n\nexport { TRACE_FLAG_NONE, TRACE_FLAG_SAMPLED, addChildSpanToSpan, convertSpanLinksForEnvelope, getActiveSpan, getRootSpan, getSpanDescendants, getStatusMessage, removeChildSpanFromSpan, showSpanDropWarning, spanIsSampled, spanTimeInputToSeconds, spanToJSON, spanToTraceContext, spanToTraceHeader, spanToTransactionTraceContext, updateSpanName };\n//# sourceMappingURL=spanUtils.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getClient } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader } from '../utils-hoist/baggage.js';\nimport { dropUndefinedKeys, addNonEnumerableProperty } from '../utils-hoist/object.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { getRootSpan, spanToJSON, spanIsSampled } from '../utils/spanUtils.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\n/**\n * If you change this value, also update the terser plugin config to\n * avoid minification of the object property!\n */\nconst FROZEN_DSC_FIELD = '_frozenDsc';\n\n/**\n * Freeze the given DSC on the given span.\n */\nfunction freezeDscOnSpan(span, dsc) {\n const spanWithMaybeDsc = span ;\n addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\n\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatches the `createDsc` lifecycle hook as a side effect.\n */\nfunction getDynamicSamplingContextFromClient(trace_id, client) {\n const options = client.getOptions();\n\n const { publicKey: public_key } = client.getDsn() || {};\n\n const dsc = dropUndefinedKeys({\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n public_key,\n trace_id,\n }) ;\n\n client.emit('createDsc', dsc);\n\n return dsc;\n}\n\n/**\n * Get the dynamic sampling context for the currently active scopes.\n */\nfunction getDynamicSamplingContextFromScope(client, scope) {\n const propagationContext = scope.getPropagationContext();\n return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\n\n/**\n * Creates a dynamic sampling context from a span (and client and scope)\n *\n * @param span the span from which a few values like the root span name and sample rate are extracted.\n *\n * @returns a dynamic sampling context\n */\nfunction getDynamicSamplingContextFromSpan(span) {\n const client = getClient();\n if (!client) {\n return {};\n }\n\n const rootSpan = getRootSpan(span);\n const rootSpanJson = spanToJSON(rootSpan);\n const rootSpanAttributes = rootSpanJson.data;\n const traceState = rootSpan.spanContext().traceState;\n\n // The span sample rate that was locally applied to the root span should also always be applied to the DSC, even if the DSC is frozen.\n // This is so that the downstream traces/services can use parentSampleRate in their `tracesSampler` to make consistent sampling decisions across the entire trace.\n const rootSpanSampleRate =\n traceState?.get('sentry.sample_rate') ?? rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE];\n function applyLocalSampleRateToDsc(dsc) {\n if (typeof rootSpanSampleRate === 'number' || typeof rootSpanSampleRate === 'string') {\n dsc.sample_rate = `${rootSpanSampleRate}`;\n }\n return dsc;\n }\n\n // For core implementation, we freeze the DSC onto the span as a non-enumerable property\n const frozenDsc = (rootSpan )[FROZEN_DSC_FIELD];\n if (frozenDsc) {\n return applyLocalSampleRateToDsc(frozenDsc);\n }\n\n // For OpenTelemetry, we freeze the DSC on the trace state\n const traceStateDsc = traceState?.get('sentry.dsc');\n\n // If the span has a DSC, we want it to take precedence\n const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n\n if (dscOnTraceState) {\n return applyLocalSampleRateToDsc(dscOnTraceState);\n }\n\n // Else, we generate it from the span\n const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n\n // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n const source = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n // after JSON conversion, txn.name becomes jsonSpan.description\n const name = rootSpanJson.description;\n if (source !== 'url' && name) {\n dsc.transaction = name;\n }\n\n // How can we even land here with hasSpansEnabled() returning false?\n // Otel creates a Non-recording span in Tracing Without Performance mode when handling incoming requests\n // So we end up with an active span that is not sampled (neither positively nor negatively)\n if (hasSpansEnabled()) {\n dsc.sampled = String(spanIsSampled(rootSpan));\n dsc.sample_rand =\n // In OTEL we store the sample rand on the trace state because we cannot access scopes for NonRecordingSpans\n // The Sentry OTEL SpanSampler takes care of writing the sample rand on the root span\n traceState?.get('sentry.sample_rand') ??\n // On all other platforms we can actually get the scopes from a root span (we use this as a fallback)\n getCapturedScopesOnSpan(rootSpan).scope?.getPropagationContext().sampleRand.toString();\n }\n\n applyLocalSampleRateToDsc(dsc);\n\n client.emit('createDsc', dsc, rootSpan);\n\n return dsc;\n}\n\n/**\n * Convert a Span to a baggage header.\n */\nfunction spanToBaggageHeader(span) {\n const dsc = getDynamicSamplingContextFromSpan(span);\n return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n\nexport { freezeDscOnSpan, getDynamicSamplingContextFromClient, getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan, spanToBaggageHeader };\n//# sourceMappingURL=dynamicSamplingContext.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { consoleSandbox, logger } from './logger.js';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol) {\n return protocol === 'http' || protocol === 'https';\n}\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 */\nfunction dsnToString(dsn, withPassword = false) {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents or undefined if @param str is not a valid DSN string\n */\nfunction dsnFromString(str) {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n // This should be logged to the console\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(`Invalid Sentry Dsn: ${str}`);\n });\n return undefined;\n }\n\n const [protocol, publicKey, pass = '', host = '', port = '', lastPath = ''] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() ;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol , publicKey });\n}\n\nfunction dsnFromComponents(components) {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn) {\n if (!DEBUG_BUILD) {\n return true;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents = ['protocol', 'publicKey', 'host', 'projectId'];\n const hasMissingRequiredComponent = requiredComponents.find(component => {\n if (!dsn[component]) {\n logger.error(`Invalid Sentry Dsn: ${component} missing`);\n return true;\n }\n return false;\n });\n\n if (hasMissingRequiredComponent) {\n return false;\n }\n\n if (!projectId.match(/^\\d+$/)) {\n logger.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n return false;\n }\n\n if (!isValidProtocol(protocol)) {\n logger.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n return false;\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n logger.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n return false;\n }\n\n return true;\n}\n\n/**\n * Creates a valid Sentry Dsn object, identifying a Sentry instance and project.\n * @returns a valid DsnComponents object or `undefined` if @param from is an invalid DSN source\n */\nfunction makeDsn(from) {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n if (!components || !validateDsn(components)) {\n return undefined;\n }\n return components;\n}\n\nexport { dsnFromString, dsnToString, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","import { isVueViewModel, isSyntheticEvent } from './is.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normalized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n ['boolean', 'string'].includes(typeof value) ||\n (typeof value === 'number' && Number.isFinite(value))\n ) {\n return value ;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n ? ((value )['__sentry_override_normalization_depth__'] )\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value );\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n return `[${value}]`;\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n\n return prototype?.constructor ? prototype.constructor.name : 'null prototype';\n}\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\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n const inner = new WeakSet();\n function memoize(obj) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n\n function unmemoize(obj) {\n inner.delete(obj);\n }\n return [memoize, unmemoize];\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase };\n//# sourceMappingURL=normalize.js.map\n","import { getSentryCarrier } from '../carrier.js';\nimport { dsnToString } from './dsn.js';\nimport { normalize } from './normalize.js';\nimport { dropUndefinedKeys } from './object.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction createEnvelope(headers, items = []) {\n return [headers, items] ;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction addItemToEnvelope(envelope, newItem) {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] ;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n *\n * If the callback returns true, the rest of the items will be skipped.\n */\nfunction forEachEnvelopeItem(\n envelope,\n callback,\n) {\n const envelopeItems = envelope[1];\n\n for (const envelopeItem of envelopeItems) {\n const envelopeItemType = envelopeItem[0].type;\n const result = callback(envelopeItem, envelopeItemType);\n\n if (result) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Returns true if the envelope contains any of the given envelope item types\n */\nfunction envelopeContainsItemType(envelope, types) {\n return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\n\n/**\n * Encode a string to UTF8 array.\n */\nfunction encodeUTF8(input) {\n const carrier = getSentryCarrier(GLOBAL_OBJ);\n return carrier.encodePolyfill ? carrier.encodePolyfill(input) : new TextEncoder().encode(input);\n}\n\n/**\n * Decode a UTF8 array to string.\n */\nfunction decodeUTF8(input) {\n const carrier = getSentryCarrier(GLOBAL_OBJ);\n return carrier.decodePolyfill ? carrier.decodePolyfill(input) : new TextDecoder().decode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nfunction serializeEnvelope(envelope) {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts = JSON.stringify(envHeaders);\n\n function append(next) {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next) : next);\n }\n }\n\n for (const item of items) {\n const [itemHeaders, payload] = item;\n\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n\n if (typeof payload === 'string' || payload instanceof Uint8Array) {\n append(payload);\n } else {\n let stringifiedPayload;\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch (e) {\n // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.stringify()` still\n // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n // performance impact but in this case a performance hit is better than throwing.\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n append(stringifiedPayload);\n }\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers) {\n const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n for (const buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Parses an envelope\n */\nfunction parseEnvelope(env) {\n let buffer = typeof env === 'string' ? encodeUTF8(env) : env;\n\n function readBinary(length) {\n const bin = buffer.subarray(0, length);\n // Replace the buffer with the remaining data excluding trailing newline\n buffer = buffer.subarray(length + 1);\n return bin;\n }\n\n function readJson() {\n let i = buffer.indexOf(0xa);\n // If we couldn't find a newline, we must have found the end of the buffer\n if (i < 0) {\n i = buffer.length;\n }\n\n return JSON.parse(decodeUTF8(readBinary(i))) ;\n }\n\n const envelopeHeader = readJson();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items = [];\n\n while (buffer.length) {\n const itemHeader = readJson();\n const binaryLength = typeof itemHeader.length === 'number' ? itemHeader.length : undefined;\n\n items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n }\n\n return [envelopeHeader, items];\n}\n\n/**\n * Creates envelope item for a single span\n */\nfunction createSpanEnvelopeItem(spanJson) {\n const spanHeaders = {\n type: 'span',\n };\n\n return [spanHeaders, spanJson];\n}\n\n/**\n * Creates attachment envelope items\n */\nfunction createAttachmentEnvelopeItem(attachment) {\n const buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nconst ITEM_TYPE_TO_DATA_CATEGORY_MAP = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n profile: 'profile',\n profile_chunk: 'profile',\n replay_event: 'replay',\n replay_recording: 'replay',\n check_in: 'monitor',\n feedback: 'feedback',\n span: 'span',\n raw_security: 'security',\n otel_log: 'log_item',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nfunction envelopeItemTypeToDataCategory(type) {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\n/** Extracts the minimal SDK info from the metadata or an events */\nfunction getSdkMetadataForEnvelopeHeader(metadataOrEvent) {\n if (!metadataOrEvent?.sdk) {\n return;\n }\n const { name, version } = metadataOrEvent.sdk;\n return { name, version };\n}\n\n/**\n * Creates event envelope headers, based on event, sdk info and tunnel\n * Note: This function was extracted from the core package to make it available in Replay\n */\nfunction createEventEnvelopeHeaders(\n event,\n sdkInfo,\n tunnel,\n dsn,\n) {\n const dynamicSamplingContext = event.sdkProcessingMetadata?.dynamicSamplingContext;\n return {\n event_id: event.event_id ,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n ...(dynamicSamplingContext && {\n trace: dropUndefinedKeys({ ...dynamicSamplingContext }),\n }),\n };\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, createEventEnvelopeHeaders, createSpanEnvelopeItem, envelopeContainsItemType, envelopeItemTypeToDataCategory, forEachEnvelopeItem, getSdkMetadataForEnvelopeHeader, parseEnvelope, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { dsnToString } from './utils-hoist/dsn.js';\nimport { getSdkMetadataForEnvelopeHeader, createEventEnvelopeHeaders, createEnvelope, createSpanEnvelopeItem } from './utils-hoist/envelope.js';\nimport './utils-hoist/debug-build.js';\nimport './utils-hoist/logger.js';\nimport { spanToJSON, showSpanDropWarning } from './utils/spanUtils.js';\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 = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nfunction createSessionEnvelope(\n session,\n dsn,\n metadata,\n tunnel,\n) {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const envelopeItem =\n 'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session.toJSON()];\n\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nfunction createEventEnvelope(\n event,\n dsn,\n metadata,\n tunnel,\n) {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n\n /*\n Note: Due to TS, event.type may be `replay_event`, theoretically.\n In practice, we never call `createEventEnvelope` with `replay_event` type,\n and we'd have to adjust a looot of types to make this work properly.\n We want to avoid casting this around, as that could lead to bugs (e.g. when we add another type)\n So the safe choice is to really guard against the replay_event type here.\n */\n const eventType = event.type && event.type !== 'replay_event' ? event.type : 'event';\n\n enhanceEventWithSdkInfo(event, metadata?.sdk);\n\n const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n delete event.sdkProcessingMetadata;\n\n const eventItem = [{ type: eventType }, event];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/**\n * Create envelope from Span item.\n *\n * Takes an optional client and runs spans through `beforeSendSpan` if available.\n */\nfunction createSpanEnvelope(spans, client) {\n function dscHasRequiredProps(dsc) {\n return !!dsc.trace_id && !!dsc.public_key;\n }\n\n // For the moment we'll obtain the DSC from the first span in the array\n // This might need to be changed if we permit sending multiple spans from\n // different segments in one envelope\n const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n\n const dsn = client?.getDsn();\n const tunnel = client?.getOptions().tunnel;\n\n const headers = {\n sent_at: new Date().toISOString(),\n ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const beforeSendSpan = client?.getOptions().beforeSendSpan;\n const convertToSpanJSON = beforeSendSpan\n ? (span) => {\n const spanJson = spanToJSON(span);\n const processedSpan = beforeSendSpan(spanJson);\n\n if (!processedSpan) {\n showSpanDropWarning();\n return spanJson;\n }\n\n return processedSpan;\n }\n : spanToJSON;\n\n const items = [];\n for (const span of spans) {\n const spanJson = convertToSpanJSON(span);\n if (spanJson) {\n items.push(createSpanEnvelopeItem(spanJson));\n }\n }\n\n return createEnvelope(headers, items);\n}\n\nexport { createEventEnvelope, createSessionEnvelope, createSpanEnvelope };\n//# sourceMappingURL=envelope.js.map\n","/** An error emitted by Sentry SDKs and related utilities. */\nclass SentryError extends Error {\n\n constructor(\n message,\n logLevel = 'warn',\n ) {\n super(message);this.message = message;\n this.logLevel = logLevel;\n }\n}\n\nexport { SentryError };\n//# sourceMappingURL=error.js.map\n","import { isThenable } from './is.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n const PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n const RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n const REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n\n constructor(executor) {\n this._state = States.PENDING;\n this._handlers = [];\n\n this._runExecutor(executor);\n }\n\n /** @inheritdoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** @inheritdoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** @inheritdoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** Excute the resolve/reject handlers. */\n _executeHandlers() {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n }\n\n /** Run the executor for the SyncPromise. */\n _runExecutor(executor) {\n const setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(resolve, reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n const resolve = (value) => {\n setResult(States.RESOLVED, value);\n };\n\n const reject = (reason) => {\n setResult(States.REJECTED, reason);\n };\n\n try {\n executor(resolve, reject);\n } catch (e) {\n reject(e);\n }\n }\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { isThenable } from './utils-hoist/is.js';\nimport { logger } from './utils-hoist/logger.js';\nimport { SyncPromise } from './utils-hoist/syncpromise.js';\n\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\nfunction notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n) {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) ;\n\n DEBUG_BUILD && processor.id && result === null && logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n}\n\nexport { notifyEventProcessors };\n//# sourceMappingURL=eventProcessors.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nlet parsedStackResults;\nlet lastKeysCount;\nlet cachedFilenameDebugIds;\n\n/**\n * Returns a map of filenames to debug identifiers.\n */\nfunction getFilenameToDebugIdMap(stackParser) {\n const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n if (!debugIdMap) {\n return {};\n }\n\n const debugIdKeys = Object.keys(debugIdMap);\n\n // If the count of registered globals hasn't changed since the last call, we\n // can just return the cached result.\n if (cachedFilenameDebugIds && debugIdKeys.length === lastKeysCount) {\n return cachedFilenameDebugIds;\n }\n\n lastKeysCount = debugIdKeys.length;\n\n // Build a map of filename -> debug_id.\n cachedFilenameDebugIds = debugIdKeys.reduce((acc, stackKey) => {\n if (!parsedStackResults) {\n parsedStackResults = {};\n }\n\n const result = parsedStackResults[stackKey];\n\n if (result) {\n acc[result[0]] = result[1];\n } else {\n const parsedStack = stackParser(stackKey);\n\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n const stackFrame = parsedStack[i];\n const filename = stackFrame?.filename;\n const debugId = debugIdMap[stackKey];\n\n if (filename && debugId) {\n acc[filename] = debugId;\n parsedStackResults[stackKey] = [filename, debugId];\n break;\n }\n }\n }\n\n return acc;\n }, {});\n\n return cachedFilenameDebugIds;\n}\n\n/**\n * Returns a list of debug images for the given resources.\n */\nfunction getDebugImagesForResources(\n stackParser,\n resource_paths,\n) {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n if (!filenameDebugIdMap) {\n return [];\n }\n\n const images = [];\n for (const path of resource_paths) {\n if (path && filenameDebugIdMap[path]) {\n images.push({\n type: 'sourcemap',\n code_file: path,\n debug_id: filenameDebugIdMap[path] ,\n });\n }\n }\n\n return images;\n}\n\nexport { getDebugImagesForResources, getFilenameToDebugIdMap };\n//# sourceMappingURL=debug-ids.js.map\n","import { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext.js';\nimport { dropUndefinedKeys } from '../utils-hoist/object.js';\nimport { merge } from './merge.js';\nimport { spanToTraceContext, getRootSpan, spanToJSON } from './spanUtils.js';\n\n/**\n * Applies data from the scope to the event and runs all event processors on it.\n */\nfunction applyScopeDataToEvent(event, data) {\n const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n\n // Apply general data\n applyDataToEvent(event, data);\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 relies on that.\n if (span) {\n applySpanToEvent(event, span);\n }\n\n applyFingerprintToEvent(event, fingerprint);\n applyBreadcrumbsToEvent(event, breadcrumbs);\n applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\n\n/** Merge data of two scopes together. */\nfunction mergeScopeData(data, mergeData) {\n const {\n extra,\n tags,\n user,\n contexts,\n level,\n sdkProcessingMetadata,\n breadcrumbs,\n fingerprint,\n eventProcessors,\n attachments,\n propagationContext,\n transactionName,\n span,\n } = mergeData;\n\n mergeAndOverwriteScopeData(data, 'extra', extra);\n mergeAndOverwriteScopeData(data, 'tags', tags);\n mergeAndOverwriteScopeData(data, 'user', user);\n mergeAndOverwriteScopeData(data, 'contexts', contexts);\n\n data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n\n if (level) {\n data.level = level;\n }\n\n if (transactionName) {\n data.transactionName = transactionName;\n }\n\n if (span) {\n data.span = span;\n }\n\n if (breadcrumbs.length) {\n data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n }\n\n if (fingerprint.length) {\n data.fingerprint = [...data.fingerprint, ...fingerprint];\n }\n\n if (eventProcessors.length) {\n data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n }\n\n if (attachments.length) {\n data.attachments = [...data.attachments, ...attachments];\n }\n\n data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\n\n/**\n * Merges certain scope data. Undefined values will overwrite any existing values.\n * Exported only for tests.\n */\nfunction mergeAndOverwriteScopeData\n\n(data, prop, mergeVal) {\n data[prop] = merge(data[prop], mergeVal, 1);\n}\n\nfunction applyDataToEvent(event, data) {\n const { extra, tags, user, contexts, level, transactionName } = data;\n\n const cleanedExtra = dropUndefinedKeys(extra);\n if (Object.keys(cleanedExtra).length) {\n event.extra = { ...cleanedExtra, ...event.extra };\n }\n\n const cleanedTags = dropUndefinedKeys(tags);\n if (Object.keys(cleanedTags).length) {\n event.tags = { ...cleanedTags, ...event.tags };\n }\n\n const cleanedUser = dropUndefinedKeys(user);\n if (Object.keys(cleanedUser).length) {\n event.user = { ...cleanedUser, ...event.user };\n }\n\n const cleanedContexts = dropUndefinedKeys(contexts);\n if (Object.keys(cleanedContexts).length) {\n event.contexts = { ...cleanedContexts, ...event.contexts };\n }\n\n if (level) {\n event.level = level;\n }\n\n // transaction events get their `transaction` from the root span name\n if (transactionName && event.type !== 'transaction') {\n event.transaction = transactionName;\n }\n}\n\nfunction applyBreadcrumbsToEvent(event, breadcrumbs) {\n const mergedBreadcrumbs = [...(event.breadcrumbs || []), ...breadcrumbs];\n event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : undefined;\n}\n\nfunction applySdkMetadataToEvent(event, sdkProcessingMetadata) {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n ...sdkProcessingMetadata,\n };\n}\n\nfunction applySpanToEvent(event, span) {\n event.contexts = {\n trace: spanToTraceContext(span),\n ...event.contexts,\n };\n\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n ...event.sdkProcessingMetadata,\n };\n\n const rootSpan = getRootSpan(span);\n const transactionName = spanToJSON(rootSpan).description;\n if (transactionName && !event.transaction && event.type === 'transaction') {\n event.transaction = transactionName;\n }\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 */\nfunction applyFingerprintToEvent(event, fingerprint) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (fingerprint) {\n event.fingerprint = event.fingerprint.concat(fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (!event.fingerprint.length) {\n delete event.fingerprint;\n }\n}\n\nexport { applyScopeDataToEvent, mergeAndOverwriteScopeData, mergeScopeData };\n//# sourceMappingURL=applyScopeDataToEvent.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getGlobalScope } from '../currentScopes.js';\nimport { notifyEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\nimport { getFilenameToDebugIdMap } from '../utils-hoist/debug-ids.js';\nimport { uuid4, addExceptionMechanism } from '../utils-hoist/misc.js';\nimport { normalize } from '../utils-hoist/normalize.js';\nimport { truncate } from '../utils-hoist/string.js';\nimport { dateTimestampInSeconds } from '../utils-hoist/time.js';\nimport { mergeScopeData, applyScopeDataToEvent } from './applyScopeDataToEvent.js';\n\n/**\n * This type makes sure that we get either a CaptureContext, OR an EventHint.\n * It does not allow mixing them, which could lead to unexpected outcomes, e.g. this is disallowed:\n * { user: { id: '123' }, mechanism: { handled: false } }\n */\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 * @hidden\n */\nfunction prepareEvent(\n options,\n event,\n hint,\n scope,\n client,\n isolationScope,\n) {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1000 } = options;\n const prepared = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n const integrations = hint.integrations || options.integrations.map(i => i.name);\n\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations);\n\n if (client) {\n client.emit('applyFrameMetadata', event);\n }\n\n // Only put debug IDs onto frames for error events.\n if (event.type === undefined) {\n applyDebugIds(prepared, options.stackParser);\n }\n\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 const finalScope = getFinalScope(scope, hint.captureContext);\n\n if (hint.mechanism) {\n addExceptionMechanism(prepared, hint.mechanism);\n }\n\n const clientEventProcessors = client ? client.getEventProcessors() : [];\n\n // This should be the last thing called, since we want that\n // {@link Scope.addEventProcessor} gets the finished prepared event.\n // Merge scope data together\n const data = getGlobalScope().getScopeData();\n\n if (isolationScope) {\n const isolationData = isolationScope.getScopeData();\n mergeScopeData(data, isolationData);\n }\n\n if (finalScope) {\n const finalScopeData = finalScope.getScopeData();\n mergeScopeData(data, finalScopeData);\n }\n\n const attachments = [...(hint.attachments || []), ...data.attachments];\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n applyScopeDataToEvent(prepared, data);\n\n const eventProcessors = [\n ...clientEventProcessors,\n // Run scope event processors _after_ all other processors\n ...data.eventProcessors,\n ];\n\n const result = notifyEventProcessors(eventProcessors, prepared, hint);\n\n return result.then(evt => {\n if (evt) {\n // We apply the debug_meta field only after all event processors have ran, so that if any event processors modified\n // file names (e.g.the RewriteFrames integration) the filename -> debug ID relationship isn't destroyed.\n // This should not cause any PII issues, since we're only moving data that is already on the event and not adding\n // any new data\n applyDebugMeta(evt);\n }\n\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n}\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 *\n * Only exported for tests.\n *\n * @param event event instance to be enhanced\n */\nfunction applyClientOptions(event, options) {\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n // empty strings do not make sense for environment, release, and dist\n // so we handle them the same as if they were not provided\n event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n\n if (!event.release && release) {\n event.release = release;\n }\n\n if (!event.dist && dist) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception?.values?.[0];\n if (exception?.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request?.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n}\n\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\nfunction applyDebugIds(event, stackParser) {\n // Build a map of filename -> debug_id\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n event.exception?.values?.forEach(exception => {\n exception.stacktrace?.frames?.forEach(frame => {\n if (frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n}\n\n/**\n * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\nfunction applyDebugMeta(event) {\n // Extract debug IDs and filenames from the stack frames on the event.\n const filenameDebugIdMap = {};\n event.exception?.values?.forEach(exception => {\n exception.stacktrace?.frames?.forEach(frame => {\n if (frame.debug_id) {\n if (frame.abs_path) {\n filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n } else if (frame.filename) {\n filenameDebugIdMap[frame.filename] = frame.debug_id;\n }\n delete frame.debug_id;\n }\n });\n });\n\n if (Object.keys(filenameDebugIdMap).length === 0) {\n return;\n }\n\n // Fill debug_meta information\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n const images = event.debug_meta.images;\n Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n images.push({\n type: 'sourcemap',\n code_file: filename,\n debug_id,\n });\n });\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 */\nfunction applyIntegrationsMetadata(event, integrationNames) {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationNames];\n }\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 */\nfunction normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\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?.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n return {\n ...span,\n ...(span.data && {\n data: normalize(span.data, depth, maxBreadth),\n }),\n };\n });\n }\n\n // event.contexts.flags (FeatureFlagContext) stores context for our feature\n // flag integrations. It has a greater nesting depth than our other typed\n // Contexts, so we re-normalize with a fixed depth of 3 here. We do not want\n // to skip this in case of conflicting, user-provided context.\n if (event.contexts?.flags && normalized.contexts) {\n normalized.contexts.flags = normalize(event.contexts.flags, 3, maxBreadth);\n }\n\n return normalized;\n}\n\nfunction getFinalScope(scope, captureContext) {\n if (!captureContext) {\n return scope;\n }\n\n const finalScope = scope ? scope.clone() : new Scope();\n finalScope.update(captureContext);\n return finalScope;\n}\n\n/**\n * Parse either an `EventHint` directly, or convert a `CaptureContext` to an `EventHint`.\n * This is used to allow to update method signatures that used to accept a `CaptureContext` but should now accept an `EventHint`.\n */\nfunction parseEventHintOrCaptureContext(\n hint,\n) {\n if (!hint) {\n return undefined;\n }\n\n // If you pass a Scope or `() => Scope` as CaptureContext, we just return this as captureContext\n if (hintIsScopeOrFunction(hint)) {\n return { captureContext: hint };\n }\n\n if (hintIsScopeContext(hint)) {\n return {\n captureContext: hint,\n };\n }\n\n return hint;\n}\n\nfunction hintIsScopeOrFunction(hint) {\n return hint instanceof Scope || typeof hint === 'function';\n}\n\nconst captureContextKeys = [\n 'user',\n 'level',\n 'extra',\n 'contexts',\n 'tags',\n 'fingerprint',\n 'propagationContext',\n] ;\n\nfunction hintIsScopeContext(hint) {\n return Object.keys(hint).some(key => captureContextKeys.includes(key ));\n}\n\nexport { applyClientOptions, applyDebugIds, applyDebugMeta, parseEventHintOrCaptureContext, prepareEvent };\n//# sourceMappingURL=prepareEvent.js.map\n","import { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { getTraceContextFromScope, getCurrentScope, getIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegration, afterSetupIntegrations, setupIntegrations } from './integration.js';\nimport { updateSession } from './session.js';\nimport { getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { createClientReportEnvelope } from './utils-hoist/clientreport.js';\nimport { makeDsn, dsnToString } from './utils-hoist/dsn.js';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils-hoist/envelope.js';\nimport { SentryError } from './utils-hoist/error.js';\nimport { isPrimitive, isParameterizedString, isThenable, isPlainObject } from './utils-hoist/is.js';\nimport { logger } from './utils-hoist/logger.js';\nimport { uuid4, checkOrSetAlreadyCaught } from './utils-hoist/misc.js';\nimport { resolvedSyncPromise, SyncPromise, rejectedSyncPromise } from './utils-hoist/syncpromise.js';\nimport { getPossibleEventMessages } from './utils/eventUtils.js';\nimport { merge } from './utils/merge.js';\nimport { parseSampleRate } from './utils/parseSampleRate.js';\nimport { prepareEvent } from './utils/prepareEvent.js';\nimport { showSpanDropWarning, spanToTraceContext } from './utils/spanUtils.js';\nimport { convertTransactionEventToSpanJson, convertSpanJsonToTransactionEvent } from './utils/transactionEvent.js';\nimport { _getSpanForScope } from './utils/spanOnScope.js';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\nconst MISSING_RELEASE_FOR_SESSION_ERROR = 'Discarded session because of missing or non-string release';\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\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, it is passed through\n * {@link Client._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 Client<NodeOptions> {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nclass Client {\n /** Options passed to the SDK. */\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n\n /** Array of set up integrations. */\n\n /** Number of calls being processed */\n\n /** Holds flushable */\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n constructor(options) {\n this._options = options;\n this._integrations = {};\n this._numProcessing = 0;\n this._outcomes = {};\n this._hooks = {};\n this._eventProcessors = [];\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n } else {\n DEBUG_BUILD && logger.warn('No DSN provided, client will not send events.');\n }\n\n if (this._dsn) {\n const url = getEnvelopeEndpointWithUrlEncodedAuth(\n this._dsn,\n options.tunnel,\n options._metadata ? options._metadata.sdk : undefined,\n );\n this._transport = options.transport({\n tunnel: this._options.tunnel,\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n }\n }\n\n /**\n * Captures an exception event and sends it to Sentry.\n *\n * Unlike `captureException` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureException(exception, hint, scope) {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n this._process(\n this.eventFromException(exception, hintWithEventId).then(event =>\n this._captureEvent(event, hintWithEventId, scope),\n ),\n );\n\n return hintWithEventId.event_id;\n }\n\n /**\n * Captures a message event and sends it to Sentry.\n *\n * Unlike `captureMessage` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureMessage(\n message,\n level,\n hint,\n currentScope,\n ) {\n const hintWithEventId = {\n event_id: uuid4(),\n ...hint,\n };\n\n const eventMessage = isParameterizedString(message) ? message : String(message);\n\n const promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(eventMessage, level, hintWithEventId)\n : this.eventFromException(message, hintWithEventId);\n\n this._process(promisedEvent.then(event => this._captureEvent(event, hintWithEventId, currentScope)));\n\n return hintWithEventId.event_id;\n }\n\n /**\n * Captures a manually created event and sends it to Sentry.\n *\n * Unlike `captureEvent` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureEvent(event, hint, currentScope) {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (hint?.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanScope = sdkProcessingMetadata.capturedSpanScope;\n const capturedSpanIsolationScope = sdkProcessingMetadata.capturedSpanIsolationScope;\n\n this._process(\n this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope, capturedSpanIsolationScope),\n );\n\n return hintWithEventId.event_id;\n }\n\n /**\n * Captures a session.\n */\n captureSession(session) {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n\n /**\n * Create a cron monitor check in and send it to Sentry. This method is not available on all clients.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n * @param scope An optional scope containing event metadata.\n * @returns A string representing the id of the check in.\n */\n\n /**\n * Get the current Dsn.\n */\n getDsn() {\n return this._dsn;\n }\n\n /**\n * Get the current options.\n */\n getOptions() {\n return this._options;\n }\n\n /**\n * Get the SDK metadata.\n * @see SdkMetadata\n */\n getSdkMetadata() {\n return this._options._metadata;\n }\n\n /**\n * Returns the transport that is used by the client.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n */\n getTransport() {\n return this._transport;\n }\n\n /**\n * Wait for all events to be sent or the timeout to expire, whichever comes first.\n *\n * @param timeout Maximum time in ms the client should wait for events to be flushed. Omitting this parameter will\n * cause the client to wait until all events are sent before resolving the promise.\n * @returns A promise that will resolve with `true` if all events are sent before the timeout, or `false` if there are\n * still events in the queue when the timeout is reached.\n */\n flush(timeout) {\n const transport = this._transport;\n if (transport) {\n this.emit('flush');\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * Flush the event queue and set the client to `enabled = false`. See {@link Client.flush}.\n *\n * @param {number} timeout Maximum time in ms the client should wait before shutting down. Omitting this parameter will cause\n * the client to wait until all events are sent before disabling itself.\n * @returns {Promise<boolean>} A promise which resolves to `true` if the flush completes successfully before the timeout, or `false` if\n * it doesn't.\n */\n close(timeout) {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n this.emit('close');\n return result;\n });\n }\n\n /**\n * Get all installed event processors.\n */\n getEventProcessors() {\n return this._eventProcessors;\n }\n\n /**\n * Adds an event processor that applies to any event processed by this client.\n */\n addEventProcessor(eventProcessor) {\n this._eventProcessors.push(eventProcessor);\n }\n\n /**\n * Initialize this client.\n * Call this after the client was set on a scope.\n */\n init() {\n if (\n this._isEnabled() ||\n // Force integrations to be setup even if no DSN was set when we have\n // Spotlight enabled. This is particularly important for browser as we\n // don't support the `spotlight` option there and rely on the users\n // adding the `spotlightBrowserIntegration()` to their integrations which\n // wouldn't get initialized with the check below when there's no DSN set.\n this._options.integrations.some(({ name }) => name.startsWith('Spotlight'))\n ) {\n this._setupIntegrations();\n }\n }\n\n /**\n * Gets an installed integration by its name.\n *\n * @returns {Integration|undefined} The installed integration or `undefined` if no integration with that `name` was installed.\n */\n getIntegrationByName(integrationName) {\n return this._integrations[integrationName] ;\n }\n\n /**\n * Add an integration to the client.\n * This can be used to e.g. lazy load integrations.\n * In most cases, this should not be necessary,\n * and you're better off just passing the integrations via `integrations: []` at initialization time.\n * However, if you find the need to conditionally load & add an integration, you can use `addIntegration` to do so.\n */\n addIntegration(integration) {\n const isAlreadyInstalled = this._integrations[integration.name];\n\n // This hook takes care of only installing if not already installed\n setupIntegration(this, integration, this._integrations);\n // Here we need to check manually to make sure to not run this multiple times\n if (!isAlreadyInstalled) {\n afterSetupIntegrations(this, [integration]);\n }\n }\n\n /**\n * Send a fully prepared event to Sentry.\n */\n sendEvent(event, hint = {}) {\n this.emit('beforeSendEvent', event, hint);\n\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (const attachment of hint.attachments || []) {\n env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n }\n\n const promise = this.sendEnvelope(env);\n if (promise) {\n promise.then(sendResponse => this.emit('afterSendEvent', event, sendResponse), null);\n }\n }\n\n /**\n * Send a session or session aggregrates to Sentry.\n */\n sendSession(session) {\n // Backfill release and environment on session\n const { release: clientReleaseOption, environment: clientEnvironmentOption = DEFAULT_ENVIRONMENT } = this._options;\n if ('aggregates' in session) {\n const sessionAttrs = session.attrs || {};\n if (!sessionAttrs.release && !clientReleaseOption) {\n DEBUG_BUILD && logger.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n return;\n }\n sessionAttrs.release = sessionAttrs.release || clientReleaseOption;\n sessionAttrs.environment = sessionAttrs.environment || clientEnvironmentOption;\n session.attrs = sessionAttrs;\n } else {\n if (!session.release && !clientReleaseOption) {\n DEBUG_BUILD && logger.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n return;\n }\n session.release = session.release || clientReleaseOption;\n session.environment = session.environment || clientEnvironmentOption;\n }\n\n this.emit('beforeSendSession', session);\n\n const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(env);\n }\n\n /**\n * Record on the client that an event got dropped (ie, an event that will not be sent to Sentry).\n */\n recordDroppedEvent(reason, category, count = 1) {\n if (this._options.sendClientReports) {\n // We want to track each category (error, transaction, session, replay_event) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial<Record<SentryRequestType, Partial<Record<Outcome, number>>>>`\n // With typescript 4.1 we could even use template literal types\n const key = `${reason}:${category}`;\n DEBUG_BUILD && logger.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : ''}`);\n this._outcomes[key] = (this._outcomes[key] || 0) + count;\n }\n }\n\n /* eslint-disable @typescript-eslint/unified-signatures */\n /**\n * Register a callback for whenever a span is started.\n * Receives the span as argument.\n * @returns {() => void} A function that, when executed, removes the registered callback.\n */\n\n /**\n * Register a hook on this client.\n */\n on(hook, callback) {\n const hooks = (this._hooks[hook] = this._hooks[hook] || []);\n\n // @ts-expect-error We assume the types are correct\n hooks.push(callback);\n\n // This function returns a callback execution handler that, when invoked,\n // deregisters a callback. This is crucial for managing instances where callbacks\n // need to be unregistered to prevent self-referencing in callback closures,\n // ensuring proper garbage collection.\n return () => {\n // @ts-expect-error We assume the types are correct\n const cbIndex = hooks.indexOf(callback);\n if (cbIndex > -1) {\n hooks.splice(cbIndex, 1);\n }\n };\n }\n\n /** Fire a hook whenever a span starts. */\n\n /**\n * Emit a hook that was previously registered via `on()`.\n */\n emit(hook, ...rest) {\n const callbacks = this._hooks[hook];\n if (callbacks) {\n callbacks.forEach(callback => callback(...rest));\n }\n }\n\n /**\n * Send an envelope to Sentry.\n */\n sendEnvelope(envelope) {\n this.emit('beforeEnvelope', envelope);\n\n if (this._isEnabled() && this._transport) {\n return this._transport.send(envelope).then(null, reason => {\n DEBUG_BUILD && logger.error('Error while sending envelope:', reason);\n return reason;\n });\n }\n\n DEBUG_BUILD && logger.error('Transport disabled');\n\n return resolvedSyncPromise({});\n }\n\n /* eslint-enable @typescript-eslint/unified-signatures */\n\n /** Setup integrations for this client. */\n _setupIntegrations() {\n const { integrations } = this._options;\n this._integrations = setupIntegrations(this, integrations);\n afterSetupIntegrations(this, integrations);\n }\n\n /** Updates existing session based on the provided event */\n _updateSessionFromEvent(session, event) {\n let crashed = event.level === 'fatal';\n let errored = false;\n const exceptions = event.exception?.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism?.handled === false) {\n crashed = true;\n break;\n }\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 const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\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 _isClientDoneProcessing(timeout) {\n return new SyncPromise(resolve => {\n let ticked = 0;\n const tick = 1;\n\n const interval = setInterval(() => {\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\n /** Determines whether this SDK is enabled and a transport is present. */\n _isEnabled() {\n return this.getOptions().enabled !== false && this._transport !== undefined;\n }\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 currentScope A scope containing event metadata.\n * @returns A new event with more information.\n */\n _prepareEvent(\n event,\n hint,\n currentScope,\n isolationScope,\n ) {\n const options = this.getOptions();\n const integrations = Object.keys(this._integrations);\n if (!hint.integrations && integrations?.length) {\n hint.integrations = integrations;\n }\n\n this.emit('preprocessEvent', event, hint);\n\n if (!event.type) {\n isolationScope.setLastEventId(event.event_id || hint.event_id);\n }\n\n return prepareEvent(options, event, hint, currentScope, this, isolationScope).then(evt => {\n if (evt === null) {\n return evt;\n }\n\n this.emit('postprocessEvent', evt, hint);\n\n evt.contexts = {\n trace: getTraceContextFromScope(currentScope),\n ...evt.contexts,\n };\n\n const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n\n evt.sdkProcessingMetadata = {\n dynamicSamplingContext,\n ...evt.sdkProcessingMetadata,\n };\n\n return evt;\n });\n }\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 _captureEvent(\n event,\n hint = {},\n currentScope = getCurrentScope(),\n isolationScope = getIsolationScope(),\n ) {\n if (DEBUG_BUILD && isErrorEvent(event)) {\n logger.log(`Captured error event \\`${getPossibleEventMessages(event)[0] || '<unknown>'}\\``);\n }\n\n return this._processEvent(event, hint, currentScope, isolationScope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n if (DEBUG_BUILD) {\n // If something's gone wrong, log the error as a warning. If it's just us having used a `SentryError` for\n // control flow, log just the message (no stack) as a log-level log.\n if (reason instanceof SentryError && reason.logLevel === 'log') {\n logger.log(reason.message);\n } else {\n logger.warn(reason);\n }\n }\n return undefined;\n },\n );\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 currentScope 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 _processEvent(\n event,\n hint,\n currentScope,\n isolationScope,\n ) {\n const options = this.getOptions();\n const { sampleRate } = options;\n\n const isTransaction = isTransactionEvent(event);\n const isError = isErrorEvent(event);\n const eventType = event.type || 'error';\n const beforeSendLabel = `before send for type \\`${eventType}\\``;\n\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n const parsedSampleRate = typeof sampleRate === 'undefined' ? undefined : parseSampleRate(sampleRate);\n if (isError && typeof parsedSampleRate === 'number' && Math.random() > parsedSampleRate) {\n this.recordDroppedEvent('sample_rate', 'error');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n 'log',\n ),\n );\n }\n\n const dataCategory = (eventType === 'replay_event' ? 'replay' : eventType) ;\n\n return this._prepareEvent(event, hint, currentScope, isolationScope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', dataCategory);\n throw new SentryError('An event processor returned `null`, will not send event.', 'log');\n }\n\n const isInternalException = hint.data && (hint.data ).__sentry__ === true;\n if (isInternalException) {\n return prepared;\n }\n\n const result = processBeforeSend(this, options, prepared, hint);\n return _validateBeforeSendResult(result, beforeSendLabel);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', dataCategory);\n if (isTransaction) {\n const spans = event.spans || [];\n // the transaction itself counts as one span, plus all the child spans that are added\n const spanCount = 1 + spans.length;\n this.recordDroppedEvent('before_send', 'span', spanCount);\n }\n throw new SentryError(`${beforeSendLabel} returned \\`null\\`, will not send event.`, 'log');\n }\n\n const session = currentScope.getSession() || isolationScope.getSession();\n if (isError && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n if (isTransaction) {\n const spanCountBefore = processedEvent.sdkProcessingMetadata?.spanCountBeforeProcessing || 0;\n const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n\n const droppedSpanCount = spanCountBefore - spanCountAfter;\n if (droppedSpanCount > 0) {\n this.recordDroppedEvent('before_send', 'span', droppedSpanCount);\n }\n }\n\n // None of the Sentry built event processor will update transaction name,\n // so if the transaction name has been changed by an event processor, we know\n // it has to come from custom event processor added by a user\n const transactionInfo = processedEvent.transaction_info;\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n const source = 'custom';\n processedEvent.transaction_info = {\n ...transactionInfo,\n source,\n };\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n throw new SentryError(\n `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\n /**\n * Occupies the client with processing and event\n */\n _process(promise) {\n this._numProcessing++;\n void promise.then(\n value => {\n this._numProcessing--;\n return value;\n },\n reason => {\n this._numProcessing--;\n return reason;\n },\n );\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n _clearOutcomes() {\n const outcomes = this._outcomes;\n this._outcomes = {};\n return Object.entries(outcomes).map(([key, quantity]) => {\n const [reason, category] = key.split(':') ;\n return {\n reason,\n category,\n quantity,\n };\n });\n }\n\n /**\n * Sends client reports as an envelope.\n */\n _flushOutcomes() {\n DEBUG_BUILD && logger.log('Flushing outcomes...');\n\n const outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n DEBUG_BUILD && logger.log('No outcomes to send');\n return;\n }\n\n // This is really the only place where we want to check for a DSN and only send outcomes then\n if (!this._dsn) {\n DEBUG_BUILD && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n DEBUG_BUILD && logger.log('Sending outcomes:', outcomes);\n\n const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(envelope);\n }\n\n /**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n */\n\n}\n\n/**\n * @deprecated Use `Client` instead. This alias may be removed in a future major version.\n */\n// TODO(v10): Remove\n\n/**\n * @deprecated Use `Client` instead. This alias may be removed in a future major version.\n */\n// TODO(v10): Remove\nconst BaseClient = Client;\n\n/**\n * Verifies that return value of configured `beforeSend` or `beforeSendTransaction` is of expected type, and returns the value if so.\n */\nfunction _validateBeforeSendResult(\n beforeSendResult,\n beforeSendLabel,\n) {\n const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(\n event => {\n if (!isPlainObject(event) && event !== null) {\n throw new SentryError(invalidValueError);\n }\n return event;\n },\n e => {\n throw new SentryError(`${beforeSendLabel} rejected with ${e}`);\n },\n );\n } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n throw new SentryError(invalidValueError);\n }\n return beforeSendResult;\n}\n\n/**\n * Process the matching `beforeSendXXX` callback.\n */\nfunction processBeforeSend(\n client,\n options,\n event,\n hint,\n) {\n const { beforeSend, beforeSendTransaction, beforeSendSpan } = options;\n let processedEvent = event;\n\n if (isErrorEvent(processedEvent) && beforeSend) {\n return beforeSend(processedEvent, hint);\n }\n\n if (isTransactionEvent(processedEvent)) {\n if (beforeSendSpan) {\n // process root span\n const processedRootSpanJson = beforeSendSpan(convertTransactionEventToSpanJson(processedEvent));\n if (!processedRootSpanJson) {\n showSpanDropWarning();\n } else {\n // update event with processed root span values\n processedEvent = merge(event, convertSpanJsonToTransactionEvent(processedRootSpanJson));\n }\n\n // process child spans\n if (processedEvent.spans) {\n const processedSpans = [];\n for (const span of processedEvent.spans) {\n const processedSpan = beforeSendSpan(span);\n if (!processedSpan) {\n showSpanDropWarning();\n processedSpans.push(span);\n } else {\n processedSpans.push(processedSpan);\n }\n }\n processedEvent.spans = processedSpans;\n }\n }\n\n if (beforeSendTransaction) {\n if (processedEvent.spans) {\n // We store the # of spans before processing in SDK metadata,\n // so we can compare it afterwards to determine how many spans were dropped\n const spanCountBefore = processedEvent.spans.length;\n processedEvent.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n spanCountBeforeProcessing: spanCountBefore,\n };\n }\n return beforeSendTransaction(processedEvent , hint);\n }\n }\n\n return processedEvent;\n}\n\nfunction isErrorEvent(event) {\n return event.type === undefined;\n}\n\nfunction isTransactionEvent(event) {\n return event.type === 'transaction';\n}\n\n/** Extract trace information from scope */\nfunction _getTraceInfoFromScope(\n client,\n scope,\n) {\n if (!scope) {\n return [undefined, undefined];\n }\n\n const span = _getSpanForScope(scope);\n const traceContext = span ? spanToTraceContext(span) : getTraceContextFromScope(scope);\n const dynamicSamplingContext = span\n ? getDynamicSamplingContextFromSpan(span)\n : getDynamicSamplingContextFromScope(client, scope);\n return [dynamicSamplingContext, traceContext];\n}\n\nexport { BaseClient, Client, _getTraceInfoFromScope };\n//# sourceMappingURL=client.js.map\n","import { SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID } from '../semanticAttributes.js';\nimport '../utils-hoist/debug-build.js';\nimport '../utils-hoist/logger.js';\nimport { dropUndefinedKeys } from '../utils-hoist/object.js';\nimport '../utils-hoist/time.js';\nimport '../utils-hoist/syncpromise.js';\n\n/**\n * Converts a transaction event to a span JSON object.\n */\nfunction convertTransactionEventToSpanJson(event) {\n const { trace_id, parent_span_id, span_id, status, origin, data, op } = event.contexts?.trace ?? {};\n\n return dropUndefinedKeys({\n data: data ?? {},\n description: event.transaction,\n op,\n parent_span_id,\n span_id: span_id ?? '',\n start_timestamp: event.start_timestamp ?? 0,\n status,\n timestamp: event.timestamp,\n trace_id: trace_id ?? '',\n origin,\n profile_id: data?.[SEMANTIC_ATTRIBUTE_PROFILE_ID] ,\n exclusive_time: data?.[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME] ,\n measurements: event.measurements,\n is_segment: true,\n });\n}\n\n/**\n * Converts a span JSON object to a transaction event.\n */\nfunction convertSpanJsonToTransactionEvent(span) {\n const event = {\n type: 'transaction',\n timestamp: span.timestamp,\n start_timestamp: span.start_timestamp,\n transaction: span.description,\n contexts: {\n trace: {\n trace_id: span.trace_id,\n span_id: span.span_id,\n parent_span_id: span.parent_span_id,\n op: span.op,\n status: span.status,\n origin: span.origin,\n data: {\n ...span.data,\n ...(span.profile_id && { [SEMANTIC_ATTRIBUTE_PROFILE_ID]: span.profile_id }),\n ...(span.exclusive_time && { [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: span.exclusive_time }),\n },\n },\n },\n measurements: span.measurements,\n };\n\n return dropUndefinedKeys(event);\n}\n\nexport { convertSpanJsonToTransactionEvent, convertTransactionEventToSpanJson };\n//# sourceMappingURL=transactionEvent.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nfunction createClientReportEnvelope(\n discarded_events,\n dsn,\n timestamp,\n) {\n const clientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","import { SDK_VERSION } from '../utils-hoist/version.js';\n\n/**\n * A builder for the SDK metadata in the options for the SDK initialization.\n *\n * Note: This function is identical to `buildMetadata` in Remix and NextJS and SvelteKit.\n * We don't extract it for bundle size reasons.\n * @see https://github.com/getsentry/sentry-javascript/pull/7404\n * @see https://github.com/getsentry/sentry-javascript/pull/4196\n *\n * If you make changes to this function consider updating the others as well.\n *\n * @param options SDK options object that gets mutated\n * @param names list of package names\n */\nfunction applySdkMetadata(options, name, names = [name], source = 'npm') {\n const metadata = options._metadata || {};\n\n if (!metadata.sdk) {\n metadata.sdk = {\n name: `sentry.javascript.${name}`,\n packages: names.map(name => ({\n name: `${source}:@sentry/${name}`,\n version: SDK_VERSION,\n })),\n version: SDK_VERSION,\n };\n }\n\n options._metadata = metadata;\n}\n\nexport { applySdkMetadata };\n//# sourceMappingURL=sdkMetadata.js.map\n","import { dsnToString } from '../utils-hoist/dsn.js';\nimport '../utils-hoist/logger.js';\nimport '../utils-hoist/debug-build.js';\nimport '../utils-hoist/time.js';\nimport '../utils-hoist/syncpromise.js';\nimport { createEnvelope } from '../utils-hoist/envelope.js';\n\n/**\n * Creates OTEL log envelope item for a serialized OTEL log.\n *\n * @param log - The serialized OTEL log to include in the envelope.\n * @returns The created OTEL log envelope item.\n */\nfunction createOtelLogEnvelopeItem(log) {\n return [\n {\n type: 'otel_log',\n },\n log,\n ];\n}\n\n/**\n * Creates an envelope for a list of logs.\n *\n * @param logs - The logs to include in the envelope.\n * @param metadata - The metadata to include in the envelope.\n * @param tunnel - The tunnel to include in the envelope.\n * @param dsn - The DSN to include in the envelope.\n * @returns The created envelope.\n */\nfunction createOtelLogEnvelope(\n logs,\n metadata,\n tunnel,\n dsn,\n) {\n const headers = {};\n\n if (metadata?.sdk) {\n headers.sdk = {\n name: metadata.sdk.name,\n version: metadata.sdk.version,\n };\n }\n\n if (!!tunnel && !!dsn) {\n headers.dsn = dsnToString(dsn);\n }\n\n return createEnvelope(headers, logs.map(createOtelLogEnvelopeItem));\n}\n\nexport { createOtelLogEnvelope, createOtelLogEnvelopeItem };\n//# sourceMappingURL=envelope.js.map\n","import '../utils-hoist/debug-build.js';\nimport '../utils-hoist/logger.js';\nimport '../utils-hoist/time.js';\nimport '../utils-hoist/syncpromise.js';\nimport '../debug-build.js';\nimport { createOtelLogEnvelope } from './envelope.js';\n\nconst CLIENT_TO_LOG_BUFFER_MAP = new WeakMap();\n\n/**\n * Flushes the logs buffer to Sentry.\n *\n * @param client - A client.\n * @param maybeLogBuffer - A log buffer. Uses the log buffer for the given client if not provided.\n */\nfunction _INTERNAL_flushLogsBuffer(client, maybeLogBuffer) {\n const logBuffer = maybeLogBuffer ?? CLIENT_TO_LOG_BUFFER_MAP.get(client) ?? [];\n if (logBuffer.length === 0) {\n return;\n }\n\n const clientOptions = client.getOptions();\n const envelope = createOtelLogEnvelope(logBuffer, clientOptions._metadata, clientOptions.tunnel, client.getDsn());\n\n // Clear the log buffer after envelopes have been constructed.\n logBuffer.length = 0;\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n client.sendEnvelope(envelope);\n}\n\nexport { _INTERNAL_flushLogsBuffer };\n//# sourceMappingURL=index.js.map\n","// By default, we want to infer the IP address, unless this is explicitly set to `null`\n// We do this after all other processing is done\n// If `ip_address` is explicitly set to `null` or a value, we leave it as is\n\n/**\n * @internal\n */\nfunction addAutoIpAddressToUser(objWithMaybeUser) {\n if (objWithMaybeUser.user?.ip_address === undefined) {\n objWithMaybeUser.user = {\n ...objWithMaybeUser.user,\n ip_address: '{{auto}}',\n };\n }\n}\n\n/**\n * @internal\n */\nfunction addAutoIpAddressToSession(session) {\n if ('aggregates' in session) {\n if (session.attrs?.['ip_address'] === undefined) {\n session.attrs = {\n ...session.attrs,\n ip_address: '{{auto}}',\n };\n }\n } else {\n if (session.ipAddress === undefined) {\n session.ipAddress = '{{auto}}';\n }\n }\n}\n\nexport { addAutoIpAddressToSession, addAutoIpAddressToUser };\n//# sourceMappingURL=ipAddress.js.map\n","import { isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject, isEvent, addExceptionMechanism, isParameterizedString, getClient, normalizeToSize, extractExceptionKeysForMessage, resolvedSyncPromise } from '@sentry/core';\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nfunction exceptionFromError(stackParser, ex) {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(stackParser, ex);\n\n const exception = {\n type: extractType(ex),\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\nfunction eventFromPlainObject(\n stackParser,\n exception,\n syntheticException,\n isUnhandledRejection,\n) {\n const client = getClient();\n const normalizeDepth = client?.getOptions().normalizeDepth;\n\n // If we can, we extract an exception from the object properties\n const errorFromProp = getErrorPropertyFromObject(exception);\n\n const extra = {\n __serialized__: normalizeToSize(exception, normalizeDepth),\n };\n\n if (errorFromProp) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, errorFromProp)],\n },\n extra,\n };\n }\n\n const event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }),\n } ,\n ],\n },\n extra,\n } ;\n\n if (syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].stacktrace = { frames };\n }\n }\n\n return event;\n}\n\nfunction eventFromError(stackParser, ex) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n stackParser,\n ex,\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 const stacktrace = ex.stacktrace || ex.stack || '';\n\n const skipLines = getSkipFirstStackStringLines(ex);\n const framesToPop = getPopFirstTopFrames(ex);\n\n try {\n return stackParser(stacktrace, skipLines, framesToPop);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\n/**\n * Certain known React errors contain links that would be falsely\n * parsed as frames. This function check for these errors and\n * returns number of the stack string lines to skip.\n */\nfunction getSkipFirstStackStringLines(ex) {\n if (ex && reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n\n return 0;\n}\n\n/**\n * If error has `framesToPop` property, it means that the\n * creator tells us the first x frames will be useless\n * and should be discarded. Typically error from wrapper function\n * which don't point to the actual location in the developer's code.\n *\n * Example: https://github.com/zertosh/invariant/blob/master/invariant.js#L46\n */\nfunction getPopFirstTopFrames(ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n return 0;\n}\n\n// https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Exception\n// @ts-expect-error - WebAssembly.Exception is a valid class\nfunction isWebAssemblyException(exception) {\n // Check for support\n // @ts-expect-error - WebAssembly.Exception is a valid class\n if (typeof WebAssembly !== 'undefined' && typeof WebAssembly.Exception !== 'undefined') {\n // @ts-expect-error - WebAssembly.Exception is a valid class\n return exception instanceof WebAssembly.Exception;\n } else {\n return false;\n }\n}\n\n/**\n * Extracts from errors what we use as the exception `type` in error events.\n *\n * Usually, this is the `name` property on Error objects but WASM errors need to be treated differently.\n */\nfunction extractType(ex) {\n const name = ex?.name;\n\n // The name for WebAssembly.Exception Errors needs to be extracted differently.\n // Context: https://github.com/getsentry/sentry-javascript/issues/13787\n if (!name && isWebAssemblyException(ex)) {\n // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n return hasTypeInMessage ? ex.message[0] : 'WebAssembly.Exception';\n }\n\n return name;\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 */\nfunction extractMessage(ex) {\n const message = ex?.message;\n\n if (isWebAssemblyException(ex)) {\n // For Node 18, Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n if (Array.isArray(ex.message) && ex.message.length == 2) {\n return ex.message[1];\n }\n return 'wasm exception';\n }\n\n if (!message) {\n return 'No error message';\n }\n\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nfunction eventFromException(\n stackParser,\n exception,\n hint,\n attachStacktrace,\n) {\n const syntheticException = hint?.syntheticException || undefined;\n const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint?.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nfunction eventFromMessage(\n stackParser,\n message,\n level = 'info',\n hint,\n attachStacktrace,\n) {\n const syntheticException = hint?.syntheticException || undefined;\n const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint?.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nfunction eventFromUnknownInput(\n stackParser,\n exception,\n syntheticException,\n attachStacktrace,\n isUnhandledRejection,\n) {\n let event;\n\n if (isErrorEvent(exception ) && (exception ).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception ;\n return eventFromError(stackParser, errorEvent.error );\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception) || isDOMException(exception )) {\n const domException = exception ;\n\n if ('stack' in (exception )) {\n event = eventFromError(stackParser, exception );\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n // eslint-disable-next-line deprecation/deprecation\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception ;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\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(stackParser, exception , syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\nfunction eventFromString(\n stackParser,\n message,\n syntheticException,\n attachStacktrace,\n) {\n const event = {};\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: message, stacktrace: { frames } }],\n };\n }\n addExceptionMechanism(event, { synthetic: true });\n }\n\n if (isParameterizedString(message)) {\n const { __sentry_template_string__, __sentry_template_values__ } = message;\n\n event.logentry = {\n message: __sentry_template_string__,\n params: __sentry_template_values__,\n };\n return event;\n }\n\n event.message = message;\n return event;\n}\n\nfunction getNonErrorObjectExceptionValue(\n exception,\n { isUnhandledRejection },\n) {\n const keys = extractExceptionKeysForMessage(exception);\n const captureType = isUnhandledRejection ? 'promise rejection' : 'exception';\n\n // Some ErrorEvent instances do not have an `error` property, which is why they are not handled before\n // We still want to try to get a decent message for these cases\n if (isErrorEvent(exception)) {\n return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n }\n\n if (isEvent(exception)) {\n const className = getObjectClassName(exception);\n return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n }\n\n return `Object captured as ${captureType} with keys: ${keys}`;\n}\n\nfunction getObjectClassName(obj) {\n try {\n const prototype = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : undefined;\n } catch (e) {\n // ignore errors here\n }\n}\n\n/** If a plain object has a property that is an `Error`, return this error. */\nfunction getErrorPropertyFromObject(obj) {\n for (const prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n const value = obj[prop];\n if (value instanceof Error) {\n return value;\n }\n }\n }\n\n return undefined;\n}\n\nexport { eventFromException, eventFromMessage, eventFromUnknownInput, exceptionFromError, extractMessage, extractType };\n//# sourceMappingURL=eventbuilder.js.map\n","import { getCurrentScope, getClient, withIsolationScope, getIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { makeSession, updateSession, closeSession } from './session.js';\nimport { isThenable } from './utils-hoist/is.js';\nimport { logger } from './utils-hoist/logger.js';\nimport { uuid4 } from './utils-hoist/misc.js';\nimport { timestampInSeconds } from './utils-hoist/time.js';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide.js';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent.js';\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception The exception to capture.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured Sentry event.\n */\nfunction captureException(exception, hint) {\n return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\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 captureContext Define the level of the message or pass in additional data to attach to the message.\n * @returns the id of the captured message.\n */\nfunction captureMessage(message, captureContext) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentScope().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured event.\n */\nfunction captureEvent(event, hint) {\n return getCurrentScope().captureEvent(event, hint);\n}\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 */\nfunction setContext(name, context) {\n getIsolationScope().setContext(name, context);\n}\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 */\nfunction setExtras(extras) {\n getIsolationScope().setExtras(extras);\n}\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 */\nfunction setExtra(key, extra) {\n getIsolationScope().setExtra(key, extra);\n}\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 */\nfunction setTags(tags) {\n getIsolationScope().setTags(tags);\n}\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 */\nfunction setTag(key, value) {\n getIsolationScope().setTag(key, value);\n}\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 */\nfunction setUser(user) {\n getIsolationScope().setUser(user);\n}\n\n/**\n * The last error event id of the isolation scope.\n *\n * Warning: This function really returns the last recorded error event id on the current\n * isolation scope. If you call this function after handling a certain error and another error\n * is captured in between, the last one is returned instead of the one you might expect.\n * Also, ids of events that were never sent to Sentry (for example because\n * they were dropped in `beforeSend`) could be returned.\n *\n * @returns The last event id of the isolation scope.\n */\nfunction lastEventId() {\n return getIsolationScope().lastEventId();\n}\n\n/**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction captureCheckIn(checkIn, upsertMonitorConfig) {\n const scope = getCurrentScope();\n const client = getClient();\n if (!client) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. No client defined.');\n } else if (!client.captureCheckIn) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. Client does not support sending check-ins.');\n } else {\n return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n }\n\n return uuid4();\n}\n\n/**\n * Wraps a callback with a cron monitor check in. The check in will be sent to Sentry when the callback finishes.\n *\n * @param monitorSlug The distinct slug of the monitor.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction withMonitor(\n monitorSlug,\n callback,\n upsertMonitorConfig,\n) {\n const checkInId = captureCheckIn({ monitorSlug, status: 'in_progress' }, upsertMonitorConfig);\n const now = timestampInSeconds();\n\n function finishCheckIn(status) {\n captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n }\n\n return withIsolationScope(() => {\n let maybePromiseResult;\n try {\n maybePromiseResult = callback();\n } catch (e) {\n finishCheckIn('error');\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n Promise.resolve(maybePromiseResult).then(\n () => {\n finishCheckIn('ok');\n },\n e => {\n finishCheckIn('error');\n throw e;\n },\n );\n } else {\n finishCheckIn('ok');\n }\n\n return maybePromiseResult;\n });\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function flush(timeout) {\n const client = getClient();\n if (client) {\n return client.flush(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function close(timeout) {\n const client = getClient();\n if (client) {\n return client.close(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Returns true if Sentry has been properly initialized.\n */\nfunction isInitialized() {\n return !!getClient();\n}\n\n/** If the SDK is initialized & enabled. */\nfunction isEnabled() {\n const client = getClient();\n return client?.getOptions().enabled !== false && !!client?.getTransport();\n}\n\n/**\n * Add an event processor.\n * This will be added to the current isolation scope, ensuring any event that is processed in the current execution\n * context will have the processor applied.\n */\nfunction addEventProcessor(callback) {\n getIsolationScope().addEventProcessor(callback);\n}\n\n/**\n * Start a session on the current isolation scope.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns the new active session\n */\nfunction startSession(context) {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n user: currentScope.getUser() || isolationScope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = isolationScope.getSession();\n if (currentSession?.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n\n endSession();\n\n // Afterwards we set the new session on the scope\n isolationScope.setSession(session);\n\n return session;\n}\n\n/**\n * End the session on the current isolation scope.\n */\nfunction endSession() {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session) {\n closeSession(session);\n }\n _sendSessionUpdate();\n\n // the session is over; take it off of the scope\n isolationScope.setSession();\n}\n\n/**\n * Sends the current Session on the scope\n */\nfunction _sendSessionUpdate() {\n const isolationScope = getIsolationScope();\n const client = getClient();\n const session = isolationScope.getSession();\n if (session && client) {\n client.captureSession(session);\n }\n}\n\n/**\n * Sends the current session on the scope to Sentry\n *\n * @param end If set the session will be marked as exited and removed from the scope.\n * Defaults to `false`.\n */\nfunction captureSession(end = false) {\n // both send the update and pull the session from the scope\n if (end) {\n endSession();\n return;\n }\n\n // only send the update\n _sendSessionUpdate();\n}\n\nexport { addEventProcessor, captureCheckIn, captureEvent, captureException, captureMessage, captureSession, close, endSession, flush, isEnabled, isInitialized, lastEventId, setContext, setExtra, setExtras, setTag, setTags, setUser, startSession, withMonitor };\n//# sourceMappingURL=exports.js.map\n","import { GLOBAL_OBJ, getOriginalFunction, markFunctionWrapped, addNonEnumerableProperty, withScope, addExceptionTypeValue, addExceptionMechanism, captureException } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ ;\n\nlet ignoreOnError = 0;\n\n/**\n * @hidden\n */\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nfunction ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError++;\n setTimeout(() => {\n ignoreOnError--;\n });\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\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. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nfunction wrap(\n fn,\n options\n\n = {},\n) {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n function isFunction(fn) {\n return typeof fn === 'function';\n }\n\n if (!isFunction(fn)) {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = (fn ).__sentry_wrapped__;\n if (wrapper) {\n if (typeof wrapper === 'function') {\n return wrapper;\n } else {\n // If we find that the `__sentry_wrapped__` function is not a function at the time of accessing it, it means\n // that something messed with it. In that case we want to return the originally passed function.\n return fn;\n }\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\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\n // Wrap the function itself\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped = function ( ...args) {\n try {\n // Also wrap arguments that are themselves functions\n const wrappedArguments = args.map(arg => wrap(arg, options));\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\n withScope(scope => {\n scope.addEventProcessor(event => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n } ;\n\n // Wrap the wrapped function in a proxy, to ensure any other properties of the original function remain available\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property ] = fn[property ];\n }\n }\n } catch {\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n }\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 markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get() {\n return fn.name;\n },\n });\n }\n } catch {\n // This may throw if e.g. the descriptor does not exist, or a browser does not allow redefining `name`.\n // to save some bytes we simply try-catch this\n }\n\n return sentryWrapped;\n}\n\nexport { WINDOW, ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { Client, getSDKSource, applySdkMetadata, _INTERNAL_flushLogsBuffer, addAutoIpAddressToUser, addAutoIpAddressToSession } from '@sentry/core';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { WINDOW } from './helpers.js';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see @sentry/core Options for more information.\n */\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nclass BrowserClient extends Client {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n constructor(options) {\n const opts = {\n // We default this to true, as it is the safer scenario\n parentSpanIsAlwaysRootSpan: true,\n ...options,\n };\n const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n applySdkMetadata(opts, 'browser', ['browser'], sdkSource);\n\n super(opts);\n\n if (opts.sendClientReports && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n if (WINDOW.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n if (this._options._experiments?.enableLogs) {\n _INTERNAL_flushLogsBuffer(this);\n }\n }\n });\n }\n\n if (this._options.sendDefaultPii) {\n this.on('postprocessEvent', addAutoIpAddressToUser);\n this.on('beforeSendSession', addAutoIpAddressToSession);\n }\n }\n\n /**\n * @inheritDoc\n */\n eventFromException(exception, hint) {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n eventFromMessage(\n message,\n level = 'info',\n hint,\n ) {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n _prepareEvent(\n event,\n hint,\n currentScope,\n isolationScope,\n ) {\n event.platform = event.platform || 'javascript';\n\n return super._prepareEvent(event, hint, currentScope, isolationScope);\n }\n}\n\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\n/**\n * Get source of SDK.\n */\nfunction getSDKSource() {\n // This comment is used to identify this line in the CDN bundle build step and replace this with \"return 'cdn';\"\n /* __SENTRY_SDK_SOURCE__ */ return 'npm';\n}\n\nexport { getSDKSource, isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { logger } from '../logger.js';\nimport { getFunctionName } from '../stacktrace.js';\n\n// We keep the handlers globally\nconst handlers = {};\nconst instrumented = {};\n\n/** Add a handler function. */\nfunction addHandler(type, handler) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(handler);\n}\n\n/**\n * Reset all instrumentation handlers.\n * This can be used by tests to ensure we have a clean slate of instrumentation handlers.\n */\nfunction resetInstrumentationHandlers() {\n Object.keys(handlers).forEach(key => {\n handlers[key ] = undefined;\n });\n}\n\n/** Maybe run an instrumentation function, unless it was already called. */\nfunction maybeInstrument(type, instrumentFn) {\n if (!instrumented[type]) {\n instrumented[type] = true;\n try {\n instrumentFn();\n } catch (e) {\n DEBUG_BUILD && logger.error(`Error while instrumenting ${type}`, e);\n }\n }\n}\n\n/** Trigger handlers for a given instrumentation type. */\nfunction triggerHandlers(type, data) {\n const typeHandlers = type && handlers[type];\n if (!typeHandlers) {\n return;\n }\n\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\nexport { addHandler, maybeInstrument, resetInstrumentationHandlers, triggerHandlers };\n//# sourceMappingURL=handlers.js.map\n","import { GLOBAL_OBJ } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ\n\n;\n\nexport { WINDOW };\n//# sourceMappingURL=types.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, fill, addNonEnumerableProperty, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst DEBOUNCE_DURATION = 1000;\n\nlet debounceTimerID;\nlet lastCapturedEventType;\nlet lastCapturedEventTargetId;\n\n/**\n * Add an instrumentation handler for when a click or a keypress happens.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addClickKeypressInstrumentationHandler(handler) {\n const type = 'dom';\n addHandler(type, handler);\n maybeInstrument(type, instrumentDOM);\n}\n\n/** Exported for tests only. */\nfunction instrumentDOM() {\n if (!WINDOW.document) {\n return;\n }\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 const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\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((target) => {\n const globalObject = WINDOW ;\n const proto = globalObject[target]?.prototype;\n\n // eslint-disable-next-line no-prototype-builtins\n if (!proto?.hasOwnProperty?.('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function ( type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n const handlers = (this.__sentry_instrumentation_handlers__ =\n this.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount++;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener) {\n return function ( type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n const handlers = this.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount--;\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[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete this.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\nfunction isSimilarToLastCapturedEvent(event) {\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (event.type !== lastCapturedEventType) {\n return false;\n }\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 (!event.target || (event.target )._sentryId !== lastCapturedEventTargetId) {\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\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 true;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(eventType, target) {\n // We are only interested in filtering `keypress` events for now.\n if (eventType !== 'keypress') {\n return false;\n }\n\n if (!target?.tagName) {\n return true;\n }\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\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n */\nfunction makeDOMEventHandler(\n handler,\n globalListener = false,\n) {\n return (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 || event['_sentryCaptured']) {\n return;\n }\n\n const target = getEventTarget(event);\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n }\n\n // Mark event as \"seen\"\n addNonEnumerableProperty(event, '_sentryCaptured', true);\n\n if (target && !target._sentryId) {\n // Add UUID to event target so we can identify if\n addNonEnumerableProperty(target, '_sentryId', uuid4());\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n // If there is a last captured event, 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 if (!isSimilarToLastCapturedEvent(event)) {\n const handlerData = { event, name, global: globalListener };\n handler(handlerData);\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : undefined;\n }\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 = WINDOW.setTimeout(() => {\n lastCapturedEventTargetId = undefined;\n lastCapturedEventType = undefined;\n }, DEBOUNCE_DURATION);\n };\n}\n\nfunction getEventTarget(event) {\n try {\n return event.target ;\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 return null;\n }\n}\n\nexport { addClickKeypressInstrumentationHandler, instrumentDOM };\n//# sourceMappingURL=dom.js.map\n","import { addHandler, maybeInstrument, timestampInSeconds, isString, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst SENTRY_XHR_DATA_KEY = '__sentry_xhr_v3__';\n\n/**\n * Add an instrumentation handler for when an XHR request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addXhrInstrumentationHandler(handler) {\n const type = 'xhr';\n addHandler(type, handler);\n maybeInstrument(type, instrumentXHR);\n}\n\n/** Exported only for tests. */\nfunction instrumentXHR() {\n if (!(WINDOW ).XMLHttpRequest) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.open = new Proxy(xhrproto.open, {\n apply(originalOpen, xhrOpenThisArg, xhrOpenArgArray) {\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your XHR call did not\n // have a stack trace. If you are using HttpClient integration,\n // this is the expected behavior, as we are using this virtual error to capture\n // the location of your XHR call, and group your HttpClient events accordingly.\n const virtualError = new Error();\n\n const startTimestamp = timestampInSeconds() * 1000;\n\n // open() should always be called with two or more arguments\n // But to be on the safe side, we actually validate this and bail out if we don't have a method & url\n const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : undefined;\n const url = parseUrl(xhrOpenArgArray[1]);\n\n if (!method || !url) {\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n\n xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n method,\n url,\n request_headers: {},\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n if (method === 'POST' && url.match(/sentry_key/)) {\n xhrOpenThisArg.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = () => {\n // For whatever reason, this is not the same instance here as from the outer method\n const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!xhrInfo) {\n return;\n }\n\n if (xhrOpenThisArg.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhrOpenThisArg.status;\n } catch (e) {\n /* do nothing */\n }\n\n const handlerData = {\n endTimestamp: timestampInSeconds() * 1000,\n startTimestamp,\n xhr: xhrOpenThisArg,\n virtualError,\n };\n triggerHandlers('xhr', handlerData);\n }\n };\n\n if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {\n xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {\n onreadystatechangeHandler();\n return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n },\n });\n } else {\n xhrOpenThisArg.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n apply(\n originalSetRequestHeader,\n setRequestHeaderThisArg,\n setRequestHeaderArgArray,\n ) {\n const [header, value] = setRequestHeaderArgArray;\n\n const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n\n if (xhrInfo && isString(header) && isString(value)) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n\n return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n },\n });\n\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n },\n });\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.send = new Proxy(xhrproto.send, {\n apply(originalSend, sendThisArg, sendArgArray) {\n const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!sentryXhrData) {\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n\n if (sendArgArray[0] !== undefined) {\n sentryXhrData.body = sendArgArray[0];\n }\n\n const handlerData = {\n startTimestamp: timestampInSeconds() * 1000,\n xhr: sendThisArg,\n };\n triggerHandlers('xhr', handlerData);\n\n return originalSend.apply(sendThisArg, sendArgArray);\n },\n });\n}\n\nfunction parseUrl(url) {\n if (isString(url)) {\n return url;\n }\n\n try {\n // url can be a string or URL\n // but since URL is not available in IE11, we do not check for it,\n // but simply assume it is an URL and return `toString()` from it (which returns the full URL)\n // If that fails, we just return undefined\n return (url ).toString();\n } catch {} // eslint-disable-line no-empty\n\n return undefined;\n}\n\nexport { SENTRY_XHR_DATA_KEY, addXhrInstrumentationHandler, instrumentXHR };\n//# sourceMappingURL=xhr.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, supportsHistory, fill } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nlet lastHref;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addHistoryInstrumentationHandler(handler) {\n const type = 'history';\n addHandler(type, handler);\n maybeInstrument(type, instrumentHistory);\n}\n\n/**\n * Exported just for testing\n */\nfunction instrumentHistory() {\n // The `popstate` event may also be triggered on `pushState`, but it may not always reliably be emitted by the browser\n // Which is why we also monkey-patch methods below, in addition to this\n WINDOW.addEventListener('popstate', () => {\n const to = WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n\n if (from === to) {\n return;\n }\n\n const handlerData = { from, to } ;\n triggerHandlers('history', handlerData);\n });\n\n // Just guard against this not being available, in weird environments\n if (!supportsHistory()) {\n return;\n }\n\n function historyReplacementFunction(originalHistoryFunction) {\n return function ( ...args) {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n\n if (from === to) {\n return originalHistoryFunction.apply(this, args);\n }\n\n const handlerData = { from, to } ;\n triggerHandlers('history', handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n\nexport { addHistoryInstrumentationHandler, instrumentHistory };\n//# sourceMappingURL=history.js.map\n","import { CONSOLE_LEVELS, originalConsoleMethods } from '../logger.js';\nimport { fill } from '../object.js';\nimport { GLOBAL_OBJ } from '../worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\n/**\n * Add an instrumentation handler for when a console.xxx method is called.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addConsoleInstrumentationHandler(handler) {\n const type = 'console';\n addHandler(type, handler);\n maybeInstrument(type, instrumentConsole);\n}\n\nfunction instrumentConsole() {\n if (!('console' in GLOBAL_OBJ)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in GLOBAL_OBJ.console)) {\n return;\n }\n\n fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod) {\n originalConsoleMethods[level] = originalConsoleMethod;\n\n return function (...args) {\n const handlerData = { args, level };\n triggerHandlers('console', handlerData);\n\n const log = originalConsoleMethods[level];\n log?.apply(GLOBAL_OBJ.console, args);\n };\n });\n });\n}\n\nexport { addConsoleInstrumentationHandler };\n//# sourceMappingURL=console.js.map\n","import { isError } from '../is.js';\nimport { fill, addNonEnumerableProperty } from '../object.js';\nimport { supportsNativeFetch } from '../supports.js';\nimport { timestampInSeconds } from '../time.js';\nimport { GLOBAL_OBJ } from '../worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addFetchInstrumentationHandler(\n handler,\n skipNativeFetchCheck,\n) {\n const type = 'fetch';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(undefined, skipNativeFetchCheck));\n}\n\n/**\n * Add an instrumentation handler for long-lived fetch requests, like consuming server-sent events (SSE) via fetch.\n * The handler will resolve the request body and emit the actual `endTimestamp`, so that the\n * span can be updated accordingly.\n *\n * Only used internally\n * @hidden\n */\nfunction addFetchEndInstrumentationHandler(handler) {\n const type = 'fetch-body-resolved';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(streamHandler));\n}\n\nfunction instrumentFetch(onFetchResolved, skipNativeFetchCheck = false) {\n if (skipNativeFetchCheck && !supportsNativeFetch()) {\n return;\n }\n\n fill(GLOBAL_OBJ, 'fetch', function (originalFetch) {\n return function (...args) {\n // We capture the error right here and not in the Promise error callback because Safari (and probably other\n // browsers too) will wipe the stack trace up to this point, only leaving us with this file which is useless.\n\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n const virtualError = new Error();\n\n const { method, url } = parseFetchArgs(args);\n const handlerData = {\n args,\n fetchData: {\n method,\n url,\n },\n startTimestamp: timestampInSeconds() * 1000,\n // // Adding the error to be able to fingerprint the failed fetch event in HttpClient instrumentation\n virtualError,\n };\n\n // if there is no callback, fetch is instrumented directly\n if (!onFetchResolved) {\n triggerHandlers('fetch', {\n ...handlerData,\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(GLOBAL_OBJ, args).then(\n async (response) => {\n if (onFetchResolved) {\n onFetchResolved(response);\n } else {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n }\n\n return response;\n },\n (error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n error,\n });\n\n if (isError(error) && error.stack === undefined) {\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n error.stack = virtualError.stack;\n addNonEnumerableProperty(error, 'framesToPop', 1);\n }\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}\n\nasync function resolveResponse(res, onFinishedResolving) {\n if (res?.body) {\n const body = res.body;\n const responseReader = body.getReader();\n\n // Define a maximum duration after which we just cancel\n const maxFetchDurationTimeout = setTimeout(\n () => {\n body.cancel().then(null, () => {\n // noop\n });\n },\n 90 * 1000, // 90s\n );\n\n let readingActive = true;\n while (readingActive) {\n let chunkTimeout;\n try {\n // abort reading if read op takes more than 5s\n chunkTimeout = setTimeout(() => {\n body.cancel().then(null, () => {\n // noop on error\n });\n }, 5000);\n\n // This .read() call will reject/throw when we abort due to timeouts through `body.cancel()`\n const { done } = await responseReader.read();\n\n clearTimeout(chunkTimeout);\n\n if (done) {\n onFinishedResolving();\n readingActive = false;\n }\n } catch (error) {\n readingActive = false;\n } finally {\n clearTimeout(chunkTimeout);\n }\n }\n\n clearTimeout(maxFetchDurationTimeout);\n\n responseReader.releaseLock();\n body.cancel().then(null, () => {\n // noop on error\n });\n }\n}\n\nfunction streamHandler(response) {\n // clone response for awaiting stream\n let clonedResponseForResolving;\n try {\n clonedResponseForResolving = response.clone();\n } catch {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resolveResponse(clonedResponseForResolving, () => {\n triggerHandlers('fetch-body-resolved', {\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n });\n}\n\nfunction hasProp(obj, prop) {\n return !!obj && typeof obj === 'object' && !!(obj )[prop];\n}\n\nfunction getUrlFromResource(resource) {\n if (typeof resource === 'string') {\n return resource;\n }\n\n if (!resource) {\n return '';\n }\n\n if (hasProp(resource, 'url')) {\n return resource.url;\n }\n\n if (resource.toString) {\n return resource.toString();\n }\n\n return '';\n}\n\n/**\n * Parses the fetch arguments to find the used Http method and the url of the request.\n * Exported for tests only.\n */\nfunction parseFetchArgs(fetchArgs) {\n if (fetchArgs.length === 0) {\n return { method: 'GET', url: '' };\n }\n\n if (fetchArgs.length === 2) {\n const [url, options] = fetchArgs ;\n\n return {\n url: getUrlFromResource(url),\n method: hasProp(options, 'method') ? String(options.method).toUpperCase() : 'GET',\n };\n }\n\n const arg = fetchArgs[0];\n return {\n url: getUrlFromResource(arg ),\n method: hasProp(arg, 'method') ? String(arg.method).toUpperCase() : 'GET',\n };\n}\n\nexport { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, parseFetchArgs };\n//# sourceMappingURL=fetch.js.map\n","import { getClient, getIsolationScope } from './currentScopes.js';\nimport { consoleSandbox } from './utils-hoist/logger.js';\nimport { dateTimestampInSeconds } from './utils-hoist/time.js';\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\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 */\nfunction addBreadcrumb(breadcrumb, hint) {\n const client = getClient();\n const isolationScope = getIsolationScope();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n\nexport { addBreadcrumb };\n//# sourceMappingURL=breadcrumbs.js.map\n","/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nfunction severityLevelFromString(level) {\n return (\n level === 'warn' ? 'warning' : ['fatal', 'error', 'warning', 'log', 'info', 'debug'].includes(level) ? level : 'log'\n ) ;\n}\n\nexport { severityLevelFromString };\n//# sourceMappingURL=severity.js.map\n","/**\n * Determine a breadcrumb's log level (only `warning` or `error`) based on an HTTP status code.\n */\nfunction getBreadcrumbLogLevelFromHttpStatusCode(statusCode) {\n // NOTE: undefined defaults to 'info' in Sentry\n if (statusCode === undefined) {\n return undefined;\n } else if (statusCode >= 400 && statusCode < 500) {\n return 'warning';\n } else if (statusCode >= 500) {\n return 'error';\n } else {\n return undefined;\n }\n}\n\nexport { getBreadcrumbLogLevelFromHttpStatusCode };\n//# sourceMappingURL=breadcrumb-log-level.js.map\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 <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nfunction parseUrl(url) {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n search: query,\n hash: fragment,\n relative: match[5] + query + fragment, // everything minus origin\n };\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 */\nfunction stripUrlQueryAndFragment(urlPath) {\n return (urlPath.split(/[?#]/, 1) )[0];\n}\n\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span name\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\nfunction getSanitizedUrlString(url) {\n const { protocol, host, path } = url;\n\n const filteredHost =\n host\n // Always filter out authority\n ?.replace(/^.*@/, '[filtered]:[filtered]@')\n // Don't show standard :80 (http) and :443 (https) ports to reduce the noise\n // TODO: Use new URL global if it exists\n .replace(/(:80)$/, '')\n .replace(/(:443)$/, '') || '';\n\n return `${protocol ? `${protocol}://` : ''}${filteredHost}${path}`;\n}\n\nexport { getSanitizedUrlString, parseUrl, stripUrlQueryAndFragment };\n//# sourceMappingURL=url.js.map\n","import { addClickKeypressInstrumentationHandler, addXhrInstrumentationHandler, addHistoryInstrumentationHandler, SENTRY_XHR_DATA_KEY } from '@sentry-internal/browser-utils';\nimport { defineIntegration, addConsoleInstrumentationHandler, addFetchInstrumentationHandler, getClient, safeJoin, severityLevelFromString, addBreadcrumb, logger, htmlTreeAsString, getComponentName, getBreadcrumbLogLevelFromHttpStatusCode, parseUrl, getEventDescription } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/* eslint-disable max-lines */\n\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\n\nconst INTEGRATION_NAME = 'Breadcrumbs';\n\nconst _breadcrumbsIntegration = ((options = {}) => {\n const _options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n if (_options.console) {\n addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n }\n if (_options.dom) {\n addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n }\n if (_options.xhr) {\n addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n }\n if (_options.fetch) {\n addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n }\n if (_options.history) {\n addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n }\n if (_options.sentry) {\n client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));\n }\n },\n };\n}) ;\n\nconst breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\n\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\nfunction _getSentryBreadcrumbHandler(client) {\n return function addSentryBreadcrumb(event) {\n if (getClient() !== client) {\n return;\n }\n\n addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n };\n}\n\n/**\n * A HOC that creates a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _getDomBreadcrumbHandler(\n client,\n dom,\n) {\n return function _innerDomBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n\n let target;\n let componentName;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n let maxStringLength =\n typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,\n );\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n const event = handlerData.event ;\n const element = _isEvent(event) ? event.target : event;\n\n target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n componentName = getComponentName(element);\n } catch (e) {\n target = '<unknown>';\n }\n\n if (target.length === 0) {\n return;\n }\n\n const breadcrumb = {\n category: `ui.${handlerData.name}`,\n message: target,\n };\n\n if (componentName) {\n breadcrumb.data = { 'ui.component_name': componentName };\n }\n\n addBreadcrumb(breadcrumb, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _getConsoleBreadcrumbHandler(client) {\n return function _consoleBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\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\n addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _getXhrBreadcrumbHandler(client) {\n return function _xhrBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n\n // We only capture complete, non-sentry requests\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n\n const { method, url, status_code, body } = sentryXhrData;\n\n const data = {\n method,\n url,\n status_code,\n };\n\n const hint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'xhr',\n data,\n type: 'http',\n level: getBreadcrumbLogLevelFromHttpStatusCode(status_code),\n };\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n addBreadcrumb(breadcrumb, hint);\n };\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _getFetchBreadcrumbHandler(client) {\n return function _fetchBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n // We only capture complete fetch requests\n if (!endTimestamp) {\n return;\n }\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\n ({\n method: handlerData.fetchData.method,\n url: handlerData.fetchData.url,\n });\n\n if (handlerData.error) {\n const data = handlerData.fetchData;\n const hint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'fetch',\n data,\n level: 'error',\n type: 'http',\n } ;\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n addBreadcrumb(breadcrumb, hint);\n } else {\n const response = handlerData.response ;\n const data = {\n ...handlerData.fetchData,\n status_code: response?.status,\n };\n\n handlerData.fetchData.request_body_size;\n handlerData.fetchData.response_body_size;\n response?.status;\n\n const hint = {\n input: handlerData.args,\n response,\n startTimestamp,\n endTimestamp,\n };\n\n const breadcrumb = {\n category: 'fetch',\n data,\n type: 'http',\n level: getBreadcrumbLogLevelFromHttpStatusCode(data.status_code),\n };\n\n client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n addBreadcrumb(breadcrumb, hint);\n }\n };\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _getHistoryBreadcrumbHandler(client) {\n return function _historyBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = from ? parseUrl(from) : undefined;\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom?.path) {\n parsedFrom = parsedLoc;\n }\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\n addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n };\n}\n\nfunction _isEvent(event) {\n return !!event && !!(event ).target;\n}\n\nexport { breadcrumbsIntegration };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { defineIntegration, fill, getFunctionName, getOriginalFunction } from '@sentry/core';\nimport { WINDOW, wrap } from '../helpers.js';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'BroadcastChannel',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'SharedWorker',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\nconst INTEGRATION_NAME = 'BrowserApiErrors';\n\nconst _browserApiErrorsIntegration = ((options = {}) => {\n const _options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n // TODO: This currently only works for the first client this is setup\n // We may want to adjust this to check for client etc.\n setupOnce() {\n if (_options.setTimeout) {\n fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n }\n\n if (_options.setInterval) {\n fill(WINDOW, 'setInterval', _wrapTimeFunction);\n }\n\n if (_options.requestAnimationFrame) {\n fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (_options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = _options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n },\n };\n}) ;\n\n/**\n * Wrap timer functions and event targets to catch errors and provide better meta data.\n */\nconst browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\n\nfunction _wrapTimeFunction(original) {\n return function ( ...args) {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: false,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\nfunction _wrapRAF(original) {\n return function ( callback) {\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\nfunction _wrapXHR(originalSend) {\n return function ( ...args) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before BrowserApiErrors, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\nfunction _wrapEventTarget(target) {\n const globalObject = WINDOW ;\n const proto = globalObject[target]?.prototype;\n\n // eslint-disable-next-line no-prototype-builtins\n if (!proto?.hasOwnProperty?.('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original)\n\n {\n return function ( eventName, fn, options) {\n try {\n if (isEventListenerObject(fn)) {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n });\n }\n } catch {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(proto, 'removeEventListener', function (originalRemoveEventListener)\n\n {\n return function ( eventName, fn, options) {\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 try {\n const originalEventHandler = (fn ).__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, fn, options);\n };\n });\n}\n\nfunction isEventListenerObject(obj) {\n return typeof (obj ).handleEvent === 'function';\n}\n\nexport { browserApiErrorsIntegration };\n//# sourceMappingURL=browserapierrors.js.map\n","import { addHistoryInstrumentationHandler } from '@sentry-internal/browser-utils';\nimport { defineIntegration, logger, startSession, captureSession } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * When added, automatically creates sessions which allow you to track adoption and crashes (crash free rate) in your Releases in Sentry.\n * More information: https://docs.sentry.io/product/releases/health/\n *\n * Note: In order for session tracking to work, you need to set up Releases: https://docs.sentry.io/product/releases/\n */\nconst browserSessionIntegration = defineIntegration(() => {\n return {\n name: 'BrowserSession',\n setupOnce() {\n if (typeof WINDOW.document === 'undefined') {\n DEBUG_BUILD &&\n logger.warn('Using the `browserSessionIntegration` in non-browser environments is not supported.');\n return;\n }\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 startSession({ ignoreDuration: true });\n captureSession();\n\n // We want to create a session for every navigation as well\n addHistoryInstrumentationHandler(({ from, 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 startSession({ ignoreDuration: true });\n captureSession();\n }\n });\n },\n };\n});\n\nexport { browserSessionIntegration };\n//# sourceMappingURL=browsersession.js.map\n","import { GLOBAL_OBJ } from '../worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnErrorHandler = null;\n\n/**\n * Add an instrumentation handler for when an error is captured by the global error handler.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addGlobalErrorInstrumentationHandler(handler) {\n const type = 'error';\n addHandler(type, handler);\n maybeInstrument(type, instrumentError);\n}\n\nfunction instrumentError() {\n _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n\n // Note: The reason we are doing window.onerror instead of window.addEventListener('error')\n // is that we are using this handler in the Loader Script, to handle buffered errors consistently\n GLOBAL_OBJ.onerror = function (\n msg,\n url,\n line,\n column,\n error,\n ) {\n const handlerData = {\n column,\n error,\n line,\n msg,\n url,\n };\n triggerHandlers('error', handlerData);\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n\n GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalErrorInstrumentationHandler };\n//# sourceMappingURL=globalError.js.map\n","import { GLOBAL_OBJ } from '../worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnUnhandledRejectionHandler = null;\n\n/**\n * Add an instrumentation handler for when an unhandled promise rejection is captured.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addGlobalUnhandledRejectionInstrumentationHandler(\n handler,\n) {\n const type = 'unhandledrejection';\n addHandler(type, handler);\n maybeInstrument(type, instrumentUnhandledRejection);\n}\n\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n\n // Note: The reason we are doing window.onunhandledrejection instead of window.addEventListener('unhandledrejection')\n // is that we are using this handler in the Loader Script, to handle buffered rejections consistently\n GLOBAL_OBJ.onunhandledrejection = function (e) {\n const handlerData = e;\n triggerHandlers('unhandledrejection', handlerData);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n\n GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalUnhandledRejectionInstrumentationHandler };\n//# sourceMappingURL=globalUnhandledRejection.js.map\n","import { defineIntegration, addGlobalErrorInstrumentationHandler, getClient, captureEvent, logger, addGlobalUnhandledRejectionInstrumentationHandler, isPrimitive, isString, getLocationHref, UNKNOWN_FUNCTION } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\nconst INTEGRATION_NAME = 'GlobalHandlers';\n\nconst _globalHandlersIntegration = ((options = {}) => {\n const _options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n Error.stackTraceLimit = 50;\n },\n setup(client) {\n if (_options.onerror) {\n _installGlobalOnErrorHandler(client);\n globalHandlerLog('onerror');\n }\n if (_options.onunhandledrejection) {\n _installGlobalOnUnhandledRejectionHandler(client);\n globalHandlerLog('onunhandledrejection');\n }\n },\n };\n}) ;\n\nconst globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\n\nfunction _installGlobalOnErrorHandler(client) {\n addGlobalErrorInstrumentationHandler(data => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const { msg, url, line, column, error } = data;\n\n const event = _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onerror',\n },\n });\n });\n}\n\nfunction _installGlobalOnUnhandledRejectionHandler(client) {\n addGlobalUnhandledRejectionInstrumentationHandler(e => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const error = _getUnhandledRejectionError(e );\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onunhandledrejection',\n },\n });\n });\n}\n\nfunction _getUnhandledRejectionError(error) {\n if (isPrimitive(error)) {\n return error;\n }\n\n // dig the object of the rejection out of known event types\n try {\n\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 (error )) {\n return (error ).reason;\n }\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 if ('detail' in (error ) && 'reason' in (error ).detail) {\n return (error ).detail.reason;\n }\n } catch {} // eslint-disable-line no-empty\n\n return error;\n}\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 */\nfunction _eventFromRejectionWithPrimitive(reason) {\n return {\n exception: {\n values: [\n {\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}\n\nfunction _enhanceEventWithInitialFrame(\n event,\n url,\n line,\n column,\n) {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = column;\n const lineno = line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: UNKNOWN_FUNCTION,\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type) {\n DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction getOptions() {\n const client = getClient();\n const options = client?.getOptions() || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return options;\n}\n\nexport { globalHandlersIntegration };\n//# sourceMappingURL=globalhandlers.js.map\n","import { defineIntegration, getLocationHref } from '@sentry/core';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * Collects information about HTTP request headers and\n * attaches them to the event.\n */\nconst httpContextIntegration = defineIntegration(() => {\n return {\n name: 'HttpContext',\n preprocessEvent(event) {\n // if none of the information we want exists, don't bother\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n }\n\n // grab as much info as exists and add it to the event\n const url = event.request?.url || getLocationHref();\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n\n const headers = {\n ...event.request?.headers,\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = {\n ...event.request,\n ...(url && { url }),\n headers,\n };\n\n event.request = request;\n },\n };\n});\n\nexport { httpContextIntegration };\n//# sourceMappingURL=httpcontext.js.map\n","import { isInstanceOf } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\nfunction applyAggregateErrorsToEvent(\n exceptionFromErrorImplementation,\n parser,\n maxValueLimit = 250,\n key,\n limit,\n event,\n hint,\n) {\n if (!event.exception?.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return;\n }\n\n // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n const originalException =\n event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined;\n\n // We only create exception grouping if there is an exception in the event.\n if (originalException) {\n event.exception.values = truncateAggregateExceptions(\n aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n hint.originalException ,\n key,\n event.exception.values,\n originalException,\n 0,\n ),\n maxValueLimit,\n );\n }\n}\n\nfunction aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error,\n key,\n prevExceptions,\n exception,\n exceptionId,\n) {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n\n let newExceptions = [...prevExceptions];\n\n // Recursively call this function in order to walk down a chain of errors\n if (isInstanceOf(error[key], Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, error[key]);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error[key],\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n\n // This will create exception grouping for AggregateErrors\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n if (Array.isArray(error.errors)) {\n error.errors.forEach((childError, i) => {\n if (isInstanceOf(childError, Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, childError);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n childError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n });\n }\n\n return newExceptions;\n}\n\nfunction applyExceptionGroupFieldsForParentException(exception, exceptionId) {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n ...(exception.type === 'AggregateError' && { is_exception_group: true }),\n exception_id: exceptionId,\n };\n}\n\nfunction applyExceptionGroupFieldsForChildException(\n exception,\n source,\n exceptionId,\n parentId,\n) {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n type: 'chained',\n source,\n exception_id: exceptionId,\n parent_id: parentId,\n };\n}\n\n/**\n * Truncate the message (exception.value) of all exceptions in the event.\n * Because this event processor is ran after `applyClientOptions`,\n * we need to truncate the message of the added exceptions here.\n */\nfunction truncateAggregateExceptions(exceptions, maxValueLength) {\n return exceptions.map(exception => {\n if (exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n return exception;\n });\n}\n\nexport { applyAggregateErrorsToEvent };\n//# sourceMappingURL=aggregate-errors.js.map\n","import { defineIntegration, applyAggregateErrorsToEvent } from '@sentry/core';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\nconst INTEGRATION_NAME = 'LinkedErrors';\n\nconst _linkedErrorsIntegration = ((options = {}) => {\n const limit = options.limit || DEFAULT_LIMIT;\n const key = options.key || DEFAULT_KEY;\n\n return {\n name: INTEGRATION_NAME,\n preprocessEvent(event, hint, client) {\n const options = client.getOptions();\n\n applyAggregateErrorsToEvent(\n // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n exceptionFromError,\n options.stackParser,\n options.maxValueLength,\n key,\n limit,\n event,\n hint,\n );\n },\n };\n}) ;\n\n/**\n * Aggregrate linked errors in an event.\n */\nconst linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n\nexport { linkedErrorsIntegration };\n//# sourceMappingURL=linkederrors.js.map\n","import { createStackParser, UNKNOWN_FUNCTION } from '@sentry/core';\n\n// This was originally forked from https://github.com/csnover/TraceKit, and was largely\n// re - written as part of raven - js.\n//\n// This code was later copied to the JavaScript mono - repo and further modified and\n// refactored over the years.\n\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename, func, lineno, colno) {\n const frame = {\n filename,\n function: func === '<anonymous>' ? UNKNOWN_FUNCTION : func,\n in_app: true, // All browser frames are considered in_app\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// This regex matches frames that have no function name (ie. are at the top level of a module).\n// For example \"at http://localhost:5000//script.js:1:126\"\n// Frames _with_ function names usually look as follows: \"at commitLayoutEffects (react-dom.development.js:23426:1)\"\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\n\n// This regex matches all the frames that have a function name.\nconst chromeRegex =\n /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\n// We cannot call this variable `chrome` because it can conflict with global `chrome` variable in certain environments\n// See: https://github.com/getsentry/sentry-javascript/issues/6880\nconst chromeStackParserFn = line => {\n // If the stack line has no function name, we need to parse it differently\n const noFnParts = chromeRegexNoFnName.exec(line) ;\n\n if (noFnParts) {\n const [, filename, line, col] = noFnParts;\n return createFrame(filename, UNKNOWN_FUNCTION, +line, +col);\n }\n\n const parts = chromeRegex.exec(line) ;\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]) ;\n\n if (subMatch) {\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 }\n\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 const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nconst chromeStackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\n\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.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko = line => {\n const parts = geckoREgex.exec(line) ;\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]) ;\n\n if (subMatch) {\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 }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nconst geckoStackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs = line => {\n const parts = winjsRegex.exec(line) ;\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nconst winjsStackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10 = line => {\n const parts = opera10Regex.exec(line) ;\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nconst opera10StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11 = line => {\n const parts = opera11Regex.exec(line) ;\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nconst opera11StackLineParser = [OPERA11_PRIORITY, opera11];\n\nconst defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\n\nconst defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func, filename) => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? (func.split('@')[0] ) : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { isNativeFunction, logger } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { WINDOW } from './types.js';\n\n/**\n * We generally want to use window.fetch / window.setTimeout.\n * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),\n * so we try to get an unpatched version of this from a sandboxed iframe.\n */\n\nconst cachedImplementations = {};\n\n/**\n * Get the native implementation of a browser function.\n *\n * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.\n *\n * The following methods can be retrieved:\n * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.\n * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.\n */\nfunction getNativeImplementation(\n name,\n) {\n const cached = cachedImplementations[name];\n if (cached) {\n return cached;\n }\n\n let impl = WINDOW[name] ;\n\n // Fast path to avoid DOM I/O\n if (isNativeFunction(impl)) {\n return (cachedImplementations[name] = impl.bind(WINDOW) );\n }\n\n const document = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow?.[name]) {\n impl = contentWindow[name] ;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n // Could not create sandbox iframe, just use window.xxx\n DEBUG_BUILD && logger.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n }\n }\n\n // Sanity check: This _should_ not happen, but if it does, we just skip caching...\n // This can happen e.g. in tests where fetch may not be available in the env, or similar.\n if (!impl) {\n return impl;\n }\n\n return (cachedImplementations[name] = impl.bind(WINDOW) );\n}\n\n/** Clear a cached implementation. */\nfunction clearCachedImplementation(name) {\n cachedImplementations[name] = undefined;\n}\n\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 fetch(...rest) {\n return getNativeImplementation('fetch')(...rest);\n}\n\n/**\n * Get an unwrapped `setTimeout` method.\n * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,\n * avoiding triggering change detection.\n */\nfunction setTimeout(...rest) {\n return getNativeImplementation('setTimeout')(...rest);\n}\n\nexport { clearCachedImplementation, fetch, getNativeImplementation, setTimeout };\n//# sourceMappingURL=getNativeImplementation.js.map\n","import { SentryError } from './error.js';\nimport { SyncPromise, resolvedSyncPromise, rejectedSyncPromise } from './syncpromise.js';\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nfunction makePromiseBuffer(limit) {\n const buffer = [];\n\n function isReady() {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns Removed promise.\n */\n function remove(task) {\n return buffer.splice(buffer.indexOf(task), 1)[0] || Promise.resolve(undefined);\n }\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<T>; In previous versions this used to be `task:\n * PromiseLike<T>`, 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 function add(taskProducer) {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise because buffer limit was reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\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, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\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 function drain(timeout) {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n\nexport { makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\n\nconst DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nfunction parseRetryAfterHeader(header, now = Date.now()) {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that the given category is disabled until for rate limiting.\n * In case no category-specific limit is set but a general rate limit across all categories is active,\n * that time is returned.\n *\n * @return the time in ms that the category is disabled until or 0 if there's no active rate limit.\n */\nfunction disabledUntil(limits, dataCategory) {\n return limits[dataCategory] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nfunction isRateLimited(limits, dataCategory, now = Date.now()) {\n return disabledUntil(limits, dataCategory) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n *\n * @return the updated RateLimits object.\n */\nfunction updateRateLimits(\n limits,\n { statusCode, headers },\n now = Date.now(),\n) {\n const updatedRateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers?.['x-sentry-rate-limits'];\n const retryAfterHeader = headers?.['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n * <header>,<header>,..\n * where each <header> is of the form\n * <retry_after>: <categories>: <scope>: <reason_code>: <namespaces>\n * where\n * <retry_after> is a delay in seconds\n * <categories> is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * <category>;<category>;...\n * <scope> is what's being limited (org, project, or key) - ignored by SDK\n * <reason_code> is an arbitrary string like \"org_quota\" - ignored by SDK\n * <namespaces> Semicolon-separated list of metric namespace identifiers. Defines which namespace(s) will be affected.\n * Only present if rate limit applies to the metric_bucket data category.\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories, , , namespaces] = limit.split(':', 5) ;\n const headerDelay = parseInt(retryAfter, 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of categories.split(';')) {\n if (category === 'metric_bucket') {\n // namespaces will be present when category === 'metric_bucket'\n if (!namespaces || namespaces.split(';').includes('custom')) {\n updatedRateLimits[category] = now + delay;\n }\n } else {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { forEachEnvelopeItem, envelopeItemTypeToDataCategory, createEnvelope, serializeEnvelope } from '../utils-hoist/envelope.js';\nimport { SentryError } from '../utils-hoist/error.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { makePromiseBuffer } from '../utils-hoist/promisebuffer.js';\nimport { isRateLimited, updateRateLimits } from '../utils-hoist/ratelimit.js';\nimport { resolvedSyncPromise } from '../utils-hoist/syncpromise.js';\n\nconst DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nfunction createTransport(\n options,\n makeRequest,\n buffer = makePromiseBuffer(\n options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE,\n ),\n) {\n let rateLimits = {};\n const flush = (timeout) => buffer.drain(timeout);\n\n function send(envelope) {\n const filteredEnvelopeItems = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n const dataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, dataCategory)) {\n options.recordDroppedEvent('ratelimit_backoff', dataCategory);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise({});\n }\n\n const filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems );\n\n // Creates client report for each item in an envelope\n const recordEnvelopeLoss = (reason) => {\n forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n });\n };\n\n const requestTask = () =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n DEBUG_BUILD && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n return response;\n },\n error => {\n recordEnvelopeLoss('network_error');\n throw error;\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n DEBUG_BUILD && logger.error('Skipped sending event because buffer is full.');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise({});\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","import { getNativeImplementation, clearCachedImplementation } from '@sentry-internal/browser-utils';\nimport { createTransport, rejectedSyncPromise } from '@sentry/core';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nfunction makeFetchTransport(\n options,\n nativeFetch = getNativeImplementation('fetch'),\n) {\n let pendingBodySize = 0;\n let pendingCount = 0;\n\n function makeRequest(request) {\n const requestSize = request.body.length;\n pendingBodySize += requestSize;\n pendingCount++;\n\n const requestOptions = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'strict-origin',\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n // If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n // We will therefore only activate the flag when we're below that limit.\n // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n keepalive: pendingBodySize <= 60000 && pendingCount < 15,\n ...options.fetchOptions,\n };\n\n if (!nativeFetch) {\n clearCachedImplementation('fetch');\n return rejectedSyncPromise('No fetch implementation available');\n }\n\n try {\n // TODO: This may need a `suppressTracing` call in the future when we switch the browser SDK to OTEL\n return nativeFetch(options.url, requestOptions).then(response => {\n pendingBodySize -= requestSize;\n pendingCount--;\n return {\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n };\n });\n } catch (e) {\n clearCachedImplementation('fetch');\n pendingBodySize -= requestSize;\n pendingCount--;\n return rejectedSyncPromise(e);\n }\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","import { inboundFiltersIntegration, functionToStringIntegration, dedupeIntegration, consoleSandbox, supportsFetch, logger, getIntegrationsToSetup, stackParserFromStackParserOptions, initAndBind, getCurrentScope, lastEventId, getReportDialogEndpoint, getLocationHref } from '@sentry/core';\nimport { BrowserClient } from './client.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { WINDOW } from './helpers.js';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs.js';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors.js';\nimport { browserSessionIntegration } from './integrations/browsersession.js';\nimport { globalHandlersIntegration } from './integrations/globalhandlers.js';\nimport { httpContextIntegration } from './integrations/httpcontext.js';\nimport { linkedErrorsIntegration } from './integrations/linkederrors.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport { makeFetchTransport } from './transports/fetch.js';\n\n/** Get the default integrations for the browser SDK. */\nfunction getDefaultIntegrations(_options) {\n /**\n * Note: Please make sure this stays in sync with Angular SDK, which re-exports\n * `getDefaultIntegrations` but with an adjusted set of integrations.\n */\n return [\n // TODO(v10): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration`\n // eslint-disable-next-line deprecation/deprecation\n inboundFiltersIntegration(),\n functionToStringIntegration(),\n browserApiErrorsIntegration(),\n breadcrumbsIntegration(),\n globalHandlersIntegration(),\n linkedErrorsIntegration(),\n dedupeIntegration(),\n httpContextIntegration(),\n browserSessionIntegration(),\n ];\n}\n\n/** Exported only for tests. */\nfunction applyDefaultOptions(optionsArg = {}) {\n const defaultOptions = {\n defaultIntegrations: getDefaultIntegrations(),\n release:\n typeof __SENTRY_RELEASE__ === 'string' // This allows build tooling to find-and-replace __SENTRY_RELEASE__ to inject a release value\n ? __SENTRY_RELEASE__\n : WINDOW.SENTRY_RELEASE?.id, // This supports the variable that sentry-webpack-plugin injects\n sendClientReports: true,\n };\n\n return {\n ...defaultOptions,\n ...dropTopLevelUndefinedKeys(optionsArg),\n };\n}\n\n/**\n * In contrast to the regular `dropUndefinedKeys` method,\n * this one does not deep-drop keys, but only on the top level.\n */\nfunction dropTopLevelUndefinedKeys(obj) {\n const mutatetedObj = {};\n\n for (const k of Object.getOwnPropertyNames(obj)) {\n const key = k ;\n if (obj[key] !== undefined) {\n mutatetedObj[key] = obj[key];\n }\n }\n\n return mutatetedObj;\n}\n\nfunction shouldShowBrowserExtensionError() {\n const windowWithMaybeExtension =\n typeof WINDOW.window !== 'undefined' && (WINDOW );\n if (!windowWithMaybeExtension) {\n // No need to show the error if we're not in a browser window environment (e.g. service workers)\n return false;\n }\n\n const extensionKey = windowWithMaybeExtension.chrome ? 'chrome' : 'browser';\n const extensionObject = windowWithMaybeExtension[extensionKey];\n\n const runtimeId = extensionObject?.runtime?.id;\n const href = getLocationHref() || '';\n\n const extensionProtocols = ['chrome-extension:', 'moz-extension:', 'ms-browser-extension:', 'safari-web-extension:'];\n\n // Running the SDK in a dedicated extension page and calling Sentry.init is fine; no risk of data leakage\n const isDedicatedExtensionPage =\n !!runtimeId && WINDOW === WINDOW.top && extensionProtocols.some(protocol => href.startsWith(`${protocol}//`));\n\n // Running the SDK in NW.js, which appears like a browser extension but isn't, is also fine\n // see: https://github.com/getsentry/sentry-javascript/issues/12668\n const isNWjs = typeof windowWithMaybeExtension.nw !== 'undefined';\n\n return !!runtimeId && !isDedicatedExtensionPage && !isNWjs;\n}\n\n/**\n * A magic string that build tooling can leverage in order to inject a release value into the SDK.\n */\n\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 { 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 */\nfunction init(browserOptions = {}) {\n const options = applyDefaultOptions(browserOptions);\n\n if (!options.skipBrowserExtensionCheck && shouldShowBrowserExtensionError()) {\n if (DEBUG_BUILD) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(\n '[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/',\n );\n });\n }\n return;\n }\n\n if (DEBUG_BUILD && !supportsFetch()) {\n logger.warn(\n 'No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill.',\n );\n }\n const clientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || makeFetchTransport,\n };\n\n return initAndBind(BrowserClient, clientOptions);\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 */\nfunction showReportDialog(options = {}) {\n // doesn't work without a document (React Native)\n if (!WINDOW.document) {\n DEBUG_BUILD && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const scope = getCurrentScope();\n const client = scope.getClient();\n const dsn = client?.getDsn();\n\n if (!dsn) {\n DEBUG_BUILD && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n const eventId = lastEventId();\n if (eventId) {\n options.eventId = eventId;\n }\n }\n\n const script = WINDOW.document.createElement('script');\n script.async = true;\n script.crossOrigin = 'anonymous';\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n const { onClose } = options;\n if (onClose) {\n const reportDialogClosedMessageHandler = (event) => {\n if (event.data === '__sentry_reportdialog_closed__') {\n try {\n onClose();\n } finally {\n WINDOW.removeEventListener('message', reportDialogClosedMessageHandler);\n }\n }\n };\n WINDOW.addEventListener('message', reportDialogClosedMessageHandler);\n }\n\n const injectionPoint = WINDOW.document.head || WINDOW.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n DEBUG_BUILD && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction forceLoad() {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction onLoad(callback) {\n callback();\n}\n\nexport { applyDefaultOptions, forceLoad, getDefaultIntegrations, init, onLoad, showReportDialog };\n//# sourceMappingURL=sdk.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE } from '../semanticAttributes.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils.js';\n\n/**\n * Adds a measurement to the active transaction on the current global scope. You can optionally pass in a different span\n * as the 4th parameter.\n */\nfunction setMeasurement(name, value, unit, activeSpan = getActiveSpan()) {\n const rootSpan = activeSpan && getRootSpan(activeSpan);\n\n if (rootSpan) {\n DEBUG_BUILD && logger.log(`[Measurement] Setting measurement on root span: ${name} = ${value} ${unit}`);\n rootSpan.addEvent(name, {\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: value,\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: unit ,\n });\n }\n}\n\n/**\n * Convert timed events to measurements.\n */\nfunction timedEventsToMeasurements(events) {\n if (!events || events.length === 0) {\n return undefined;\n }\n\n const measurements = {};\n events.forEach(event => {\n const attributes = event.attributes || {};\n const unit = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT] ;\n const value = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE] ;\n\n if (typeof unit === 'string' && typeof value === 'number') {\n measurements[event.name] = { value, unit };\n }\n });\n\n return measurements;\n}\n\nexport { setMeasurement, timedEventsToMeasurements };\n//# sourceMappingURL=measurement.js.map\n","const getRating = (value, thresholds) => {\n if (value > thresholds[1]) {\n return 'poor';\n }\n if (value > thresholds[0]) {\n return 'needs-improvement';\n }\n return 'good';\n};\n\nconst bindReporter = (\n callback,\n metric,\n thresholds,\n reportAllChanges,\n) => {\n let prevValue;\n let delta;\n return (forceReport) => {\n if (metric.value >= 0) {\n if (forceReport || reportAllChanges) {\n delta = metric.value - (prevValue || 0);\n\n // Report the metric if there's a non-zero delta or if no previous\n // value exists (which can happen in the case of the document becoming\n // hidden when the metric value is 0).\n // See: https://github.com/GoogleChrome/web-vitals/issues/14\n if (delta || prevValue === undefined) {\n prevValue = metric.value;\n metric.delta = delta;\n metric.rating = getRating(metric.value, thresholds);\n callback(metric);\n }\n }\n }\n };\n};\n\nexport { bindReporter };\n//# sourceMappingURL=bindReporter.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// sentry-specific change:\n// add optional param to not check for responseStart (see comment below)\nconst getNavigationEntry = (checkResponseStart = true) => {\n const navigationEntry = WINDOW.performance?.getEntriesByType?.('navigation')[0];\n // Check to ensure the `responseStart` property is present and valid.\n // In some cases no value is reported by the browser (for\n // privacy/security reasons), and in other cases (bugs) the value is\n // negative or is larger than the current page time. Ignore these cases:\n // https://github.com/GoogleChrome/web-vitals/issues/137\n // https://github.com/GoogleChrome/web-vitals/issues/162\n // https://github.com/GoogleChrome/web-vitals/issues/275\n if (\n // sentry-specific change:\n // We don't want to check for responseStart for our own use of `getNavigationEntry`\n !checkResponseStart ||\n (navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now())\n ) {\n return navigationEntry;\n }\n};\n\nexport { getNavigationEntry };\n//# sourceMappingURL=getNavigationEntry.js.map\n","import { getNavigationEntry } from './getNavigationEntry.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst getActivationStart = () => {\n const navEntry = getNavigationEntry();\n return navEntry?.activationStart || 0;\n};\n\nexport { getActivationStart };\n//# sourceMappingURL=getActivationStart.js.map\n","import { WINDOW } from '../../../types.js';\nimport { generateUniqueID } from './generateUniqueID.js';\nimport { getActivationStart } from './getActivationStart.js';\nimport { getNavigationEntry } from './getNavigationEntry.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst initMetric = (name, value) => {\n const navEntry = getNavigationEntry();\n let navigationType = 'navigate';\n\n if (navEntry) {\n if (WINDOW.document?.prerendering || getActivationStart() > 0) {\n navigationType = 'prerender';\n } else if (WINDOW.document?.wasDiscarded) {\n navigationType = 'restore';\n } else if (navEntry.type) {\n navigationType = navEntry.type.replace(/_/g, '-') ;\n }\n }\n\n // Use `entries` type specific for the metric.\n const entries = [];\n\n return {\n name,\n value: typeof value === 'undefined' ? -1 : value,\n rating: 'good' , // If needed, will be updated when reported. `const` to keep the type from widening to `string`.\n delta: 0,\n entries,\n id: generateUniqueID(),\n navigationType,\n };\n};\n\nexport { initMetric };\n//# sourceMappingURL=initMetric.js.map\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Performantly generate a unique, 30-char string by combining a version\n * number, the current timestamp with a 13-digit number integer.\n * @return {string}\n */\nconst generateUniqueID = () => {\n return `v4-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`;\n};\n\nexport { generateUniqueID };\n//# sourceMappingURL=generateUniqueID.js.map\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nconst observe = (\n type,\n callback,\n opts,\n) => {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n const po = new PerformanceObserver(list => {\n // Delay by a microtask to workaround a bug in Safari where the\n // callback is invoked immediately, rather than in a separate task.\n // See: https://github.com/GoogleChrome/web-vitals/issues/277\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n callback(list.getEntries() );\n });\n });\n po.observe(\n Object.assign(\n {\n type,\n buffered: true,\n },\n opts || {},\n ) ,\n );\n return po;\n }\n } catch (e) {\n // Do nothing.\n }\n return;\n};\n\nexport { observe };\n//# sourceMappingURL=observe.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// Sentry-specific change:\n// This function's logic was NOT updated to web-vitals 4.2.4 but we continue\n// to use the web-vitals 3.5.2 due to us having stricter browser support.\n// PR with context that made the changes: https://github.com/GoogleChrome/web-vitals/pull/442/files#r1530492402\n// The PR removed listening to the `pagehide` event, in favour of only listening to `visibilitychange` event.\n// This is \"more correct\" but some browsers we still support (Safari 12.1-14.0) don't fully support `visibilitychange`\n// or have known bugs w.r.t the `visibilitychange` event.\n// TODO (v9): If we decide to drop support for Safari 12.1-14.0, we can use the logic from web-vitals 4.2.4\n// In this case, we also need to update the integration tests that currently trigger the `pagehide` event to\n// simulate the page being hidden.\nconst onHidden = (cb) => {\n const onHiddenOrPageHide = (event) => {\n if (event.type === 'pagehide' || WINDOW.document?.visibilityState === 'hidden') {\n cb(event);\n }\n };\n\n if (WINDOW.document) {\n addEventListener('visibilitychange', onHiddenOrPageHide, true);\n // Some browsers have buggy implementations of visibilitychange,\n // so we use pagehide in addition, just to be safe.\n addEventListener('pagehide', onHiddenOrPageHide, true);\n }\n};\n\nexport { onHidden };\n//# sourceMappingURL=onHidden.js.map\n","/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst runOnce = (cb) => {\n let called = false;\n return () => {\n if (!called) {\n cb();\n called = true;\n }\n };\n};\n\nexport { runOnce };\n//# sourceMappingURL=runOnce.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet firstHiddenTime = -1;\n\nconst initHiddenTime = () => {\n // If the document is hidden when this code runs, assume it was always\n // hidden and the page was loaded in the background, with the one exception\n // that visibility state is always 'hidden' during prerendering, so we have\n // to ignore that case until prerendering finishes (see: `prerenderingchange`\n // event logic below).\n return WINDOW.document.visibilityState === 'hidden' && !WINDOW.document.prerendering ? 0 : Infinity;\n};\n\nconst onVisibilityUpdate = (event) => {\n // If the document is 'hidden' and no previous hidden timestamp has been\n // set, update it based on the current event data.\n if (WINDOW.document.visibilityState === 'hidden' && firstHiddenTime > -1) {\n // If the event is a 'visibilitychange' event, it means the page was\n // visible prior to this change, so the event timestamp is the first\n // hidden time.\n // However, if the event is not a 'visibilitychange' event, then it must\n // be a 'prerenderingchange' event, and the fact that the document is\n // still 'hidden' from the above check means the tab was activated\n // in a background state and so has always been hidden.\n firstHiddenTime = event.type === 'visibilitychange' ? event.timeStamp : 0;\n\n // Remove all listeners now that a `firstHiddenTime` value has been set.\n removeChangeListeners();\n }\n};\n\nconst addChangeListeners = () => {\n addEventListener('visibilitychange', onVisibilityUpdate, true);\n // IMPORTANT: when a page is prerendering, its `visibilityState` is\n // 'hidden', so in order to account for cases where this module checks for\n // visibility during prerendering, an additional check after prerendering\n // completes is also required.\n addEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst removeChangeListeners = () => {\n removeEventListener('visibilitychange', onVisibilityUpdate, true);\n removeEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst getVisibilityWatcher = () => {\n if (WINDOW.document && firstHiddenTime < 0) {\n // If the document is hidden when this code runs, assume it was hidden\n // since navigation start. This isn't a perfect heuristic, but it's the\n // best we can do until an API is available to support querying past\n // visibilityState.\n firstHiddenTime = initHiddenTime();\n addChangeListeners();\n }\n return {\n get firstHiddenTime() {\n return firstHiddenTime;\n },\n };\n};\n\nexport { getVisibilityWatcher };\n//# sourceMappingURL=getVisibilityWatcher.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst whenActivated = (callback) => {\n if (WINDOW.document?.prerendering) {\n addEventListener('prerenderingchange', () => callback(), true);\n } else {\n callback();\n }\n};\n\nexport { whenActivated };\n//# sourceMappingURL=whenActivated.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for FCP. See https://web.dev/articles/fcp#what_is_a_good_fcp_score */\nconst FCPThresholds = [1800, 3000];\n\n/**\n * Calculates the [FCP](https://web.dev/articles/fcp) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `paint` performance entry used to determine the value. The reported\n * value is a `DOMHighResTimeStamp`.\n */\nconst onFCP = (onReport, opts = {}) => {\n whenActivated(() => {\n const visibilityWatcher = getVisibilityWatcher();\n const metric = initMetric('FCP');\n let report;\n\n const handleEntries = (entries) => {\n entries.forEach(entry => {\n if (entry.name === 'first-contentful-paint') {\n po.disconnect();\n\n // Only report if the page wasn't hidden prior to the first paint.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n // The activationStart reference is used because FCP should be\n // relative to page activation rather than navigation start if the\n // page was prerendered. But in cases where `activationStart` occurs\n // after the FCP, this time should be clamped at 0.\n metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n metric.entries.push(entry);\n report(true);\n }\n }\n });\n };\n\n const po = observe('paint', handleEntries);\n\n if (po) {\n report = bindReporter(onReport, metric, FCPThresholds, opts.reportAllChanges);\n }\n });\n};\n\nexport { FCPThresholds, onFCP };\n//# sourceMappingURL=onFCP.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { onFCP } from './onFCP.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for CLS. See https://web.dev/articles/cls#what_is_a_good_cls_score */\nconst CLSThresholds = [0.1, 0.25];\n\n/**\n * Calculates the [CLS](https://web.dev/articles/cls) value for the current page and\n * calls the `callback` function once the value is ready to be reported, along\n * with all `layout-shift` performance entries that were used in the metric\n * value calculation. The reported value is a `double` (corresponding to a\n * [layout shift score](https://web.dev/articles/cls#layout_shift_score)).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** CLS should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onCLS = (onReport, opts = {}) => {\n // Start monitoring FCP so we can only report CLS if FCP is also reported.\n // Note: this is done to match the current behavior of CrUX.\n onFCP(\n runOnce(() => {\n const metric = initMetric('CLS', 0);\n let report;\n\n let sessionValue = 0;\n let sessionEntries = [];\n\n const handleEntries = (entries) => {\n entries.forEach(entry => {\n // Only count layout shifts without recent user input.\n if (!entry.hadRecentInput) {\n const firstSessionEntry = sessionEntries[0];\n const lastSessionEntry = sessionEntries[sessionEntries.length - 1];\n\n // If the entry occurred less than 1 second after the previous entry\n // and less than 5 seconds after the first entry in the session,\n // include the entry in the current session. Otherwise, start a new\n // session.\n if (\n sessionValue &&\n firstSessionEntry &&\n lastSessionEntry &&\n entry.startTime - lastSessionEntry.startTime < 1000 &&\n entry.startTime - firstSessionEntry.startTime < 5000\n ) {\n sessionValue += entry.value;\n sessionEntries.push(entry);\n } else {\n sessionValue = entry.value;\n sessionEntries = [entry];\n }\n }\n });\n\n // If the current session value is larger than the current CLS value,\n // update CLS and the entries contributing to it.\n if (sessionValue > metric.value) {\n metric.value = sessionValue;\n metric.entries = sessionEntries;\n report();\n }\n };\n\n const po = observe('layout-shift', handleEntries);\n if (po) {\n report = bindReporter(onReport, metric, CLSThresholds, opts.reportAllChanges);\n\n onHidden(() => {\n handleEntries(po.takeRecords() );\n report(true);\n });\n\n // Queue a task to report (if nothing else triggers a report first).\n // This allows CLS to be reported as soon as FCP fires when\n // `reportAllChanges` is true.\n setTimeout(report, 0);\n }\n }),\n );\n};\n\nexport { CLSThresholds, onCLS };\n//# sourceMappingURL=getCLS.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for FID. See https://web.dev/articles/fid#what_is_a_good_fid_score */\nconst FIDThresholds = [100, 300];\n\n/**\n * Calculates the [FID](https://web.dev/articles/fid) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `first-input` performance entry used to determine the value. The\n * reported value is a `DOMHighResTimeStamp`.\n *\n * _**Important:** since FID is only reported after the user interacts with the\n * page, it's possible that it will not be reported for some page loads._\n */\nconst onFID = (onReport, opts = {}) => {\n whenActivated(() => {\n const visibilityWatcher = getVisibilityWatcher();\n const metric = initMetric('FID');\n // eslint-disable-next-line prefer-const\n let report;\n\n const handleEntry = (entry) => {\n // Only report if the page wasn't hidden prior to the first input.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n metric.value = entry.processingStart - entry.startTime;\n metric.entries.push(entry);\n report(true);\n }\n };\n\n const handleEntries = (entries) => {\n (entries ).forEach(handleEntry);\n };\n\n const po = observe('first-input', handleEntries);\n\n report = bindReporter(onReport, metric, FIDThresholds, opts.reportAllChanges);\n\n if (po) {\n onHidden(\n runOnce(() => {\n handleEntries(po.takeRecords() );\n po.disconnect();\n }),\n );\n }\n });\n};\n\nexport { FIDThresholds, onFID };\n//# sourceMappingURL=getFID.js.map\n","import { observe } from '../observe.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet interactionCountEstimate = 0;\nlet minKnownInteractionId = Infinity;\nlet maxKnownInteractionId = 0;\n\nconst updateEstimate = (entries) => {\n entries.forEach(e => {\n if (e.interactionId) {\n minKnownInteractionId = Math.min(minKnownInteractionId, e.interactionId);\n maxKnownInteractionId = Math.max(maxKnownInteractionId, e.interactionId);\n\n interactionCountEstimate = maxKnownInteractionId ? (maxKnownInteractionId - minKnownInteractionId) / 7 + 1 : 0;\n }\n });\n};\n\nlet po;\n\n/**\n * Returns the `interactionCount` value using the native API (if available)\n * or the polyfill estimate in this module.\n */\nconst getInteractionCount = () => {\n return po ? interactionCountEstimate : performance.interactionCount || 0;\n};\n\n/**\n * Feature detects native support or initializes the polyfill if needed.\n */\nconst initInteractionCountPolyfill = () => {\n if ('interactionCount' in performance || po) return;\n\n po = observe('event', updateEstimate, {\n type: 'event',\n buffered: true,\n durationThreshold: 0,\n } );\n};\n\nexport { getInteractionCount, initInteractionCountPolyfill };\n//# sourceMappingURL=interactionCountPolyfill.js.map\n","import { getInteractionCount } from './polyfills/interactionCountPolyfill.js';\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// A list of longest interactions on the page (by latency) sorted so the\n// longest one is first. The list is at most MAX_INTERACTIONS_TO_CONSIDER long.\nconst longestInteractionList = [];\n\n// A mapping of longest interactions by their interaction ID.\n// This is used for faster lookup.\nconst longestInteractionMap = new Map();\n\n// The default `durationThreshold` used across this library for observing\n// `event` entries via PerformanceObserver.\nconst DEFAULT_DURATION_THRESHOLD = 40;\n\n// Used to store the interaction count after a bfcache restore, since p98\n// interaction latencies should only consider the current navigation.\nlet prevInteractionCount = 0;\n\n/**\n * Returns the interaction count since the last bfcache restore (or for the\n * full page lifecycle if there were no bfcache restores).\n */\nconst getInteractionCountForNavigation = () => {\n return getInteractionCount() - prevInteractionCount;\n};\n\n/**\n * Returns the estimated p98 longest interaction based on the stored\n * interaction candidates and the interaction count for the current page.\n */\nconst estimateP98LongestInteraction = () => {\n const candidateInteractionIndex = Math.min(\n longestInteractionList.length - 1,\n Math.floor(getInteractionCountForNavigation() / 50),\n );\n\n return longestInteractionList[candidateInteractionIndex];\n};\n\n// To prevent unnecessary memory usage on pages with lots of interactions,\n// store at most 10 of the longest interactions to consider as INP candidates.\nconst MAX_INTERACTIONS_TO_CONSIDER = 10;\n\n/**\n * A list of callback functions to run before each entry is processed.\n * Exposing this list allows the attribution build to hook into the\n * entry processing pipeline.\n */\nconst entryPreProcessingCallbacks = [];\n\n/**\n * Takes a performance entry and adds it to the list of worst interactions\n * if its duration is long enough to make it among the worst. If the\n * entry is part of an existing interaction, it is merged and the latency\n * and entries list is updated as needed.\n */\nconst processInteractionEntry = (entry) => {\n entryPreProcessingCallbacks.forEach(cb => cb(entry));\n\n // Skip further processing for entries that cannot be INP candidates.\n if (!(entry.interactionId || entry.entryType === 'first-input')) return;\n\n // The least-long of the 10 longest interactions.\n const minLongestInteraction = longestInteractionList[longestInteractionList.length - 1];\n\n const existingInteraction = longestInteractionMap.get(entry.interactionId);\n\n // Only process the entry if it's possibly one of the ten longest,\n // or if it's part of an existing interaction.\n if (\n existingInteraction ||\n longestInteractionList.length < MAX_INTERACTIONS_TO_CONSIDER ||\n (minLongestInteraction && entry.duration > minLongestInteraction.latency)\n ) {\n // If the interaction already exists, update it. Otherwise create one.\n if (existingInteraction) {\n // If the new entry has a longer duration, replace the old entries,\n // otherwise add to the array.\n if (entry.duration > existingInteraction.latency) {\n existingInteraction.entries = [entry];\n existingInteraction.latency = entry.duration;\n } else if (\n entry.duration === existingInteraction.latency &&\n entry.startTime === existingInteraction.entries[0]?.startTime\n ) {\n existingInteraction.entries.push(entry);\n }\n } else {\n const interaction = {\n id: entry.interactionId,\n latency: entry.duration,\n entries: [entry],\n };\n longestInteractionMap.set(interaction.id, interaction);\n longestInteractionList.push(interaction);\n }\n\n // Sort the entries by latency (descending) and keep only the top ten.\n longestInteractionList.sort((a, b) => b.latency - a.latency);\n if (longestInteractionList.length > MAX_INTERACTIONS_TO_CONSIDER) {\n longestInteractionList.splice(MAX_INTERACTIONS_TO_CONSIDER).forEach(i => longestInteractionMap.delete(i.id));\n }\n }\n};\n\nexport { DEFAULT_DURATION_THRESHOLD, entryPreProcessingCallbacks, estimateP98LongestInteraction, longestInteractionList, longestInteractionMap, processInteractionEntry };\n//# sourceMappingURL=interactions.js.map\n","import { WINDOW } from '../../../types.js';\nimport { onHidden } from './onHidden.js';\nimport { runOnce } from './runOnce.js';\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Runs the passed callback during the next idle period, or immediately\n * if the browser's visibility state is (or becomes) hidden.\n */\nconst whenIdle = (cb) => {\n const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;\n\n let handle = -1;\n // eslint-disable-next-line no-param-reassign\n cb = runOnce(cb) ;\n // If the document is hidden, run the callback immediately, otherwise\n // race an idle callback with the next `visibilitychange` event.\n if (WINDOW.document?.visibilityState === 'hidden') {\n cb();\n } else {\n handle = rIC(cb);\n onHidden(cb);\n }\n return handle;\n};\n\nexport { whenIdle };\n//# sourceMappingURL=whenIdle.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { DEFAULT_DURATION_THRESHOLD, processInteractionEntry, estimateP98LongestInteraction } from './lib/interactions.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\nimport { initInteractionCountPolyfill } from './lib/polyfills/interactionCountPolyfill.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdle } from './lib/whenIdle.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for INP. See https://web.dev/articles/inp#what_is_a_good_inp_score */\nconst INPThresholds = [200, 500];\n\n/**\n * Calculates the [INP](https://web.dev/articles/inp) value for the current\n * page and calls the `callback` function once the value is ready, along with\n * the `event` performance entries reported for that interaction. The reported\n * value is a `DOMHighResTimeStamp`.\n *\n * A custom `durationThreshold` configuration option can optionally be passed to\n * control what `event-timing` entries are considered for INP reporting. The\n * default threshold is `40`, which means INP scores of less than 40 are\n * reported as 0. Note that this will not affect your 75th percentile INP value\n * unless that value is also less than 40 (well below the recommended\n * [good](https://web.dev/articles/inp#what_is_a_good_inp_score) threshold).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** INP should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onINP = (onReport, opts = {}) => {\n // Return if the browser doesn't support all APIs needed to measure INP.\n if (!('PerformanceEventTiming' in WINDOW && 'interactionId' in PerformanceEventTiming.prototype)) {\n return;\n }\n\n whenActivated(() => {\n // TODO(philipwalton): remove once the polyfill is no longer needed.\n initInteractionCountPolyfill();\n\n const metric = initMetric('INP');\n // eslint-disable-next-line prefer-const\n let report;\n\n const handleEntries = (entries) => {\n // Queue the `handleEntries()` callback in the next idle task.\n // This is needed to increase the chances that all event entries that\n // occurred between the user interaction and the next paint\n // have been dispatched. Note: there is currently an experiment\n // running in Chrome (EventTimingKeypressAndCompositionInteractionId)\n // 123+ that if rolled out fully may make this no longer necessary.\n whenIdle(() => {\n entries.forEach(processInteractionEntry);\n\n const inp = estimateP98LongestInteraction();\n\n if (inp && inp.latency !== metric.value) {\n metric.value = inp.latency;\n metric.entries = inp.entries;\n report();\n }\n });\n };\n\n const po = observe('event', handleEntries, {\n // Event Timing entries have their durations rounded to the nearest 8ms,\n // so a duration of 40ms would be any event that spans 2.5 or more frames\n // at 60Hz. This threshold is chosen to strike a balance between usefulness\n // and performance. Running this callback for any interaction that spans\n // just one or two frames is likely not worth the insight that could be\n // gained.\n durationThreshold: opts.durationThreshold != null ? opts.durationThreshold : DEFAULT_DURATION_THRESHOLD,\n });\n\n report = bindReporter(onReport, metric, INPThresholds, opts.reportAllChanges);\n\n if (po) {\n // Also observe entries of type `first-input`. This is useful in cases\n // where the first interaction is less than the `durationThreshold`.\n po.observe({ type: 'first-input', buffered: true });\n\n onHidden(() => {\n handleEntries(po.takeRecords() );\n report(true);\n });\n }\n });\n};\n\nexport { INPThresholds, onINP };\n//# sourceMappingURL=getINP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdle } from './lib/whenIdle.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for LCP. See https://web.dev/articles/lcp#what_is_a_good_lcp_score */\nconst LCPThresholds = [2500, 4000];\n\nconst reportedMetricIDs = {};\n\n/**\n * Calculates the [LCP](https://web.dev/articles/lcp) value for the current page and\n * calls the `callback` function once the value is ready (along with the\n * relevant `largest-contentful-paint` performance entry used to determine the\n * value). The reported value is a `DOMHighResTimeStamp`.\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called any time a new `largest-contentful-paint`\n * performance entry is dispatched, or once the final value of the metric has\n * been determined.\n */\nconst onLCP = (onReport, opts = {}) => {\n whenActivated(() => {\n const visibilityWatcher = getVisibilityWatcher();\n const metric = initMetric('LCP');\n let report;\n\n const handleEntries = (entries) => {\n // If reportAllChanges is set then call this function for each entry,\n // otherwise only consider the last one.\n if (!opts.reportAllChanges) {\n // eslint-disable-next-line no-param-reassign\n entries = entries.slice(-1);\n }\n\n entries.forEach(entry => {\n // Only report if the page wasn't hidden prior to LCP.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n // The startTime attribute returns the value of the renderTime if it is\n // not 0, and the value of the loadTime otherwise. The activationStart\n // reference is used because LCP should be relative to page activation\n // rather than navigation start if the page was pre-rendered. But in cases\n // where `activationStart` occurs after the LCP, this time should be\n // clamped at 0.\n metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n metric.entries = [entry];\n report();\n }\n });\n };\n\n const po = observe('largest-contentful-paint', handleEntries);\n\n if (po) {\n report = bindReporter(onReport, metric, LCPThresholds, opts.reportAllChanges);\n\n const stopListening = runOnce(() => {\n if (!reportedMetricIDs[metric.id]) {\n handleEntries(po.takeRecords() );\n po.disconnect();\n reportedMetricIDs[metric.id] = true;\n report(true);\n }\n });\n\n // Stop listening after input. Note: while scrolling is an input that\n // stops LCP observation, it's unreliable since it can be programmatically\n // generated. See: https://github.com/GoogleChrome/web-vitals/issues/75\n ['keydown', 'click'].forEach(type => {\n // Wrap in a setTimeout so the callback is run in a separate task\n // to avoid extending the keyboard/click handler to reduce INP impact\n // https://github.com/GoogleChrome/web-vitals/issues/383\n if (WINDOW.document) {\n addEventListener(type, () => whenIdle(stopListening ), {\n once: true,\n capture: true,\n });\n }\n });\n\n onHidden(stopListening);\n }\n });\n};\n\nexport { LCPThresholds, onLCP };\n//# sourceMappingURL=getLCP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getNavigationEntry } from './lib/getNavigationEntry.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for TTFB. See https://web.dev/articles/ttfb#what_is_a_good_ttfb_score */\nconst TTFBThresholds = [800, 1800];\n\n/**\n * Runs in the next task after the page is done loading and/or prerendering.\n * @param callback\n */\nconst whenReady = (callback) => {\n if (WINDOW.document?.prerendering) {\n whenActivated(() => whenReady(callback));\n } else if (WINDOW.document?.readyState !== 'complete') {\n addEventListener('load', () => whenReady(callback), true);\n } else {\n // Queue a task so the callback runs after `loadEventEnd`.\n setTimeout(callback, 0);\n }\n};\n\n/**\n * Calculates the [TTFB](https://web.dev/articles/ttfb) value for the\n * current page and calls the `callback` function once the page has loaded,\n * along with the relevant `navigation` performance entry used to determine the\n * value. The reported value is a `DOMHighResTimeStamp`.\n *\n * Note, this function waits until after the page is loaded to call `callback`\n * in order to ensure all properties of the `navigation` entry are populated.\n * This is useful if you want to report on other metrics exposed by the\n * [Navigation Timing API](https://w3c.github.io/navigation-timing/). For\n * example, the TTFB metric starts from the page's [time\n * origin](https://www.w3.org/TR/hr-time-2/#sec-time-origin), which means it\n * includes time spent on DNS lookup, connection negotiation, network latency,\n * and server processing time.\n */\nconst onTTFB = (onReport, opts = {}) => {\n const metric = initMetric('TTFB');\n const report = bindReporter(onReport, metric, TTFBThresholds, opts.reportAllChanges);\n\n whenReady(() => {\n const navigationEntry = getNavigationEntry();\n\n if (navigationEntry) {\n // The activationStart reference is used because TTFB should be\n // relative to page activation rather than navigation start if the\n // page was prerendered. But in cases where `activationStart` occurs\n // after the first byte is received, this time should be clamped at 0.\n metric.value = Math.max(navigationEntry.responseStart - getActivationStart(), 0);\n\n metric.entries = [navigationEntry];\n report(true);\n }\n });\n};\n\nexport { TTFBThresholds, onTTFB };\n//# sourceMappingURL=onTTFB.js.map\n","import { logger, getFunctionName } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { onCLS } from './web-vitals/getCLS.js';\nimport { onFID } from './web-vitals/getFID.js';\nimport { onINP } from './web-vitals/getINP.js';\nimport { onLCP } from './web-vitals/getLCP.js';\nimport { observe } from './web-vitals/lib/observe.js';\nimport { onTTFB } from './web-vitals/onTTFB.js';\n\nconst handlers = {};\nconst instrumented = {};\n\nlet _previousCls;\nlet _previousFid;\nlet _previousLcp;\nlet _previousTtfb;\nlet _previousInp;\n\n/**\n * Add a callback that will be triggered when a CLS metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for CLS when the cleanup callback is called.\n * This will lead to the CLS being finalized and frozen.\n */\nfunction addClsInstrumentationHandler(\n callback,\n stopOnCallback = false,\n) {\n return addMetricObserver('cls', callback, instrumentCls, _previousCls, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a LCP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for LCP when the cleanup callback is called.\n * This will lead to the LCP being finalized and frozen.\n */\nfunction addLcpInstrumentationHandler(\n callback,\n stopOnCallback = false,\n) {\n return addMetricObserver('lcp', callback, instrumentLcp, _previousLcp, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a FID metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addFidInstrumentationHandler(callback) {\n return addMetricObserver('fid', callback, instrumentFid, _previousFid);\n}\n\n/**\n * Add a callback that will be triggered when a FID metric is available.\n */\nfunction addTtfbInstrumentationHandler(callback) {\n return addMetricObserver('ttfb', callback, instrumentTtfb, _previousTtfb);\n}\n\n/**\n * Add a callback that will be triggered when a INP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addInpInstrumentationHandler(\n callback,\n) {\n return addMetricObserver('inp', callback, instrumentInp, _previousInp);\n}\n\n/**\n * Add a callback that will be triggered when a performance observer is triggered,\n * and receives the entries of the observer.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addPerformanceInstrumentationHandler(\n type,\n callback,\n) {\n addHandler(type, callback);\n\n if (!instrumented[type]) {\n instrumentPerformanceObserver(type);\n instrumented[type] = true;\n }\n\n return getCleanupCallback(type, callback);\n}\n\n/** Trigger all handlers of a given type. */\nfunction triggerHandlers(type, data) {\n const typeHandlers = handlers[type];\n\n if (!typeHandlers?.length) {\n return;\n }\n\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\nfunction instrumentCls() {\n return onCLS(\n metric => {\n triggerHandlers('cls', {\n metric,\n });\n _previousCls = metric;\n },\n // We want the callback to be called whenever the CLS value updates.\n // By default, the callback is only called when the tab goes to the background.\n { reportAllChanges: true },\n );\n}\n\nfunction instrumentFid() {\n return onFID(metric => {\n triggerHandlers('fid', {\n metric,\n });\n _previousFid = metric;\n });\n}\n\nfunction instrumentLcp() {\n return onLCP(\n metric => {\n triggerHandlers('lcp', {\n metric,\n });\n _previousLcp = metric;\n },\n // We want the callback to be called whenever the LCP value updates.\n // By default, the callback is only called when the tab goes to the background.\n { reportAllChanges: true },\n );\n}\n\nfunction instrumentTtfb() {\n return onTTFB(metric => {\n triggerHandlers('ttfb', {\n metric,\n });\n _previousTtfb = metric;\n });\n}\n\nfunction instrumentInp() {\n return onINP(metric => {\n triggerHandlers('inp', {\n metric,\n });\n _previousInp = metric;\n });\n}\n\nfunction addMetricObserver(\n type,\n callback,\n instrumentFn,\n previousValue,\n stopOnCallback = false,\n) {\n addHandler(type, callback);\n\n let stopListening;\n\n if (!instrumented[type]) {\n stopListening = instrumentFn();\n instrumented[type] = true;\n }\n\n if (previousValue) {\n callback({ metric: previousValue });\n }\n\n return getCleanupCallback(type, callback, stopOnCallback ? stopListening : undefined);\n}\n\nfunction instrumentPerformanceObserver(type) {\n const options = {};\n\n // Special per-type options we want to use\n if (type === 'event') {\n options.durationThreshold = 0;\n }\n\n observe(\n type,\n entries => {\n triggerHandlers(type, { entries });\n },\n options,\n );\n}\n\nfunction addHandler(type, handler) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(handler);\n}\n\n// Get a callback which can be called to remove the instrumentation handler\nfunction getCleanupCallback(\n type,\n callback,\n stopListening,\n) {\n return () => {\n if (stopListening) {\n stopListening();\n }\n\n const typeHandlers = handlers[type];\n\n if (!typeHandlers) {\n return;\n }\n\n const index = typeHandlers.indexOf(callback);\n if (index !== -1) {\n typeHandlers.splice(index, 1);\n }\n };\n}\n\n/**\n * Check if a PerformanceEntry is a PerformanceEventTiming by checking for the `duration` property.\n */\nfunction isPerformanceEventTiming(entry) {\n return 'duration' in entry;\n}\n\nexport { addClsInstrumentationHandler, addFidInstrumentationHandler, addInpInstrumentationHandler, addLcpInstrumentationHandler, addPerformanceInstrumentationHandler, addTtfbInstrumentationHandler, isPerformanceEventTiming };\n//# sourceMappingURL=instrument.js.map\n","import { generateTraceId, generateSpanId } from '../utils-hoist/propagationContext.js';\nimport { TRACE_FLAG_NONE } from '../utils/spanUtils.js';\n\n/**\n * A Sentry Span that is non-recording, meaning it will not be sent to Sentry.\n */\nclass SentryNonRecordingSpan {\n\n constructor(spanContext = {}) {\n this._traceId = spanContext.traceId || generateTraceId();\n this._spanId = spanContext.spanId || generateSpanId();\n }\n\n /** @inheritdoc */\n spanContext() {\n return {\n spanId: this._spanId,\n traceId: this._traceId,\n traceFlags: TRACE_FLAG_NONE,\n };\n }\n\n /** @inheritdoc */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n end(_timestamp) {}\n\n /** @inheritdoc */\n setAttribute(_key, _value) {\n return this;\n }\n\n /** @inheritdoc */\n setAttributes(_values) {\n return this;\n }\n\n /** @inheritdoc */\n setStatus(_status) {\n return this;\n }\n\n /** @inheritdoc */\n updateName(_name) {\n return this;\n }\n\n /** @inheritdoc */\n isRecording() {\n return false;\n }\n\n /** @inheritdoc */\n addEvent(\n _name,\n _attributesOrStartTime,\n _startTime,\n ) {\n return this;\n }\n\n /** @inheritDoc */\n addLink(_link) {\n return this;\n }\n\n /** @inheritDoc */\n addLinks(_links) {\n return this;\n }\n\n /**\n * This should generally not be used,\n * but we need it for being compliant with the OTEL Span interface.\n *\n * @hidden\n * @internal\n */\n recordException(_exception, _time) {\n // noop\n }\n}\n\nexport { SentryNonRecordingSpan };\n//# sourceMappingURL=sentryNonRecordingSpan.js.map\n","import { getClient, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { createSpanEnvelope } from '../envelope.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME } from '../semanticAttributes.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { dropUndefinedKeys } from '../utils-hoist/object.js';\nimport { generateTraceId, generateSpanId } from '../utils-hoist/propagationContext.js';\nimport { timestampInSeconds } from '../utils-hoist/time.js';\nimport { TRACE_FLAG_SAMPLED, TRACE_FLAG_NONE, spanTimeInputToSeconds, convertSpanLinksForEnvelope, getRootSpan, getStatusMessage, spanToJSON, getSpanDescendants, spanToTransactionTraceContext } from '../utils/spanUtils.js';\nimport { getDynamicSamplingContextFromSpan } from './dynamicSamplingContext.js';\nimport { logSpanEnd } from './logSpans.js';\nimport { timedEventsToMeasurements } from './measurement.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\nconst MAX_SPAN_COUNT = 1000;\n\n/**\n * Span contains all data about a span\n */\nclass SentrySpan {\n\n /** Epoch timestamp in seconds when the span started. */\n\n /** Epoch timestamp in seconds when the span ended. */\n\n /** Internal keeper of the status */\n\n /** The timed events added to this span. */\n\n /** if true, treat span as a standalone span (not part of a transaction) */\n\n /**\n * You should never call the constructor manually, always use `Sentry.startSpan()`\n * or other span methods.\n * @internal\n * @hideconstructor\n * @hidden\n */\n constructor(spanContext = {}) {\n this._traceId = spanContext.traceId || generateTraceId();\n this._spanId = spanContext.spanId || generateSpanId();\n this._startTime = spanContext.startTimestamp || timestampInSeconds();\n this._links = spanContext.links;\n\n this._attributes = {};\n this.setAttributes({\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'manual',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: spanContext.op,\n ...spanContext.attributes,\n });\n\n this._name = spanContext.name;\n\n if (spanContext.parentSpanId) {\n this._parentSpanId = spanContext.parentSpanId;\n }\n // We want to include booleans as well here\n if ('sampled' in spanContext) {\n this._sampled = spanContext.sampled;\n }\n if (spanContext.endTimestamp) {\n this._endTime = spanContext.endTimestamp;\n }\n\n this._events = [];\n\n this._isStandaloneSpan = spanContext.isStandalone;\n\n // If the span is already ended, ensure we finalize the span immediately\n if (this._endTime) {\n this._onSpanEnded();\n }\n }\n\n /** @inheritDoc */\n addLink(link) {\n if (this._links) {\n this._links.push(link);\n } else {\n this._links = [link];\n }\n return this;\n }\n\n /** @inheritDoc */\n addLinks(links) {\n if (this._links) {\n this._links.push(...links);\n } else {\n this._links = links;\n }\n return this;\n }\n\n /**\n * This should generally not be used,\n * but it is needed for being compliant with the OTEL Span interface.\n *\n * @hidden\n * @internal\n */\n recordException(_exception, _time) {\n // noop\n }\n\n /** @inheritdoc */\n spanContext() {\n const { _spanId: spanId, _traceId: traceId, _sampled: sampled } = this;\n return {\n spanId,\n traceId,\n traceFlags: sampled ? TRACE_FLAG_SAMPLED : TRACE_FLAG_NONE,\n };\n }\n\n /** @inheritdoc */\n setAttribute(key, value) {\n if (value === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._attributes[key];\n } else {\n this._attributes[key] = value;\n }\n\n return this;\n }\n\n /** @inheritdoc */\n setAttributes(attributes) {\n Object.keys(attributes).forEach(key => this.setAttribute(key, attributes[key]));\n return this;\n }\n\n /**\n * This should generally not be used,\n * but we need it for browser tracing where we want to adjust the start time afterwards.\n * USE THIS WITH CAUTION!\n *\n * @hidden\n * @internal\n */\n updateStartTime(timeInput) {\n this._startTime = spanTimeInputToSeconds(timeInput);\n }\n\n /**\n * @inheritDoc\n */\n setStatus(value) {\n this._status = value;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n updateName(name) {\n this._name = name;\n this.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'custom');\n return this;\n }\n\n /** @inheritdoc */\n end(endTimestamp) {\n // If already ended, skip\n if (this._endTime) {\n return;\n }\n\n this._endTime = spanTimeInputToSeconds(endTimestamp);\n logSpanEnd(this);\n\n this._onSpanEnded();\n }\n\n /**\n * Get JSON representation of this span.\n *\n * @hidden\n * @internal This method is purely for internal purposes and should not be used outside\n * of SDK code. If you need to get a JSON representation of a span,\n * use `spanToJSON(span)` instead.\n */\n getSpanJSON() {\n return dropUndefinedKeys({\n data: this._attributes,\n description: this._name,\n op: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n parent_span_id: this._parentSpanId,\n span_id: this._spanId,\n start_timestamp: this._startTime,\n status: getStatusMessage(this._status),\n timestamp: this._endTime,\n trace_id: this._traceId,\n origin: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] ,\n profile_id: this._attributes[SEMANTIC_ATTRIBUTE_PROFILE_ID] ,\n exclusive_time: this._attributes[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME] ,\n measurements: timedEventsToMeasurements(this._events),\n is_segment: (this._isStandaloneSpan && getRootSpan(this) === this) || undefined,\n segment_id: this._isStandaloneSpan ? getRootSpan(this).spanContext().spanId : undefined,\n links: convertSpanLinksForEnvelope(this._links),\n });\n }\n\n /** @inheritdoc */\n isRecording() {\n return !this._endTime && !!this._sampled;\n }\n\n /**\n * @inheritdoc\n */\n addEvent(\n name,\n attributesOrStartTime,\n startTime,\n ) {\n DEBUG_BUILD && logger.log('[Tracing] Adding an event to span:', name);\n\n const time = isSpanTimeInput(attributesOrStartTime) ? attributesOrStartTime : startTime || timestampInSeconds();\n const attributes = isSpanTimeInput(attributesOrStartTime) ? {} : attributesOrStartTime || {};\n\n const event = {\n name,\n time: spanTimeInputToSeconds(time),\n attributes,\n };\n\n this._events.push(event);\n\n return this;\n }\n\n /**\n * This method should generally not be used,\n * but for now we need a way to publicly check if the `_isStandaloneSpan` flag is set.\n * USE THIS WITH CAUTION!\n * @internal\n * @hidden\n * @experimental\n */\n isStandaloneSpan() {\n return !!this._isStandaloneSpan;\n }\n\n /** Emit `spanEnd` when the span is ended. */\n _onSpanEnded() {\n const client = getClient();\n if (client) {\n client.emit('spanEnd', this);\n }\n\n // A segment span is basically the root span of a local span tree.\n // So for now, this is either what we previously refer to as the root span,\n // or a standalone span.\n const isSegmentSpan = this._isStandaloneSpan || this === getRootSpan(this);\n\n if (!isSegmentSpan) {\n return;\n }\n\n // if this is a standalone span, we send it immediately\n if (this._isStandaloneSpan) {\n if (this._sampled) {\n sendSpanEnvelope(createSpanEnvelope([this], client));\n } else {\n DEBUG_BUILD &&\n logger.log('[Tracing] Discarding standalone span because its trace was not chosen to be sampled.');\n if (client) {\n client.recordDroppedEvent('sample_rate', 'span');\n }\n }\n return;\n }\n\n const transactionEvent = this._convertSpanToTransaction();\n if (transactionEvent) {\n const scope = getCapturedScopesOnSpan(this).scope || getCurrentScope();\n scope.captureEvent(transactionEvent);\n }\n }\n\n /**\n * Finish the transaction & prepare the event to send to Sentry.\n */\n _convertSpanToTransaction() {\n // We can only convert finished spans\n if (!isFullFinishedSpan(spanToJSON(this))) {\n return undefined;\n }\n\n if (!this._name) {\n DEBUG_BUILD && logger.warn('Transaction has no name, falling back to `<unlabeled transaction>`.');\n this._name = '<unlabeled transaction>';\n }\n\n const { scope: capturedSpanScope, isolationScope: capturedSpanIsolationScope } = getCapturedScopesOnSpan(this);\n\n if (this._sampled !== true) {\n return undefined;\n }\n\n // The transaction span itself as well as any potential standalone spans should be filtered out\n const finishedSpans = getSpanDescendants(this).filter(span => span !== this && !isStandaloneSpan(span));\n\n const spans = finishedSpans.map(span => spanToJSON(span)).filter(isFullFinishedSpan);\n\n const source = this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] ;\n\n // remove internal root span attributes we don't need to send.\n /* eslint-disable @typescript-eslint/no-dynamic-delete */\n delete this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n spans.forEach(span => {\n delete span.data[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n });\n // eslint-enabled-next-line @typescript-eslint/no-dynamic-delete\n\n const transaction = {\n contexts: {\n trace: spanToTransactionTraceContext(this),\n },\n spans:\n // spans.sort() mutates the array, but `spans` is already a copy so we can safely do this here\n // we do not use spans anymore after this point\n spans.length > MAX_SPAN_COUNT\n ? spans.sort((a, b) => a.start_timestamp - b.start_timestamp).slice(0, MAX_SPAN_COUNT)\n : spans,\n start_timestamp: this._startTime,\n timestamp: this._endTime,\n transaction: this._name,\n type: 'transaction',\n sdkProcessingMetadata: {\n capturedSpanScope,\n capturedSpanIsolationScope,\n ...dropUndefinedKeys({\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(this),\n }),\n },\n ...(source && {\n transaction_info: {\n source,\n },\n }),\n };\n\n const measurements = timedEventsToMeasurements(this._events);\n const hasMeasurements = measurements && Object.keys(measurements).length;\n\n if (hasMeasurements) {\n DEBUG_BUILD &&\n logger.log(\n '[Measurements] Adding measurements to transaction event',\n JSON.stringify(measurements, undefined, 2),\n );\n transaction.measurements = measurements;\n }\n\n return transaction;\n }\n}\n\nfunction isSpanTimeInput(value) {\n return (value && typeof value === 'number') || value instanceof Date || Array.isArray(value);\n}\n\n// We want to filter out any incomplete SpanJSON objects\nfunction isFullFinishedSpan(input) {\n return !!input.start_timestamp && !!input.timestamp && !!input.span_id && !!input.trace_id;\n}\n\n/** `SentrySpan`s can be sent as a standalone span rather than belonging to a transaction */\nfunction isStandaloneSpan(span) {\n return span instanceof SentrySpan && span.isStandaloneSpan();\n}\n\n/**\n * Sends a `SpanEnvelope`.\n *\n * Note: If the envelope's spans are dropped, e.g. via `beforeSendSpan`,\n * the envelope will not be sent either.\n */\nfunction sendSpanEnvelope(envelope) {\n const client = getClient();\n if (!client) {\n return;\n }\n\n const spanItems = envelope[1];\n if (!spanItems || spanItems.length === 0) {\n client.recordDroppedEvent('before_send', 'span');\n return;\n }\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n client.sendEnvelope(envelope);\n}\n\nexport { SentrySpan };\n//# sourceMappingURL=sentrySpan.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { spanToJSON, getRootSpan, spanIsSampled } from '../utils/spanUtils.js';\n\n/**\n * Print a log message for a started span.\n */\nfunction logSpanStart(span) {\n if (!DEBUG_BUILD) return;\n\n const { description = '< unknown name >', op = '< unknown op >', parent_span_id: parentSpanId } = spanToJSON(span);\n const { spanId } = span.spanContext();\n\n const sampled = spanIsSampled(span);\n const rootSpan = getRootSpan(span);\n const isRootSpan = rootSpan === span;\n\n const header = `[Tracing] Starting ${sampled ? 'sampled' : 'unsampled'} ${isRootSpan ? 'root ' : ''}span`;\n\n const infoParts = [`op: ${op}`, `name: ${description}`, `ID: ${spanId}`];\n\n if (parentSpanId) {\n infoParts.push(`parent ID: ${parentSpanId}`);\n }\n\n if (!isRootSpan) {\n const { op, description } = spanToJSON(rootSpan);\n infoParts.push(`root ID: ${rootSpan.spanContext().spanId}`);\n if (op) {\n infoParts.push(`root op: ${op}`);\n }\n if (description) {\n infoParts.push(`root description: ${description}`);\n }\n }\n\n logger.log(`${header}\n ${infoParts.join('\\n ')}`);\n}\n\n/**\n * Print a log message for an ended span.\n */\nfunction logSpanEnd(span) {\n if (!DEBUG_BUILD) return;\n\n const { description = '< unknown name >', op = '< unknown op >' } = spanToJSON(span);\n const { spanId } = span.spanContext();\n const rootSpan = getRootSpan(span);\n const isRootSpan = rootSpan === span;\n\n const msg = `[Tracing] Finishing \"${op}\" ${isRootSpan ? 'root ' : ''}span \"${description}\" with ID ${spanId}`;\n logger.log(msg);\n}\n\nexport { logSpanEnd, logSpanStart };\n//# sourceMappingURL=logSpans.js.map\n","import { getMainCarrier } from '../carrier.js';\nimport { withScope, getCurrentScope, getClient, getIsolationScope } from '../currentScopes.js';\nimport { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { generateTraceId } from '../utils-hoist/propagationContext.js';\nimport { propagationContextFromHeaders } from '../utils-hoist/tracing.js';\nimport { handleCallbackErrors } from '../utils/handleCallbackErrors.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\nimport { _setSpanForScope, _getSpanForScope } from '../utils/spanOnScope.js';\nimport { spanToJSON, spanTimeInputToSeconds, getRootSpan, addChildSpanToSpan, spanIsSampled } from '../utils/spanUtils.js';\nimport { getDynamicSamplingContextFromSpan, freezeDscOnSpan } from './dynamicSamplingContext.js';\nimport { logSpanStart } from './logSpans.js';\nimport { sampleSpan } from './sampling.js';\nimport { SentryNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SentrySpan } from './sentrySpan.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { setCapturedScopesOnSpan } from './utils.js';\n\nconst SUPPRESS_TRACING_KEY = '__SENTRY_SUPPRESS_TRACING__';\n\n/**\n * Wraps a function with a transaction/span and finishes the span after the function is done.\n * The created span is the active span and will be used as parent by other spans created inside the function\n * and can be accessed via `Sentry.getActiveSpan()`, as long as the function is executed while the scope is active.\n *\n * If you want to create a span that is not set as active, use {@link startInactiveSpan}.\n *\n * You'll always get a span passed to the callback,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startSpan(options, callback) {\n const acs = getAcs();\n if (acs.startSpan) {\n return acs.startSpan(options, callback);\n }\n\n const spanArguments = parseSentrySpanArguments(options);\n const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n\n // We still need to fork a potentially passed scope, as we set the active span on it\n // and we need to ensure that it is cleaned up properly once the span ends.\n const customForkedScope = customScope?.clone();\n\n return withScope(customForkedScope, () => {\n // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n const wrapper = getActiveSpanWrapper(customParentSpan);\n\n return wrapper(() => {\n const scope = getCurrentScope();\n const parentSpan = getParentSpan(scope);\n\n const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n const activeSpan = shouldSkipSpan\n ? new SentryNonRecordingSpan()\n : createChildOrRootSpan({\n parentSpan,\n spanArguments,\n forceTransaction,\n scope,\n });\n\n _setSpanForScope(scope, activeSpan);\n\n return handleCallbackErrors(\n () => callback(activeSpan),\n () => {\n // Only update the span status if it hasn't been changed yet, and the span is not yet finished\n const { status } = spanToJSON(activeSpan);\n if (activeSpan.isRecording() && (!status || status === 'ok')) {\n activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n }\n },\n () => {\n activeSpan.end();\n },\n );\n });\n });\n}\n\n/**\n * Similar to `Sentry.startSpan`. Wraps a function with a transaction/span, but does not finish the span\n * after the function is done automatically. Use `span.end()` to end the span.\n *\n * The created span is the active span and will be used as parent by other spans created inside the function\n * and can be accessed via `Sentry.getActiveSpan()`, as long as the function is executed while the scope is active.\n *\n * You'll always get a span passed to the callback,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startSpanManual(options, callback) {\n const acs = getAcs();\n if (acs.startSpanManual) {\n return acs.startSpanManual(options, callback);\n }\n\n const spanArguments = parseSentrySpanArguments(options);\n const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n\n const customForkedScope = customScope?.clone();\n\n return withScope(customForkedScope, () => {\n // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n const wrapper = getActiveSpanWrapper(customParentSpan);\n\n return wrapper(() => {\n const scope = getCurrentScope();\n const parentSpan = getParentSpan(scope);\n\n const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n const activeSpan = shouldSkipSpan\n ? new SentryNonRecordingSpan()\n : createChildOrRootSpan({\n parentSpan,\n spanArguments,\n forceTransaction,\n scope,\n });\n\n _setSpanForScope(scope, activeSpan);\n\n return handleCallbackErrors(\n // We pass the `finish` function to the callback, so the user can finish the span manually\n // this is mainly here for historic purposes because previously, we instructed users to call\n // `finish` instead of `span.end()` to also clean up the scope. Nowadays, calling `span.end()`\n // or `finish` has the same effect and we simply leave it here to avoid breaking user code.\n () => callback(activeSpan, () => activeSpan.end()),\n () => {\n // Only update the span status if it hasn't been changed yet, and the span is not yet finished\n const { status } = spanToJSON(activeSpan);\n if (activeSpan.isRecording() && (!status || status === 'ok')) {\n activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n }\n },\n );\n });\n });\n}\n\n/**\n * Creates a span. This span is not set as active, so will not get automatic instrumentation spans\n * as children or be able to be accessed via `Sentry.getActiveSpan()`.\n *\n * If you want to create a span that is set as active, use {@link startSpan}.\n *\n * This function will always return a span,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startInactiveSpan(options) {\n const acs = getAcs();\n if (acs.startInactiveSpan) {\n return acs.startInactiveSpan(options);\n }\n\n const spanArguments = parseSentrySpanArguments(options);\n const { forceTransaction, parentSpan: customParentSpan } = options;\n\n // If `options.scope` is defined, we use this as as a wrapper,\n // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n const wrapper = options.scope\n ? (callback) => withScope(options.scope, callback)\n : customParentSpan !== undefined\n ? (callback) => withActiveSpan(customParentSpan, callback)\n : (callback) => callback();\n\n return wrapper(() => {\n const scope = getCurrentScope();\n const parentSpan = getParentSpan(scope);\n\n const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n\n if (shouldSkipSpan) {\n return new SentryNonRecordingSpan();\n }\n\n return createChildOrRootSpan({\n parentSpan,\n spanArguments,\n forceTransaction,\n scope,\n });\n });\n}\n\n/**\n * Continue a trace from `sentry-trace` and `baggage` values.\n * These values can be obtained from incoming request headers, or in the browser from `<meta name=\"sentry-trace\">`\n * and `<meta name=\"baggage\">` HTML tags.\n *\n * Spans started with `startSpan`, `startSpanManual` and `startInactiveSpan`, within the callback will automatically\n * be attached to the incoming trace.\n */\nconst continueTrace = (\n options\n\n,\n callback,\n) => {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.continueTrace) {\n return acs.continueTrace(options, callback);\n }\n\n const { sentryTrace, baggage } = options;\n\n return withScope(scope => {\n const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n scope.setPropagationContext(propagationContext);\n return callback();\n });\n};\n\n/**\n * Forks the current scope and sets the provided span as active span in the context of the provided callback. Can be\n * passed `null` to start an entirely new span tree.\n *\n * @param span Spans started in the context of the provided callback will be children of this span. If `null` is passed,\n * spans started within the callback will not be attached to a parent span.\n * @param callback Execution context in which the provided span will be active. Is passed the newly forked scope.\n * @returns the value returned from the provided callback function.\n */\nfunction withActiveSpan(span, callback) {\n const acs = getAcs();\n if (acs.withActiveSpan) {\n return acs.withActiveSpan(span, callback);\n }\n\n return withScope(scope => {\n _setSpanForScope(scope, span || undefined);\n return callback(scope);\n });\n}\n\n/** Suppress tracing in the given callback, ensuring no spans are generated inside of it. */\nfunction suppressTracing(callback) {\n const acs = getAcs();\n\n if (acs.suppressTracing) {\n return acs.suppressTracing(callback);\n }\n\n return withScope(scope => {\n scope.setSDKProcessingMetadata({ [SUPPRESS_TRACING_KEY]: true });\n return callback();\n });\n}\n\n/**\n * Starts a new trace for the duration of the provided callback. Spans started within the\n * callback will be part of the new trace instead of a potentially previously started trace.\n *\n * Important: Only use this function if you want to override the default trace lifetime and\n * propagation mechanism of the SDK for the duration and scope of the provided callback.\n * The newly created trace will also be the root of a new distributed trace, for example if\n * you make http requests within the callback.\n * This function might be useful if the operation you want to instrument should not be part\n * of a potentially ongoing trace.\n *\n * Default behavior:\n * - Server-side: A new trace is started for each incoming request.\n * - Browser: A new trace is started for each page our route. Navigating to a new route\n * or page will automatically create a new trace.\n */\nfunction startNewTrace(callback) {\n return withScope(scope => {\n scope.setPropagationContext({\n traceId: generateTraceId(),\n sampleRand: Math.random(),\n });\n DEBUG_BUILD && logger.info(`Starting a new trace with id ${scope.getPropagationContext().traceId}`);\n return withActiveSpan(null, callback);\n });\n}\n\nfunction createChildOrRootSpan({\n parentSpan,\n spanArguments,\n forceTransaction,\n scope,\n}\n\n) {\n if (!hasSpansEnabled()) {\n const span = new SentryNonRecordingSpan();\n\n // If this is a root span, we ensure to freeze a DSC\n // So we can have at least partial data here\n if (forceTransaction || !parentSpan) {\n const dsc = {\n sampled: 'false',\n sample_rate: '0',\n transaction: spanArguments.name,\n ...getDynamicSamplingContextFromSpan(span),\n } ;\n freezeDscOnSpan(span, dsc);\n }\n\n return span;\n }\n\n const isolationScope = getIsolationScope();\n\n let span;\n if (parentSpan && !forceTransaction) {\n span = _startChildSpan(parentSpan, scope, spanArguments);\n addChildSpanToSpan(parentSpan, span);\n } else if (parentSpan) {\n // If we forced a transaction but have a parent span, make sure to continue from the parent span, not the scope\n const dsc = getDynamicSamplingContextFromSpan(parentSpan);\n const { traceId, spanId: parentSpanId } = parentSpan.spanContext();\n const parentSampled = spanIsSampled(parentSpan);\n\n span = _startRootSpan(\n {\n traceId,\n parentSpanId,\n ...spanArguments,\n },\n scope,\n parentSampled,\n );\n\n freezeDscOnSpan(span, dsc);\n } else {\n const {\n traceId,\n dsc,\n parentSpanId,\n sampled: parentSampled,\n } = {\n ...isolationScope.getPropagationContext(),\n ...scope.getPropagationContext(),\n };\n\n span = _startRootSpan(\n {\n traceId,\n parentSpanId,\n ...spanArguments,\n },\n scope,\n parentSampled,\n );\n\n if (dsc) {\n freezeDscOnSpan(span, dsc);\n }\n }\n\n logSpanStart(span);\n\n setCapturedScopesOnSpan(span, scope, isolationScope);\n\n return span;\n}\n\n/**\n * This converts StartSpanOptions to SentrySpanArguments.\n * For the most part (for now) we accept the same options,\n * but some of them need to be transformed.\n */\nfunction parseSentrySpanArguments(options) {\n const exp = options.experimental || {};\n const initialCtx = {\n isStandalone: exp.standalone,\n ...options,\n };\n\n if (options.startTime) {\n const ctx = { ...initialCtx };\n ctx.startTimestamp = spanTimeInputToSeconds(options.startTime);\n delete ctx.startTime;\n return ctx;\n }\n\n return initialCtx;\n}\n\nfunction getAcs() {\n const carrier = getMainCarrier();\n return getAsyncContextStrategy(carrier);\n}\n\nfunction _startRootSpan(spanArguments, scope, parentSampled) {\n const client = getClient();\n const options = client?.getOptions() || {};\n\n const { name = '', attributes } = spanArguments;\n const currentPropagationContext = scope.getPropagationContext();\n const [sampled, sampleRate, localSampleRateWasApplied] = scope.getScopeData().sdkProcessingMetadata[\n SUPPRESS_TRACING_KEY\n ]\n ? [false]\n : sampleSpan(\n options,\n {\n name,\n parentSampled,\n attributes,\n parentSampleRate: parseSampleRate(currentPropagationContext.dsc?.sample_rate),\n },\n currentPropagationContext.sampleRand,\n );\n\n const rootSpan = new SentrySpan({\n ...spanArguments,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'custom',\n [SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]:\n sampleRate !== undefined && localSampleRateWasApplied ? sampleRate : undefined,\n ...spanArguments.attributes,\n },\n sampled,\n });\n\n if (!sampled && client) {\n DEBUG_BUILD && logger.log('[Tracing] Discarding root span because its trace was not chosen to be sampled.');\n client.recordDroppedEvent('sample_rate', 'transaction');\n }\n\n if (client) {\n client.emit('spanStart', rootSpan);\n }\n\n return rootSpan;\n}\n\n/**\n * Creates a new `Span` while setting the current `Span.id` as `parentSpanId`.\n * This inherits the sampling decision from the parent span.\n */\nfunction _startChildSpan(parentSpan, scope, spanArguments) {\n const { spanId, traceId } = parentSpan.spanContext();\n const sampled = scope.getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] ? false : spanIsSampled(parentSpan);\n\n const childSpan = sampled\n ? new SentrySpan({\n ...spanArguments,\n parentSpanId: spanId,\n traceId,\n sampled,\n })\n : new SentryNonRecordingSpan({ traceId });\n\n addChildSpanToSpan(parentSpan, childSpan);\n\n const client = getClient();\n if (client) {\n client.emit('spanStart', childSpan);\n // If it has an endTimestamp, it's already ended\n if (spanArguments.endTimestamp) {\n client.emit('spanEnd', childSpan);\n }\n }\n\n return childSpan;\n}\n\nfunction getParentSpan(scope) {\n const span = _getSpanForScope(scope) ;\n\n if (!span) {\n return undefined;\n }\n\n const client = getClient();\n const options = client ? client.getOptions() : {};\n if (options.parentSpanIsAlwaysRootSpan) {\n return getRootSpan(span) ;\n }\n\n return span;\n}\n\nfunction getActiveSpanWrapper(parentSpan) {\n return parentSpan !== undefined\n ? (callback) => {\n return withActiveSpan(parentSpan, callback);\n }\n : (callback) => callback();\n}\n\nexport { continueTrace, startInactiveSpan, startNewTrace, startSpan, startSpanManual, suppressTracing, withActiveSpan };\n//# sourceMappingURL=trace.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\n\n/**\n * Makes a sampling decision for the given options.\n *\n * Called every time a root span is created. Only root spans which emerge with a `sampled` value of `true` will be\n * sent to Sentry.\n */\nfunction sampleSpan(\n options,\n samplingContext,\n sampleRand,\n) {\n // nothing to do if span recording is not enabled\n if (!hasSpansEnabled(options)) {\n return [false];\n }\n\n let localSampleRateWasApplied = undefined;\n\n // we would have bailed already if neither `tracesSampler` nor `tracesSampleRate` were defined, so one of these should\n // work; prefer the hook if so\n let sampleRate;\n if (typeof options.tracesSampler === 'function') {\n sampleRate = options.tracesSampler({\n ...samplingContext,\n inheritOrSampleWith: fallbackSampleRate => {\n // If we have an incoming parent sample rate, we'll just use that one.\n // The sampling decision will be inherited because of the sample_rand that was generated when the trace reached the incoming boundaries of the SDK.\n if (typeof samplingContext.parentSampleRate === 'number') {\n return samplingContext.parentSampleRate;\n }\n\n // Fallback if parent sample rate is not on the incoming trace (e.g. if there is no baggage)\n // This is to provide backwards compatibility if there are incoming traces from older SDKs that don't send a parent sample rate or a sample rand. In these cases we just want to force either a sampling decision on the downstream traces via the sample rate.\n if (typeof samplingContext.parentSampled === 'boolean') {\n return Number(samplingContext.parentSampled);\n }\n\n return fallbackSampleRate;\n },\n });\n localSampleRateWasApplied = true;\n } else if (samplingContext.parentSampled !== undefined) {\n sampleRate = samplingContext.parentSampled;\n } else if (typeof options.tracesSampleRate !== 'undefined') {\n sampleRate = options.tracesSampleRate;\n localSampleRateWasApplied = true;\n }\n\n // Since this is coming from the user (or from a function provided by the user), who knows what we might get.\n // (The only valid values are booleans or numbers between 0 and 1.)\n const parsedSampleRate = parseSampleRate(sampleRate);\n\n if (parsedSampleRate === undefined) {\n DEBUG_BUILD &&\n logger.warn(\n `[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n sampleRate,\n )} of type ${JSON.stringify(typeof sampleRate)}.`,\n );\n return [false];\n }\n\n // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n if (!parsedSampleRate) {\n DEBUG_BUILD &&\n logger.log(\n `[Tracing] Discarding transaction because ${\n typeof options.tracesSampler === 'function'\n ? 'tracesSampler returned 0 or false'\n : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'\n }`,\n );\n return [false, parsedSampleRate, localSampleRateWasApplied];\n }\n\n // We always compare the sample rand for the current execution context against the chosen sample rate.\n // Read more: https://develop.sentry.dev/sdk/telemetry/traces/#propagated-random-value\n const shouldSample = sampleRand < parsedSampleRate;\n\n // if we're not going to keep it, we're done\n if (!shouldSample) {\n DEBUG_BUILD &&\n logger.log(\n `[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(\n sampleRate,\n )})`,\n );\n }\n\n return [shouldSample, parsedSampleRate, localSampleRateWasApplied];\n}\n\nexport { sampleSpan };\n//# sourceMappingURL=sampling.js.map\n","import { spanToJSON, withActiveSpan, startInactiveSpan, getClient, getCurrentScope } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\n/**\n * Checks if a given value is a valid measurement value.\n */\nfunction isMeasurementValue(value) {\n return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\nfunction startAndEndSpan(\n parentSpan,\n startTimeInSeconds,\n endTime,\n { ...ctx },\n) {\n const parentStartTime = spanToJSON(parentSpan).start_timestamp;\n if (parentStartTime && parentStartTime > startTimeInSeconds) {\n // We can only do this for SentrySpans...\n if (typeof (parentSpan ).updateStartTime === 'function') {\n (parentSpan ).updateStartTime(startTimeInSeconds);\n }\n }\n\n // The return value only exists for tests\n return withActiveSpan(parentSpan, () => {\n const span = startInactiveSpan({\n startTime: startTimeInSeconds,\n ...ctx,\n });\n\n if (span) {\n span.end(endTime);\n }\n\n return span;\n });\n}\n\n/**\n * Starts an inactive, standalone span used to send web vital values to Sentry.\n * DO NOT use this for arbitrary spans, as these spans require special handling\n * during ingestion to extract metrics.\n *\n * This function adds a bunch of attributes and data to the span that's shared\n * by all web vital standalone spans. However, you need to take care of adding\n * the actual web vital value as an event to the span. Also, you need to assign\n * a transaction name and some other values that are specific to the web vital.\n *\n * Ultimately, you also need to take care of ending the span to send it off.\n *\n * @param options\n *\n * @returns an inactive, standalone and NOT YET ended span\n */\nfunction startStandaloneWebVitalSpan(options) {\n const client = getClient();\n if (!client) {\n return;\n }\n\n const { name, transaction, attributes: passedAttributes, startTime } = options;\n\n const { release, environment, sendDefaultPii } = client.getOptions();\n // We need to get the replay, user, and activeTransaction from the current scope\n // so that we can associate replay id, profile id, and a user display to the span\n const replay = client.getIntegrationByName('Replay');\n const replayId = replay?.getReplayId();\n\n const scope = getCurrentScope();\n\n const user = scope.getUser();\n const userDisplay = user !== undefined ? user.email || user.id || user.ip_address : undefined;\n\n let profileId;\n try {\n // @ts-expect-error skip optional chaining to save bundle size with try catch\n profileId = scope.getScopeData().contexts.profile.profile_id;\n } catch {\n // do nothing\n }\n\n const attributes = {\n release,\n environment,\n\n user: userDisplay || undefined,\n profile_id: profileId || undefined,\n replay_id: replayId || undefined,\n\n transaction,\n\n // Web vital score calculation relies on the user agent to account for different\n // browsers setting different thresholds for what is considered a good/meh/bad value.\n // For example: Chrome vs. Chrome Mobile\n 'user_agent.original': WINDOW.navigator?.userAgent,\n\n // This tells Sentry to infer the IP address from the request\n 'client.address': sendDefaultPii ? '{{auto}}' : undefined,\n\n ...passedAttributes,\n };\n\n return startInactiveSpan({\n name,\n attributes,\n startTime,\n experimental: {\n standalone: true,\n },\n });\n}\n\n/** Get the browser performance API. */\nfunction getBrowserPerformanceAPI() {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n return WINDOW.addEventListener && WINDOW.performance;\n}\n\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\nfunction msToSec(time) {\n return time / 1000;\n}\n\n/**\n * Converts ALPN protocol ids to name and version.\n *\n * (https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)\n * @param nextHopProtocol PerformanceResourceTiming.nextHopProtocol\n */\nfunction extractNetworkProtocol(nextHopProtocol) {\n let name = 'unknown';\n let version = 'unknown';\n let _name = '';\n for (const char of nextHopProtocol) {\n // http/1.1 etc.\n if (char === '/') {\n [name, version] = nextHopProtocol.split('/') ;\n break;\n }\n // h2, h3 etc.\n if (!isNaN(Number(char))) {\n name = _name === 'h' ? 'http' : _name;\n version = nextHopProtocol.split(_name)[1] ;\n break;\n }\n _name += char;\n }\n if (_name === nextHopProtocol) {\n // webrtc, ftp, etc.\n name = _name;\n }\n return { name, version };\n}\n\nexport { extractNetworkProtocol, getBrowserPerformanceAPI, isMeasurementValue, msToSec, startAndEndSpan, startStandaloneWebVitalSpan };\n//# sourceMappingURL=utils.js.map\n","import { getClient, getActiveSpan, getRootSpan, spanToJSON, logger, browserPerformanceTimeOrigin, getCurrentScope, htmlTreeAsString, dropUndefinedKeys, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { addClsInstrumentationHandler } from './instrument.js';\nimport { msToSec, startStandaloneWebVitalSpan } from './utils.js';\nimport { onHidden } from './web-vitals/lib/onHidden.js';\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value once\n *\n * - the page visibility is hidden\n * - a navigation span is started (to stop CLS measurement for SPA soft navigations)\n *\n * Once either of these events triggers, the CLS value is sent as a standalone span and we stop\n * measuring CLS.\n */\nfunction trackClsAsStandaloneSpan() {\n let standaloneCLsValue = 0;\n let standaloneClsEntry;\n let pageloadSpanId;\n\n if (!supportsLayoutShift()) {\n return;\n }\n\n let sentSpan = false;\n function _collectClsOnce() {\n if (sentSpan) {\n return;\n }\n sentSpan = true;\n if (pageloadSpanId) {\n sendStandaloneClsSpan(standaloneCLsValue, standaloneClsEntry, pageloadSpanId);\n }\n cleanupClsHandler();\n }\n\n const cleanupClsHandler = addClsInstrumentationHandler(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1] ;\n if (!entry) {\n return;\n }\n standaloneCLsValue = metric.value;\n standaloneClsEntry = entry;\n }, true);\n\n // use pagehide event from web-vitals\n onHidden(() => {\n _collectClsOnce();\n });\n\n // Since the call chain of this function is synchronous and evaluates before the SDK client is created,\n // we need to wait with subscribing to a client hook until the client is created. Therefore, we defer\n // to the next tick after the SDK setup.\n setTimeout(() => {\n const client = getClient();\n\n if (!client) {\n return;\n }\n\n const unsubscribeStartNavigation = client.on('startNavigationSpan', () => {\n _collectClsOnce();\n unsubscribeStartNavigation?.();\n });\n\n const activeSpan = getActiveSpan();\n if (activeSpan) {\n const rootSpan = getRootSpan(activeSpan);\n const spanJSON = spanToJSON(rootSpan);\n if (spanJSON.op === 'pageload') {\n pageloadSpanId = rootSpan.spanContext().spanId;\n }\n }\n }, 0);\n}\n\nfunction sendStandaloneClsSpan(clsValue, entry, pageloadSpanId) {\n DEBUG_BUILD && logger.log(`Sending CLS span (${clsValue})`);\n\n const startTime = msToSec((browserPerformanceTimeOrigin() || 0) + (entry?.startTime || 0));\n const routeName = getCurrentScope().getScopeData().transactionName;\n\n const name = entry ? htmlTreeAsString(entry.sources[0]?.node) : 'Layout shift';\n\n const attributes = dropUndefinedKeys({\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.cls',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.webvital.cls',\n [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry?.duration || 0,\n // attach the pageload span id to the CLS span so that we can link them in the UI\n 'sentry.pageload.span_id': pageloadSpanId,\n });\n\n const span = startStandaloneWebVitalSpan({\n name,\n transaction: routeName,\n attributes,\n startTime,\n });\n\n if (span) {\n span.addEvent('cls', {\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: '',\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: clsValue,\n });\n\n // LayoutShift performance entries always have a duration of 0, so we don't need to add `entry.duration` here\n // see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry/duration\n span.end(startTime);\n }\n}\n\nfunction supportsLayoutShift() {\n try {\n return PerformanceObserver.supportedEntryTypes.includes('layout-shift');\n } catch {\n return false;\n }\n}\n\nexport { trackClsAsStandaloneSpan };\n//# sourceMappingURL=cls.js.map\n","import { browserPerformanceTimeOrigin, spanToJSON, setMeasurement, getActiveSpan, parseUrl, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, htmlTreeAsString, getComponentName } from '@sentry/core';\nimport { WINDOW } from '../types.js';\nimport { trackClsAsStandaloneSpan } from './cls.js';\nimport { addPerformanceInstrumentationHandler, addFidInstrumentationHandler, addLcpInstrumentationHandler, addTtfbInstrumentationHandler, addClsInstrumentationHandler } from './instrument.js';\nimport { getBrowserPerformanceAPI, msToSec, startAndEndSpan, extractNetworkProtocol, isMeasurementValue } from './utils.js';\nimport { getActivationStart } from './web-vitals/lib/getActivationStart.js';\nimport { getNavigationEntry } from './web-vitals/lib/getNavigationEntry.js';\nimport { getVisibilityWatcher } from './web-vitals/lib/getVisibilityWatcher.js';\n\nconst MAX_INT_AS_BYTES = 2147483647;\n\nlet _performanceCursor = 0;\n\nlet _measurements = {};\nlet _lcpEntry;\nlet _clsEntry;\n\n/**\n * Start tracking web vitals.\n * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.\n *\n * @returns A function that forces web vitals collection\n */\nfunction startTrackingWebVitals({ recordClsStandaloneSpans }) {\n const performance = getBrowserPerformanceAPI();\n if (performance && browserPerformanceTimeOrigin()) {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n if (performance.mark) {\n WINDOW.performance.mark('sentry-tracing-init');\n }\n const fidCleanupCallback = _trackFID();\n const lcpCleanupCallback = _trackLCP();\n const ttfbCleanupCallback = _trackTtfb();\n const clsCleanupCallback = recordClsStandaloneSpans ? trackClsAsStandaloneSpan() : _trackCLS();\n\n return () => {\n fidCleanupCallback();\n lcpCleanupCallback();\n ttfbCleanupCallback();\n clsCleanupCallback?.();\n };\n }\n\n return () => undefined;\n}\n\n/**\n * Start tracking long tasks.\n */\nfunction startTrackingLongTasks() {\n addPerformanceInstrumentationHandler('longtask', ({ entries }) => {\n const parent = getActiveSpan();\n if (!parent) {\n return;\n }\n\n const { op: parentOp, start_timestamp: parentStartTimestamp } = spanToJSON(parent);\n\n for (const entry of entries) {\n const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n const duration = msToSec(entry.duration);\n\n if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n // Skip adding a span if the long task started before the navigation started.\n // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n // time, potentially skewing the duration of the actual navigation as reported via our\n // routing instrumentations\n continue;\n }\n\n startAndEndSpan(parent, startTime, startTime + duration, {\n name: 'Main UI thread blocked',\n op: 'ui.long-task',\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n }\n });\n}\n\n/**\n * Start tracking long animation frames.\n */\nfunction startTrackingLongAnimationFrames() {\n // NOTE: the current web-vitals version (3.5.2) does not support long-animation-frame, so\n // we directly observe `long-animation-frame` events instead of through the web-vitals\n // `observe` helper function.\n const observer = new PerformanceObserver(list => {\n const parent = getActiveSpan();\n if (!parent) {\n return;\n }\n for (const entry of list.getEntries() ) {\n if (!entry.scripts[0]) {\n continue;\n }\n\n const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n\n const { start_timestamp: parentStartTimestamp, op: parentOp } = spanToJSON(parent);\n\n if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n // Skip adding the span if the long animation frame started before the navigation started.\n // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n // time, potentially skewing the duration of the actual navigation as reported via our\n // routing instrumentations\n continue;\n }\n const duration = msToSec(entry.duration);\n\n const attributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n };\n\n const initialScript = entry.scripts[0];\n const { invoker, invokerType, sourceURL, sourceFunctionName, sourceCharPosition } = initialScript;\n attributes['browser.script.invoker'] = invoker;\n attributes['browser.script.invoker_type'] = invokerType;\n if (sourceURL) {\n attributes['code.filepath'] = sourceURL;\n }\n if (sourceFunctionName) {\n attributes['code.function'] = sourceFunctionName;\n }\n if (sourceCharPosition !== -1) {\n attributes['browser.script.source_char_position'] = sourceCharPosition;\n }\n\n startAndEndSpan(parent, startTime, startTime + duration, {\n name: 'Main UI thread blocked',\n op: 'ui.long-animation-frame',\n attributes,\n });\n }\n });\n\n observer.observe({ type: 'long-animation-frame', buffered: true });\n}\n\n/**\n * Start tracking interaction events.\n */\nfunction startTrackingInteractions() {\n addPerformanceInstrumentationHandler('event', ({ entries }) => {\n const parent = getActiveSpan();\n if (!parent) {\n return;\n }\n for (const entry of entries) {\n if (entry.name === 'click') {\n const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n const duration = msToSec(entry.duration);\n\n const spanOptions = {\n name: htmlTreeAsString(entry.target),\n op: `ui.interaction.${entry.name}`,\n startTime: startTime,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n };\n\n const componentName = getComponentName(entry.target);\n if (componentName) {\n spanOptions.attributes['ui.component_name'] = componentName;\n }\n\n startAndEndSpan(parent, startTime, startTime + duration, spanOptions);\n }\n }\n });\n}\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value and last entry\n * to the `_measurements` object which ultimately is applied to the pageload span's measurements.\n */\nfunction _trackCLS() {\n return addClsInstrumentationHandler(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1] ;\n if (!entry) {\n return;\n }\n _measurements['cls'] = { value: metric.value, unit: '' };\n _clsEntry = entry;\n }, true);\n}\n\n/** Starts tracking the Largest Contentful Paint on the current page. */\nfunction _trackLCP() {\n return addLcpInstrumentationHandler(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1];\n if (!entry) {\n return;\n }\n\n _measurements['lcp'] = { value: metric.value, unit: 'millisecond' };\n _lcpEntry = entry ;\n }, true);\n}\n\n/** Starts tracking the First Input Delay on the current page. */\nfunction _trackFID() {\n return addFidInstrumentationHandler(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1];\n if (!entry) {\n return;\n }\n\n const timeOrigin = msToSec(browserPerformanceTimeOrigin() );\n const startTime = msToSec(entry.startTime);\n _measurements['fid'] = { value: metric.value, unit: 'millisecond' };\n _measurements['mark.fid'] = { value: timeOrigin + startTime, unit: 'second' };\n });\n}\n\nfunction _trackTtfb() {\n return addTtfbInstrumentationHandler(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1];\n if (!entry) {\n return;\n }\n\n _measurements['ttfb'] = { value: metric.value, unit: 'millisecond' };\n });\n}\n\n/** Add performance related spans to a transaction */\nfunction addPerformanceEntries(span, options) {\n const performance = getBrowserPerformanceAPI();\n const origin = browserPerformanceTimeOrigin();\n if (!performance?.getEntries || !origin) {\n // Gatekeeper if performance API not available\n return;\n }\n\n const timeOrigin = msToSec(origin);\n\n const performanceEntries = performance.getEntries();\n\n const { op, start_timestamp: transactionStartTime } = spanToJSON(span);\n\n performanceEntries.slice(_performanceCursor).forEach(entry => {\n const startTime = msToSec(entry.startTime);\n const duration = msToSec(\n // Inexplicably, Chrome sometimes emits a negative duration. We need to work around this.\n // There is a SO post attempting to explain this, but it leaves one with open questions: https://stackoverflow.com/questions/23191918/peformance-getentries-and-negative-duration-display\n // The way we clamp the value is probably not accurate, since we have observed this happen for things that may take a while to load, like for example the replay worker.\n // TODO: Investigate why this happens and how to properly mitigate. For now, this is a workaround to prevent transactions being dropped due to negative duration spans.\n Math.max(0, entry.duration),\n );\n\n if (op === 'navigation' && transactionStartTime && timeOrigin + startTime < transactionStartTime) {\n return;\n }\n\n switch (entry.entryType) {\n case 'navigation': {\n _addNavigationSpans(span, entry , timeOrigin);\n break;\n }\n case 'mark':\n case 'paint':\n case 'measure': {\n _addMeasureSpans(span, entry, startTime, duration, timeOrigin);\n\n // capture web vitals\n const firstHidden = getVisibilityWatcher();\n // Only report if the page wasn't hidden prior to the web vital.\n const shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n\n if (entry.name === 'first-paint' && shouldRecord) {\n _measurements['fp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n _measurements['fcp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n break;\n }\n case 'resource': {\n _addResourceSpans(span, entry , entry.name, startTime, duration, timeOrigin);\n break;\n }\n // Ignore other entry types.\n }\n });\n\n _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n\n _trackNavigator(span);\n\n // Measurements are only available for pageload transactions\n if (op === 'pageload') {\n _addTtfbRequestTimeToMeasurements(_measurements);\n\n const fidMark = _measurements['mark.fid'];\n if (fidMark && _measurements['fid']) {\n // create span for FID\n startAndEndSpan(span, fidMark.value, fidMark.value + msToSec(_measurements['fid'].value), {\n name: 'first input delay',\n op: 'ui.action',\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n\n // Delete mark.fid as we don't want it to be part of final payload\n delete _measurements['mark.fid'];\n }\n\n // If FCP is not recorded we should not record the cls value\n // according to the new definition of CLS.\n // TODO: Check if the first condition is still necessary: `onCLS` already only fires once `onFCP` was called.\n if (!('fcp' in _measurements) || !options.recordClsOnPageloadSpan) {\n delete _measurements.cls;\n }\n\n Object.entries(_measurements).forEach(([measurementName, measurement]) => {\n setMeasurement(measurementName, measurement.value, measurement.unit);\n });\n\n // Set timeOrigin which denotes the timestamp which to base the LCP/FCP/FP/TTFB measurements on\n span.setAttribute('performance.timeOrigin', timeOrigin);\n\n // In prerendering scenarios, where a page might be prefetched and pre-rendered before the user clicks the link,\n // the navigation starts earlier than when the user clicks it. Web Vitals should always be based on the\n // user-perceived time, so they are not reported from the actual start of the navigation, but rather from the\n // time where the user actively started the navigation, for example by clicking a link.\n // This is user action is called \"activation\" and the time between navigation and activation is stored in\n // the `activationStart` attribute of the \"navigation\" PerformanceEntry.\n span.setAttribute('performance.activationStart', getActivationStart());\n\n _setWebVitalAttributes(span);\n }\n\n _lcpEntry = undefined;\n _clsEntry = undefined;\n _measurements = {};\n}\n\n/**\n * Create measure related spans.\n * Exported only for tests.\n */\nfunction _addMeasureSpans(\n span,\n entry,\n startTime,\n duration,\n timeOrigin,\n) {\n const navEntry = getNavigationEntry(false);\n const requestTime = msToSec(navEntry ? navEntry.requestStart : 0);\n // Because performance.measure accepts arbitrary timestamps it can produce\n // spans that happen before the browser even makes a request for the page.\n //\n // An example of this is the automatically generated Next.js-before-hydration\n // spans created by the Next.js framework.\n //\n // To prevent this we will pin the start timestamp to the request start time\n // This does make duration inaccurate, so if this does happen, we will add\n // an attribute to the span\n const measureStartTimestamp = timeOrigin + Math.max(startTime, requestTime);\n const startTimeStamp = timeOrigin + startTime;\n const measureEndTimestamp = startTimeStamp + duration;\n\n const attributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n };\n\n if (measureStartTimestamp !== startTimeStamp) {\n attributes['sentry.browser.measure_happened_before_request'] = true;\n attributes['sentry.browser.measure_start_time'] = measureStartTimestamp;\n }\n\n // Measurements from third parties can be off, which would create invalid spans, dropping transactions in the process.\n if (measureStartTimestamp <= measureEndTimestamp) {\n startAndEndSpan(span, measureStartTimestamp, measureEndTimestamp, {\n name: entry.name ,\n op: entry.entryType ,\n attributes,\n });\n }\n}\n\n/** Instrument navigation entries */\nfunction _addNavigationSpans(span, entry, timeOrigin) {\n (['unloadEvent', 'redirect', 'domContentLoadedEvent', 'loadEvent', 'connect'] ).forEach(event => {\n _addPerformanceNavigationTiming(span, entry, event, timeOrigin);\n });\n _addPerformanceNavigationTiming(span, entry, 'secureConnection', timeOrigin, 'TLS/SSL');\n _addPerformanceNavigationTiming(span, entry, 'fetch', timeOrigin, 'cache');\n _addPerformanceNavigationTiming(span, entry, 'domainLookup', timeOrigin, 'DNS');\n\n _addRequest(span, entry, timeOrigin);\n}\n\n/** Create performance navigation related spans */\nfunction _addPerformanceNavigationTiming(\n span,\n entry,\n event,\n timeOrigin,\n name = event,\n) {\n const eventEnd = _getEndPropertyNameForNavigationTiming(event) ;\n const end = entry[eventEnd];\n const start = entry[`${event}Start`];\n if (!start || !end) {\n return;\n }\n startAndEndSpan(span, timeOrigin + msToSec(start), timeOrigin + msToSec(end), {\n op: `browser.${name}`,\n name: entry.name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n}\n\nfunction _getEndPropertyNameForNavigationTiming(event) {\n if (event === 'secureConnection') {\n return 'connectEnd';\n }\n if (event === 'fetch') {\n return 'domainLookupStart';\n }\n return `${event}End`;\n}\n\n/** Create request and response related spans */\nfunction _addRequest(span, entry, timeOrigin) {\n const requestStartTimestamp = timeOrigin + msToSec(entry.requestStart );\n const responseEndTimestamp = timeOrigin + msToSec(entry.responseEnd );\n const responseStartTimestamp = timeOrigin + msToSec(entry.responseStart );\n if (entry.responseEnd) {\n // It is possible that we are collecting these metrics when the page hasn't finished loading yet, for example when the HTML slowly streams in.\n // In this case, ie. when the document request hasn't finished yet, `entry.responseEnd` will be 0.\n // In order not to produce faulty spans, where the end timestamp is before the start timestamp, we will only collect\n // these spans when the responseEnd value is available. The backend (Relay) would drop the entire span if it contained faulty spans.\n startAndEndSpan(span, requestStartTimestamp, responseEndTimestamp, {\n op: 'browser.request',\n name: entry.name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n\n startAndEndSpan(span, responseStartTimestamp, responseEndTimestamp, {\n op: 'browser.response',\n name: entry.name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n }\n}\n\n/**\n * Create resource-related spans.\n * Exported only for tests.\n */\nfunction _addResourceSpans(\n span,\n entry,\n resourceUrl,\n startTime,\n duration,\n timeOrigin,\n) {\n // we already instrument based on fetch and xhr, so we don't need to\n // duplicate spans here.\n if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n return;\n }\n\n const parsedUrl = parseUrl(resourceUrl);\n\n const attributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n };\n setResourceEntrySizeData(attributes, entry, 'transferSize', 'http.response_transfer_size');\n setResourceEntrySizeData(attributes, entry, 'encodedBodySize', 'http.response_content_length');\n setResourceEntrySizeData(attributes, entry, 'decodedBodySize', 'http.decoded_response_content_length');\n\n // `deliveryType` is experimental and does not exist everywhere\n const deliveryType = (entry ).deliveryType;\n if (deliveryType != null) {\n attributes['http.response_delivery_type'] = deliveryType;\n }\n\n // Types do not reflect this property yet\n const renderBlockingStatus = (entry )\n .renderBlockingStatus;\n if (renderBlockingStatus) {\n attributes['resource.render_blocking_status'] = renderBlockingStatus;\n }\n\n if (parsedUrl.protocol) {\n attributes['url.scheme'] = parsedUrl.protocol.split(':').pop(); // the protocol returned by parseUrl includes a :, but OTEL spec does not, so we remove it.\n }\n\n if (parsedUrl.host) {\n attributes['server.address'] = parsedUrl.host;\n }\n\n attributes['url.same_origin'] = resourceUrl.includes(WINDOW.location.origin);\n\n const { name, version } = extractNetworkProtocol(entry.nextHopProtocol);\n attributes['network.protocol.name'] = name;\n attributes['network.protocol.version'] = version;\n\n const startTimestamp = timeOrigin + startTime;\n const endTimestamp = startTimestamp + duration;\n\n startAndEndSpan(span, startTimestamp, endTimestamp, {\n name: resourceUrl.replace(WINDOW.location.origin, ''),\n op: entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource.other',\n attributes,\n });\n}\n\n/**\n * Capture the information of the user agent.\n */\nfunction _trackNavigator(span) {\n const navigator = WINDOW.navigator ;\n if (!navigator) {\n return;\n }\n\n // track network connectivity\n const connection = navigator.connection;\n if (connection) {\n if (connection.effectiveType) {\n span.setAttribute('effectiveConnectionType', connection.effectiveType);\n }\n\n if (connection.type) {\n span.setAttribute('connectionType', connection.type);\n }\n\n if (isMeasurementValue(connection.rtt)) {\n _measurements['connection.rtt'] = { value: connection.rtt, unit: 'millisecond' };\n }\n }\n\n if (isMeasurementValue(navigator.deviceMemory)) {\n span.setAttribute('deviceMemory', `${navigator.deviceMemory} GB`);\n }\n\n if (isMeasurementValue(navigator.hardwareConcurrency)) {\n span.setAttribute('hardwareConcurrency', String(navigator.hardwareConcurrency));\n }\n}\n\n/** Add LCP / CLS data to span to allow debugging */\nfunction _setWebVitalAttributes(span) {\n if (_lcpEntry) {\n // Capture Properties of the LCP element that contributes to the LCP.\n\n if (_lcpEntry.element) {\n span.setAttribute('lcp.element', htmlTreeAsString(_lcpEntry.element));\n }\n\n if (_lcpEntry.id) {\n span.setAttribute('lcp.id', _lcpEntry.id);\n }\n\n if (_lcpEntry.url) {\n // Trim URL to the first 200 characters.\n span.setAttribute('lcp.url', _lcpEntry.url.trim().slice(0, 200));\n }\n\n if (_lcpEntry.loadTime != null) {\n // loadTime is the time of LCP that's related to receiving the LCP element response..\n span.setAttribute('lcp.loadTime', _lcpEntry.loadTime);\n }\n\n if (_lcpEntry.renderTime != null) {\n // renderTime is loadTime + rendering time\n // it's 0 if the LCP element is loaded from a 3rd party origin that doesn't send the\n // `Timing-Allow-Origin` header.\n span.setAttribute('lcp.renderTime', _lcpEntry.renderTime);\n }\n\n span.setAttribute('lcp.size', _lcpEntry.size);\n }\n\n // See: https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift\n if (_clsEntry?.sources) {\n _clsEntry.sources.forEach((source, index) =>\n span.setAttribute(`cls.source.${index + 1}`, htmlTreeAsString(source.node)),\n );\n }\n}\n\nfunction setResourceEntrySizeData(\n attributes,\n entry,\n key,\n dataKey,\n) {\n const entryVal = entry[key];\n if (entryVal != null && entryVal < MAX_INT_AS_BYTES) {\n attributes[dataKey] = entryVal;\n }\n}\n\n/**\n * Add ttfb request time information to measurements.\n *\n * ttfb information is added via vendored web vitals library.\n */\nfunction _addTtfbRequestTimeToMeasurements(_measurements) {\n const navEntry = getNavigationEntry(false);\n if (!navEntry) {\n return;\n }\n\n const { responseStart, requestStart } = navEntry;\n\n if (requestStart <= responseStart) {\n _measurements['ttfb.requestTime'] = {\n value: responseStart - requestStart,\n unit: 'millisecond',\n };\n }\n}\n\nexport { _addMeasureSpans, _addResourceSpans, addPerformanceEntries, startTrackingInteractions, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingWebVitals };\n//# sourceMappingURL=browserMetrics.js.map\n","import { browserPerformanceTimeOrigin, getActiveSpan, getRootSpan, spanToJSON, getCurrentScope, htmlTreeAsString, dropUndefinedKeys, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT } from '@sentry/core';\nimport { addPerformanceInstrumentationHandler, addInpInstrumentationHandler, isPerformanceEventTiming } from './instrument.js';\nimport { getBrowserPerformanceAPI, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\nconst LAST_INTERACTIONS = [];\nconst INTERACTIONS_SPAN_MAP = new Map();\n\n/**\n * Start tracking INP webvital events.\n */\nfunction startTrackingINP() {\n const performance = getBrowserPerformanceAPI();\n if (performance && browserPerformanceTimeOrigin()) {\n const inpCallback = _trackINP();\n\n return () => {\n inpCallback();\n };\n }\n\n return () => undefined;\n}\n\nconst INP_ENTRY_MAP = {\n click: 'click',\n pointerdown: 'click',\n pointerup: 'click',\n mousedown: 'click',\n mouseup: 'click',\n touchstart: 'click',\n touchend: 'click',\n mouseover: 'hover',\n mouseout: 'hover',\n mouseenter: 'hover',\n mouseleave: 'hover',\n pointerover: 'hover',\n pointerout: 'hover',\n pointerenter: 'hover',\n pointerleave: 'hover',\n dragstart: 'drag',\n dragend: 'drag',\n drag: 'drag',\n dragenter: 'drag',\n dragleave: 'drag',\n dragover: 'drag',\n drop: 'drag',\n keydown: 'press',\n keyup: 'press',\n keypress: 'press',\n input: 'press',\n};\n\n/** Starts tracking the Interaction to Next Paint on the current page. */\nfunction _trackINP() {\n return addInpInstrumentationHandler(({ metric }) => {\n if (metric.value == undefined) {\n return;\n }\n\n const entry = metric.entries.find(entry => entry.duration === metric.value && INP_ENTRY_MAP[entry.name]);\n\n if (!entry) {\n return;\n }\n\n const { interactionId } = entry;\n const interactionType = INP_ENTRY_MAP[entry.name];\n\n /** Build the INP span, create an envelope from the span, and then send the envelope */\n const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n const duration = msToSec(metric.value);\n const activeSpan = getActiveSpan();\n const rootSpan = activeSpan ? getRootSpan(activeSpan) : undefined;\n\n // We first try to lookup the span from our INTERACTIONS_SPAN_MAP,\n // where we cache the route per interactionId\n const cachedSpan = interactionId != null ? INTERACTIONS_SPAN_MAP.get(interactionId) : undefined;\n\n const spanToUse = cachedSpan || rootSpan;\n\n // Else, we try to use the active span.\n // Finally, we fall back to look at the transactionName on the scope\n const routeName = spanToUse ? spanToJSON(spanToUse).description : getCurrentScope().getScopeData().transactionName;\n\n const name = htmlTreeAsString(entry.target);\n const attributes = dropUndefinedKeys({\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.inp',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `ui.interaction.${interactionType}`,\n [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry.duration,\n });\n\n const span = startStandaloneWebVitalSpan({\n name,\n transaction: routeName,\n attributes,\n startTime,\n });\n\n if (span) {\n span.addEvent('inp', {\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: 'millisecond',\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: metric.value,\n });\n\n span.end(startTime + duration);\n }\n });\n}\n\n/**\n * Register a listener to cache route information for INP interactions.\n */\nfunction registerInpInteractionListener() {\n const handleEntries = ({ entries }) => {\n const activeSpan = getActiveSpan();\n const activeRootSpan = activeSpan && getRootSpan(activeSpan);\n\n entries.forEach(entry => {\n if (!isPerformanceEventTiming(entry) || !activeRootSpan) {\n return;\n }\n\n const interactionId = entry.interactionId;\n if (interactionId == null) {\n return;\n }\n\n // If the interaction was already recorded before, nothing more to do\n if (INTERACTIONS_SPAN_MAP.has(interactionId)) {\n return;\n }\n\n // We keep max. 10 interactions in the list, then remove the oldest one & clean up\n if (LAST_INTERACTIONS.length > 10) {\n const last = LAST_INTERACTIONS.shift() ;\n INTERACTIONS_SPAN_MAP.delete(last);\n }\n\n // We add the interaction to the list of recorded interactions\n // and store the span for this interaction\n LAST_INTERACTIONS.push(interactionId);\n INTERACTIONS_SPAN_MAP.set(interactionId, activeRootSpan);\n });\n };\n\n addPerformanceInstrumentationHandler('event', handleEntries);\n addPerformanceInstrumentationHandler('first-input', handleEntries);\n}\n\nexport { registerInpInteractionListener, startTrackingINP };\n//# sourceMappingURL=inp.js.map\n","import { getClient, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON } from '../semanticAttributes.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { timestampInSeconds } from '../utils-hoist/time.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { _setSpanForScope } from '../utils/spanOnScope.js';\nimport { getActiveSpan, spanTimeInputToSeconds, getSpanDescendants, spanToJSON, removeChildSpanFromSpan } from '../utils/spanUtils.js';\nimport { getDynamicSamplingContextFromSpan, freezeDscOnSpan } from './dynamicSamplingContext.js';\nimport { SentryNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { startInactiveSpan } from './trace.js';\n\nconst TRACING_DEFAULTS = {\n idleTimeout: 1000,\n finalTimeout: 30000,\n childSpanTimeout: 15000,\n};\n\nconst FINISH_REASON_HEARTBEAT_FAILED = 'heartbeatFailed';\nconst FINISH_REASON_IDLE_TIMEOUT = 'idleTimeout';\nconst FINISH_REASON_FINAL_TIMEOUT = 'finalTimeout';\nconst FINISH_REASON_EXTERNAL_FINISH = 'externalFinish';\n\n/**\n * An idle span is a span that automatically finishes. It does this by tracking child spans as activities.\n * An idle span is always the active span.\n */\nfunction startIdleSpan(startSpanOptions, options = {}) {\n // Activities store a list of active spans\n const activities = new Map();\n\n // We should not use heartbeat if we finished a span\n let _finished = false;\n\n // Timer that tracks idleTimeout\n let _idleTimeoutID;\n\n // The reason why the span was finished\n let _finishReason = FINISH_REASON_EXTERNAL_FINISH;\n\n let _autoFinishAllowed = !options.disableAutoFinish;\n\n const _cleanupHooks = [];\n\n const {\n idleTimeout = TRACING_DEFAULTS.idleTimeout,\n finalTimeout = TRACING_DEFAULTS.finalTimeout,\n childSpanTimeout = TRACING_DEFAULTS.childSpanTimeout,\n beforeSpanEnd,\n } = options;\n\n const client = getClient();\n\n if (!client || !hasSpansEnabled()) {\n const span = new SentryNonRecordingSpan();\n\n const dsc = {\n sample_rate: '0',\n sampled: 'false',\n ...getDynamicSamplingContextFromSpan(span),\n } ;\n freezeDscOnSpan(span, dsc);\n\n return span;\n }\n\n const scope = getCurrentScope();\n const previousActiveSpan = getActiveSpan();\n const span = _startIdleSpan(startSpanOptions);\n\n // We patch span.end to ensure we can run some things before the span is ended\n // eslint-disable-next-line @typescript-eslint/unbound-method\n span.end = new Proxy(span.end, {\n apply(target, thisArg, args) {\n if (beforeSpanEnd) {\n beforeSpanEnd(span);\n }\n\n // If the span is non-recording, nothing more to do here...\n // This is the case if tracing is enabled but this specific span was not sampled\n if (thisArg instanceof SentryNonRecordingSpan) {\n return;\n }\n\n // Just ensuring that this keeps working, even if we ever have more arguments here\n const [definedEndTimestamp, ...rest] = args;\n const timestamp = definedEndTimestamp || timestampInSeconds();\n const spanEndTimestamp = spanTimeInputToSeconds(timestamp);\n\n // Ensure we end with the last span timestamp, if possible\n const spans = getSpanDescendants(span).filter(child => child !== span);\n\n // If we have no spans, we just end, nothing else to do here\n if (!spans.length) {\n onIdleSpanEnded(spanEndTimestamp);\n return Reflect.apply(target, thisArg, [spanEndTimestamp, ...rest]);\n }\n\n const childEndTimestamps = spans\n .map(span => spanToJSON(span).timestamp)\n .filter(timestamp => !!timestamp) ;\n const latestSpanEndTimestamp = childEndTimestamps.length ? Math.max(...childEndTimestamps) : undefined;\n\n // In reality this should always exist here, but type-wise it may be undefined...\n const spanStartTimestamp = spanToJSON(span).start_timestamp;\n\n // The final endTimestamp should:\n // * Never be before the span start timestamp\n // * Be the latestSpanEndTimestamp, if there is one, and it is smaller than the passed span end timestamp\n // * Otherwise be the passed end timestamp\n // Final timestamp can never be after finalTimeout\n const endTimestamp = Math.min(\n spanStartTimestamp ? spanStartTimestamp + finalTimeout / 1000 : Infinity,\n Math.max(spanStartTimestamp || -Infinity, Math.min(spanEndTimestamp, latestSpanEndTimestamp || Infinity)),\n );\n\n onIdleSpanEnded(endTimestamp);\n return Reflect.apply(target, thisArg, [endTimestamp, ...rest]);\n },\n });\n\n /**\n * Cancels the existing idle timeout, if there is one.\n */\n function _cancelIdleTimeout() {\n if (_idleTimeoutID) {\n clearTimeout(_idleTimeoutID);\n _idleTimeoutID = undefined;\n }\n }\n\n /**\n * Restarts idle timeout, if there is no running idle timeout it will start one.\n */\n function _restartIdleTimeout(endTimestamp) {\n _cancelIdleTimeout();\n _idleTimeoutID = setTimeout(() => {\n if (!_finished && activities.size === 0 && _autoFinishAllowed) {\n _finishReason = FINISH_REASON_IDLE_TIMEOUT;\n span.end(endTimestamp);\n }\n }, idleTimeout);\n }\n\n /**\n * Restarts child span timeout, if there is none running it will start one.\n */\n function _restartChildSpanTimeout(endTimestamp) {\n _idleTimeoutID = setTimeout(() => {\n if (!_finished && _autoFinishAllowed) {\n _finishReason = FINISH_REASON_HEARTBEAT_FAILED;\n span.end(endTimestamp);\n }\n }, childSpanTimeout);\n }\n\n /**\n * Start tracking a specific activity.\n * @param spanId The span id that represents the activity\n */\n function _pushActivity(spanId) {\n _cancelIdleTimeout();\n activities.set(spanId, true);\n\n const endTimestamp = timestampInSeconds();\n // We need to add the timeout here to have the real endtimestamp of the idle span\n // Remember timestampInSeconds is in seconds, timeout is in ms\n _restartChildSpanTimeout(endTimestamp + childSpanTimeout / 1000);\n }\n\n /**\n * Remove an activity from usage\n * @param spanId The span id that represents the activity\n */\n function _popActivity(spanId) {\n if (activities.has(spanId)) {\n activities.delete(spanId);\n }\n\n if (activities.size === 0) {\n const endTimestamp = timestampInSeconds();\n // We need to add the timeout here to have the real endtimestamp of the idle span\n // Remember timestampInSeconds is in seconds, timeout is in ms\n _restartIdleTimeout(endTimestamp + idleTimeout / 1000);\n }\n }\n\n function onIdleSpanEnded(endTimestamp) {\n _finished = true;\n activities.clear();\n\n _cleanupHooks.forEach(cleanup => cleanup());\n\n _setSpanForScope(scope, previousActiveSpan);\n\n const spanJSON = spanToJSON(span);\n\n const { start_timestamp: startTimestamp } = spanJSON;\n // This should never happen, but to make TS happy...\n if (!startTimestamp) {\n return;\n }\n\n const attributes = spanJSON.data;\n if (!attributes[SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON]) {\n span.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, _finishReason);\n }\n\n logger.log(`[Tracing] Idle span \"${spanJSON.op}\" finished`);\n\n const childSpans = getSpanDescendants(span).filter(child => child !== span);\n\n let discardedSpans = 0;\n childSpans.forEach(childSpan => {\n // We cancel all pending spans with status \"cancelled\" to indicate the idle span was finished early\n if (childSpan.isRecording()) {\n childSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'cancelled' });\n childSpan.end(endTimestamp);\n DEBUG_BUILD &&\n logger.log('[Tracing] Cancelling span since span ended early', JSON.stringify(childSpan, undefined, 2));\n }\n\n const childSpanJSON = spanToJSON(childSpan);\n const { timestamp: childEndTimestamp = 0, start_timestamp: childStartTimestamp = 0 } = childSpanJSON;\n\n const spanStartedBeforeIdleSpanEnd = childStartTimestamp <= endTimestamp;\n\n // Add a delta with idle timeout so that we prevent false positives\n const timeoutWithMarginOfError = (finalTimeout + idleTimeout) / 1000;\n const spanEndedBeforeFinalTimeout = childEndTimestamp - childStartTimestamp <= timeoutWithMarginOfError;\n\n if (DEBUG_BUILD) {\n const stringifiedSpan = JSON.stringify(childSpan, undefined, 2);\n if (!spanStartedBeforeIdleSpanEnd) {\n logger.log('[Tracing] Discarding span since it happened after idle span was finished', stringifiedSpan);\n } else if (!spanEndedBeforeFinalTimeout) {\n logger.log('[Tracing] Discarding span since it finished after idle span final timeout', stringifiedSpan);\n }\n }\n\n if (!spanEndedBeforeFinalTimeout || !spanStartedBeforeIdleSpanEnd) {\n removeChildSpanFromSpan(span, childSpan);\n discardedSpans++;\n }\n });\n\n if (discardedSpans > 0) {\n span.setAttribute('sentry.idle_span_discarded_spans', discardedSpans);\n }\n }\n\n _cleanupHooks.push(\n client.on('spanStart', startedSpan => {\n // If we already finished the idle span,\n // or if this is the idle span itself being started,\n // or if the started span has already been closed,\n // we don't care about it for activity\n if (_finished || startedSpan === span || !!spanToJSON(startedSpan).timestamp) {\n return;\n }\n\n const allSpans = getSpanDescendants(span);\n\n // If the span that was just started is a child of the idle span, we should track it\n if (allSpans.includes(startedSpan)) {\n _pushActivity(startedSpan.spanContext().spanId);\n }\n }),\n );\n\n _cleanupHooks.push(\n client.on('spanEnd', endedSpan => {\n if (_finished) {\n return;\n }\n\n _popActivity(endedSpan.spanContext().spanId);\n }),\n );\n\n _cleanupHooks.push(\n client.on('idleSpanEnableAutoFinish', spanToAllowAutoFinish => {\n if (spanToAllowAutoFinish === span) {\n _autoFinishAllowed = true;\n _restartIdleTimeout();\n\n if (activities.size) {\n _restartChildSpanTimeout();\n }\n }\n }),\n );\n\n // We only start the initial idle timeout if we are not delaying the auto finish\n if (!options.disableAutoFinish) {\n _restartIdleTimeout();\n }\n\n setTimeout(() => {\n if (!_finished) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'deadline_exceeded' });\n _finishReason = FINISH_REASON_FINAL_TIMEOUT;\n span.end();\n }\n }, finalTimeout);\n\n return span;\n}\n\nfunction _startIdleSpan(options) {\n const span = startInactiveSpan(options);\n\n _setSpanForScope(getCurrentScope(), span);\n\n DEBUG_BUILD && logger.log('[Tracing] Started span is an idle span');\n\n return span;\n}\n\nexport { TRACING_DEFAULTS, startIdleSpan };\n//# sourceMappingURL=idleSpan.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { addGlobalErrorInstrumentationHandler } from '../utils-hoist/instrument/globalError.js';\nimport { addGlobalUnhandledRejectionInstrumentationHandler } from '../utils-hoist/instrument/globalUnhandledRejection.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\n\nlet errorsInstrumented = false;\n\n/**\n * Ensure that global errors automatically set the active span status.\n */\nfunction registerSpanErrorInstrumentation() {\n if (errorsInstrumented) {\n return;\n }\n\n errorsInstrumented = true;\n addGlobalErrorInstrumentationHandler(errorCallback);\n addGlobalUnhandledRejectionInstrumentationHandler(errorCallback);\n}\n\n/**\n * If an error or unhandled promise occurs, we mark the active root span as failed\n */\nfunction errorCallback() {\n const activeSpan = getActiveSpan();\n const rootSpan = activeSpan && getRootSpan(activeSpan);\n if (rootSpan) {\n const message = 'internal_error';\n DEBUG_BUILD && logger.log(`[Tracing] Root span: ${message} -> Global error occurred`);\n rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message });\n }\n}\n\n// The function name will be lost when bundling but we need to be able to identify this listener later to maintain the\n// node.js default exit behaviour\nerrorCallback.tag = 'sentry_tracingErrorCallback';\n\nexport { registerSpanErrorInstrumentation };\n//# sourceMappingURL=errors.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getClient, getCurrentScope } from '../currentScopes.js';\nimport { isEnabled } from '../exports.js';\nimport '../tracing/errors.js';\nimport '../utils-hoist/debug-build.js';\nimport { logger } from '../utils-hoist/logger.js';\nimport '../debug-build.js';\nimport '../utils-hoist/time.js';\nimport { getActiveSpan, spanToTraceHeader } from './spanUtils.js';\nimport { getDynamicSamplingContextFromSpan, getDynamicSamplingContextFromScope } from '../tracing/dynamicSamplingContext.js';\nimport { TRACEPARENT_REGEXP, generateSentryTraceHeader } from '../utils-hoist/tracing.js';\nimport { dynamicSamplingContextToSentryBaggageHeader } from '../utils-hoist/baggage.js';\n\n/**\n * Extracts trace propagation data from the current span or from the client's scope (via transaction or propagation\n * context) and serializes it to `sentry-trace` and `baggage` values to strings. These values can be used to propagate\n * a trace via our tracing Http headers or Html `<meta>` tags.\n *\n * This function also applies some validation to the generated sentry-trace and baggage values to ensure that\n * only valid strings are returned.\n *\n * @returns an object with the tracing data values. The object keys are the name of the tracing key to be used as header\n * or meta tag name.\n */\nfunction getTraceData(options = {}) {\n const client = getClient();\n if (!isEnabled() || !client) {\n return {};\n }\n\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getTraceData) {\n return acs.getTraceData(options);\n }\n\n const scope = getCurrentScope();\n const span = options.span || getActiveSpan();\n const sentryTrace = span ? spanToTraceHeader(span) : scopeToTraceHeader(scope);\n const dsc = span ? getDynamicSamplingContextFromSpan(span) : getDynamicSamplingContextFromScope(client, scope);\n const baggage = dynamicSamplingContextToSentryBaggageHeader(dsc);\n\n const isValidSentryTraceHeader = TRACEPARENT_REGEXP.test(sentryTrace);\n if (!isValidSentryTraceHeader) {\n logger.warn('Invalid sentry-trace data. Cannot generate trace data');\n return {};\n }\n\n return {\n 'sentry-trace': sentryTrace,\n baggage,\n };\n}\n\n/**\n * Get a sentry-trace header value for the given scope.\n */\nfunction scopeToTraceHeader(scope) {\n const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();\n return generateSentryTraceHeader(traceId, propagationSpanId, sampled);\n}\n\nexport { getTraceData };\n//# sourceMappingURL=traceData.js.map\n","import { getClient } from './currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from './semanticAttributes.js';\nimport './tracing/errors.js';\nimport { isInstanceOf } from './utils-hoist/is.js';\nimport './utils-hoist/debug-build.js';\nimport './utils-hoist/logger.js';\nimport './debug-build.js';\nimport './utils-hoist/time.js';\nimport { hasSpansEnabled } from './utils/hasSpansEnabled.js';\nimport { getActiveSpan } from './utils/spanUtils.js';\nimport { SENTRY_BAGGAGE_KEY_PREFIX } from './utils-hoist/baggage.js';\nimport { SentryNonRecordingSpan } from './tracing/sentryNonRecordingSpan.js';\nimport { setHttpStatus, SPAN_STATUS_ERROR } from './tracing/spanstatus.js';\nimport { startInactiveSpan } from './tracing/trace.js';\nimport { parseUrl, stripUrlQueryAndFragment } from './utils-hoist/url.js';\nimport { getTraceData } from './utils/traceData.js';\n\n/**\n * Create and track fetch request spans for usage in combination with `addFetchInstrumentationHandler`.\n *\n * @returns Span if a span was created, otherwise void.\n */\nfunction instrumentFetchRequest(\n handlerData,\n shouldCreateSpan,\n shouldAttachHeaders,\n spans,\n spanOrigin = 'auto.http.browser',\n) {\n if (!handlerData.fetchData) {\n return undefined;\n }\n\n const { method, url } = handlerData.fetchData;\n\n const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n\n if (handlerData.endTimestamp && shouldCreateSpanResult) {\n const spanId = handlerData.fetchData.__span;\n if (!spanId) return;\n\n const span = spans[spanId];\n if (span) {\n endSpan(span, handlerData);\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[spanId];\n }\n return undefined;\n }\n\n const fullUrl = getFullURL(url);\n const parsedUrl = fullUrl ? parseUrl(fullUrl) : parseUrl(url);\n\n const hasParent = !!getActiveSpan();\n\n const span =\n shouldCreateSpanResult && hasParent\n ? startInactiveSpan({\n name: `${method} ${stripUrlQueryAndFragment(url)}`,\n attributes: {\n url,\n type: 'fetch',\n 'http.method': method,\n 'http.url': fullUrl,\n 'server.address': parsedUrl?.host,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.client',\n ...(parsedUrl?.search && { 'http.query': parsedUrl?.search }),\n ...(parsedUrl?.hash && { 'http.fragment': parsedUrl?.hash }),\n },\n })\n : new SentryNonRecordingSpan();\n\n handlerData.fetchData.__span = span.spanContext().spanId;\n spans[span.spanContext().spanId] = span;\n\n if (shouldAttachHeaders(handlerData.fetchData.url)) {\n const request = handlerData.args[0];\n\n const options = handlerData.args[1] || {};\n\n const headers = _addTracingHeadersToFetchRequest(\n request,\n options,\n // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n // we do not want to use the span as base for the trace headers,\n // which means that the headers will be generated from the scope and the sampling decision is deferred\n hasSpansEnabled() && hasParent ? span : undefined,\n );\n if (headers) {\n // Ensure this is actually set, if no options have been passed previously\n handlerData.args[1] = options;\n options.headers = headers;\n }\n }\n\n const client = getClient();\n\n if (client) {\n const fetchHint = {\n input: handlerData.args,\n response: handlerData.response,\n startTimestamp: handlerData.startTimestamp,\n endTimestamp: handlerData.endTimestamp,\n } ;\n\n client.emit('beforeOutgoingRequestSpan', span, fetchHint);\n }\n\n return span;\n}\n\n/**\n * Adds sentry-trace and baggage headers to the various forms of fetch headers.\n */\nfunction _addTracingHeadersToFetchRequest(\n request,\n fetchOptionsObj\n\n,\n span,\n) {\n const traceHeaders = getTraceData({ span });\n const sentryTrace = traceHeaders['sentry-trace'];\n const baggage = traceHeaders.baggage;\n\n // Nothing to do, when we return undefined here, the original headers will be used\n if (!sentryTrace) {\n return undefined;\n }\n\n const headers = fetchOptionsObj.headers || (isRequest(request) ? request.headers : undefined);\n\n if (!headers) {\n return { ...traceHeaders };\n } else if (isHeaders(headers)) {\n const newHeaders = new Headers(headers);\n newHeaders.set('sentry-trace', sentryTrace);\n\n if (baggage) {\n const prevBaggageHeader = newHeaders.get('baggage');\n if (prevBaggageHeader) {\n const prevHeaderStrippedFromSentryBaggage = stripBaggageHeaderOfSentryBaggageValues(prevBaggageHeader);\n newHeaders.set(\n 'baggage',\n // If there are non-sentry entries (i.e. if the stripped string is non-empty/truthy) combine the stripped header and sentry baggage header\n // otherwise just set the sentry baggage header\n prevHeaderStrippedFromSentryBaggage ? `${prevHeaderStrippedFromSentryBaggage},${baggage}` : baggage,\n );\n } else {\n newHeaders.set('baggage', baggage);\n }\n }\n\n return newHeaders;\n } else if (Array.isArray(headers)) {\n const newHeaders = [\n ...headers\n // Remove any existing sentry-trace headers\n .filter(header => {\n return !(Array.isArray(header) && header[0] === 'sentry-trace');\n })\n // Get rid of previous sentry baggage values in baggage header\n .map(header => {\n if (Array.isArray(header) && header[0] === 'baggage' && typeof header[1] === 'string') {\n const [headerName, headerValue, ...rest] = header;\n return [headerName, stripBaggageHeaderOfSentryBaggageValues(headerValue), ...rest];\n } else {\n return header;\n }\n }),\n // Attach the new sentry-trace header\n ['sentry-trace', sentryTrace],\n ];\n\n if (baggage) {\n // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.push(['baggage', baggage]);\n }\n\n return newHeaders ;\n } else {\n const existingBaggageHeader = 'baggage' in headers ? headers.baggage : undefined;\n let newBaggageHeaders = [];\n\n if (Array.isArray(existingBaggageHeader)) {\n newBaggageHeaders = existingBaggageHeader\n .map(headerItem =>\n typeof headerItem === 'string' ? stripBaggageHeaderOfSentryBaggageValues(headerItem) : headerItem,\n )\n .filter(headerItem => headerItem === '');\n } else if (existingBaggageHeader) {\n newBaggageHeaders.push(stripBaggageHeaderOfSentryBaggageValues(existingBaggageHeader));\n }\n\n if (baggage) {\n newBaggageHeaders.push(baggage);\n }\n\n return {\n ...(headers ),\n 'sentry-trace': sentryTrace,\n baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined,\n };\n }\n}\n\nfunction getFullURL(url) {\n try {\n const parsed = new URL(url);\n return parsed.href;\n } catch {\n return undefined;\n }\n}\n\nfunction endSpan(span, handlerData) {\n if (handlerData.response) {\n setHttpStatus(span, handlerData.response.status);\n\n const contentLength = handlerData.response?.headers && handlerData.response.headers.get('content-length');\n\n if (contentLength) {\n const contentLengthNum = parseInt(contentLength);\n if (contentLengthNum > 0) {\n span.setAttribute('http.response_content_length', contentLengthNum);\n }\n }\n } else if (handlerData.error) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n }\n span.end();\n}\n\nfunction stripBaggageHeaderOfSentryBaggageValues(baggageHeader) {\n return (\n baggageHeader\n .split(',')\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n .filter(baggageEntry => !baggageEntry.split('=')[0].startsWith(SENTRY_BAGGAGE_KEY_PREFIX))\n .join(',')\n );\n}\n\nfunction isRequest(request) {\n return typeof Request !== 'undefined' && isInstanceOf(request, Request);\n}\n\nfunction isHeaders(headers) {\n return typeof Headers !== 'undefined' && isInstanceOf(headers, Headers);\n}\n\nexport { instrumentFetchRequest };\n//# sourceMappingURL=fetch.js.map\n","import { addXhrInstrumentationHandler, addPerformanceInstrumentationHandler, SENTRY_XHR_DATA_KEY, extractNetworkProtocol } from '@sentry-internal/browser-utils';\nimport { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, instrumentFetchRequest, parseUrl, getLocationHref, stringMatchesSomePattern, spanToJSON, hasSpansEnabled, setHttpStatus, stripUrlQueryAndFragment, getActiveSpan, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SentryNonRecordingSpan, getClient, browserPerformanceTimeOrigin, getTraceData } from '@sentry/core';\nimport { WINDOW } from '../helpers.js';\n\n/** Options for Request Instrumentation */\n\nconst responseToSpanId = new WeakMap();\nconst spanIdToEndTimestamp = new Map();\n\nconst defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n enableHTTPTimings: true,\n trackFetchStreamPerformance: false,\n};\n\n/** Registers span creators for xhr and fetch requests */\nfunction instrumentOutgoingRequests(client, _options) {\n const {\n traceFetch,\n traceXHR,\n trackFetchStreamPerformance,\n shouldCreateSpanForRequest,\n enableHTTPTimings,\n tracePropagationTargets,\n } = {\n traceFetch: defaultRequestInstrumentationOptions.traceFetch,\n traceXHR: defaultRequestInstrumentationOptions.traceXHR,\n trackFetchStreamPerformance: defaultRequestInstrumentationOptions.trackFetchStreamPerformance,\n ..._options,\n };\n\n const shouldCreateSpan =\n typeof shouldCreateSpanForRequest === 'function' ? shouldCreateSpanForRequest : (_) => true;\n\n const shouldAttachHeadersWithTargets = (url) => shouldAttachHeaders(url, tracePropagationTargets);\n\n const spans = {};\n\n if (traceFetch) {\n // Keeping track of http requests, whose body payloads resolved later than the initial resolved request\n // e.g. streaming using server sent events (SSE)\n client.addEventProcessor(event => {\n if (event.type === 'transaction' && event.spans) {\n event.spans.forEach(span => {\n if (span.op === 'http.client') {\n const updatedTimestamp = spanIdToEndTimestamp.get(span.span_id);\n if (updatedTimestamp) {\n span.timestamp = updatedTimestamp / 1000;\n spanIdToEndTimestamp.delete(span.span_id);\n }\n }\n });\n }\n return event;\n });\n\n if (trackFetchStreamPerformance) {\n addFetchEndInstrumentationHandler(handlerData => {\n if (handlerData.response) {\n const span = responseToSpanId.get(handlerData.response);\n if (span && handlerData.endTimestamp) {\n spanIdToEndTimestamp.set(span, handlerData.endTimestamp);\n }\n }\n });\n }\n\n addFetchInstrumentationHandler(handlerData => {\n const createdSpan = instrumentFetchRequest(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n\n if (handlerData.response && handlerData.fetchData.__span) {\n responseToSpanId.set(handlerData.response, handlerData.fetchData.__span);\n }\n\n // We cannot use `window.location` in the generic fetch instrumentation,\n // but we need it for reliable `server.address` attribute.\n // so we extend this in here\n if (createdSpan) {\n const fullUrl = getFullURL(handlerData.fetchData.url);\n const host = fullUrl ? parseUrl(fullUrl).host : undefined;\n createdSpan.setAttributes({\n 'http.url': fullUrl,\n 'server.address': host,\n });\n }\n\n if (enableHTTPTimings && createdSpan) {\n addHTTPTimings(createdSpan);\n }\n });\n }\n\n if (traceXHR) {\n addXhrInstrumentationHandler(handlerData => {\n const createdSpan = xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n if (enableHTTPTimings && createdSpan) {\n addHTTPTimings(createdSpan);\n }\n });\n }\n}\n\nfunction isPerformanceResourceTiming(entry) {\n return (\n entry.entryType === 'resource' &&\n 'initiatorType' in entry &&\n typeof (entry ).nextHopProtocol === 'string' &&\n (entry.initiatorType === 'fetch' || entry.initiatorType === 'xmlhttprequest')\n );\n}\n\n/**\n * Creates a temporary observer to listen to the next fetch/xhr resourcing timings,\n * so that when timings hit their per-browser limit they don't need to be removed.\n *\n * @param span A span that has yet to be finished, must contain `url` on data.\n */\nfunction addHTTPTimings(span) {\n const { url } = spanToJSON(span).data;\n\n if (!url || typeof url !== 'string') {\n return;\n }\n\n const cleanup = addPerformanceInstrumentationHandler('resource', ({ entries }) => {\n entries.forEach(entry => {\n if (isPerformanceResourceTiming(entry) && entry.name.endsWith(url)) {\n const spanData = resourceTimingEntryToSpanData(entry);\n spanData.forEach(data => span.setAttribute(...data));\n // In the next tick, clean this handler up\n // We have to wait here because otherwise this cleans itself up before it is fully done\n setTimeout(cleanup);\n }\n });\n });\n}\n\nfunction getAbsoluteTime(time = 0) {\n return ((browserPerformanceTimeOrigin() || performance.timeOrigin) + time) / 1000;\n}\n\nfunction resourceTimingEntryToSpanData(resourceTiming) {\n const { name, version } = extractNetworkProtocol(resourceTiming.nextHopProtocol);\n\n const timingSpanData = [];\n\n timingSpanData.push(['network.protocol.version', version], ['network.protocol.name', name]);\n\n if (!browserPerformanceTimeOrigin()) {\n return timingSpanData;\n }\n return [\n ...timingSpanData,\n ['http.request.redirect_start', getAbsoluteTime(resourceTiming.redirectStart)],\n ['http.request.fetch_start', getAbsoluteTime(resourceTiming.fetchStart)],\n ['http.request.domain_lookup_start', getAbsoluteTime(resourceTiming.domainLookupStart)],\n ['http.request.domain_lookup_end', getAbsoluteTime(resourceTiming.domainLookupEnd)],\n ['http.request.connect_start', getAbsoluteTime(resourceTiming.connectStart)],\n ['http.request.secure_connection_start', getAbsoluteTime(resourceTiming.secureConnectionStart)],\n ['http.request.connection_end', getAbsoluteTime(resourceTiming.connectEnd)],\n ['http.request.request_start', getAbsoluteTime(resourceTiming.requestStart)],\n ['http.request.response_start', getAbsoluteTime(resourceTiming.responseStart)],\n ['http.request.response_end', getAbsoluteTime(resourceTiming.responseEnd)],\n ];\n}\n\n/**\n * A function that determines whether to attach tracing headers to a request.\n * We only export this function for testing purposes.\n */\nfunction shouldAttachHeaders(\n targetUrl,\n tracePropagationTargets,\n) {\n // window.location.href not being defined is an edge case in the browser but we need to handle it.\n // Potentially dangerous situations where it may not be defined: Browser Extensions, Web Workers, patching of the location obj\n const href = getLocationHref();\n\n if (!href) {\n // If there is no window.location.origin, we default to only attaching tracing headers to relative requests, i.e. ones that start with `/`\n // BIG DISCLAIMER: Users can call URLs with a double slash (fetch(\"//example.com/api\")), this is a shorthand for \"send to the same protocol\",\n // so we need a to exclude those requests, because they might be cross origin.\n const isRelativeSameOriginRequest = !!targetUrl.match(/^\\/(?!\\/)/);\n if (!tracePropagationTargets) {\n return isRelativeSameOriginRequest;\n } else {\n return stringMatchesSomePattern(targetUrl, tracePropagationTargets);\n }\n } else {\n let resolvedUrl;\n let currentOrigin;\n\n // URL parsing may fail, we default to not attaching trace headers in that case.\n try {\n resolvedUrl = new URL(targetUrl, href);\n currentOrigin = new URL(href).origin;\n } catch (e) {\n return false;\n }\n\n const isSameOriginRequest = resolvedUrl.origin === currentOrigin;\n if (!tracePropagationTargets) {\n return isSameOriginRequest;\n } else {\n return (\n stringMatchesSomePattern(resolvedUrl.toString(), tracePropagationTargets) ||\n (isSameOriginRequest && stringMatchesSomePattern(resolvedUrl.pathname, tracePropagationTargets))\n );\n }\n }\n}\n\n/**\n * Create and track xhr request spans\n *\n * @returns Span if a span was created, otherwise void.\n */\nfunction xhrCallback(\n handlerData,\n shouldCreateSpan,\n shouldAttachHeaders,\n spans,\n) {\n const xhr = handlerData.xhr;\n const sentryXhrData = xhr?.[SENTRY_XHR_DATA_KEY];\n\n if (!xhr || xhr.__sentry_own_request__ || !sentryXhrData) {\n return undefined;\n }\n\n const { url, method } = sentryXhrData;\n\n const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n\n // check first if the request has finished and is tracked by an existing span which should now end\n if (handlerData.endTimestamp && shouldCreateSpanResult) {\n const spanId = xhr.__sentry_xhr_span_id__;\n if (!spanId) return;\n\n const span = spans[spanId];\n if (span && sentryXhrData.status_code !== undefined) {\n setHttpStatus(span, sentryXhrData.status_code);\n span.end();\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete spans[spanId];\n }\n return undefined;\n }\n\n const fullUrl = getFullURL(url);\n const parsedUrl = fullUrl ? parseUrl(fullUrl) : parseUrl(url);\n\n const urlForSpanName = stripUrlQueryAndFragment(url);\n\n const hasParent = !!getActiveSpan();\n\n const span =\n shouldCreateSpanResult && hasParent\n ? startInactiveSpan({\n name: `${method} ${urlForSpanName}`,\n attributes: {\n url,\n type: 'xhr',\n 'http.method': method,\n 'http.url': fullUrl,\n 'server.address': parsedUrl?.host,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.client',\n ...(parsedUrl?.search && { 'http.query': parsedUrl?.search }),\n ...(parsedUrl?.hash && { 'http.fragment': parsedUrl?.hash }),\n },\n })\n : new SentryNonRecordingSpan();\n\n xhr.__sentry_xhr_span_id__ = span.spanContext().spanId;\n spans[xhr.__sentry_xhr_span_id__] = span;\n\n if (shouldAttachHeaders(url)) {\n addTracingHeadersToXhrRequest(\n xhr,\n // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n // we do not want to use the span as base for the trace headers,\n // which means that the headers will be generated from the scope and the sampling decision is deferred\n hasSpansEnabled() && hasParent ? span : undefined,\n );\n }\n\n const client = getClient();\n if (client) {\n client.emit('beforeOutgoingRequestSpan', span, handlerData );\n }\n\n return span;\n}\n\nfunction addTracingHeadersToXhrRequest(xhr, span) {\n const { 'sentry-trace': sentryTrace, baggage } = getTraceData({ span });\n\n if (sentryTrace) {\n setHeaderOnXhr(xhr, sentryTrace, baggage);\n }\n}\n\nfunction setHeaderOnXhr(\n xhr,\n sentryTraceHeader,\n sentryBaggageHeader,\n) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n xhr.setRequestHeader('sentry-trace', sentryTraceHeader);\n if (sentryBaggageHeader) {\n // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n // We can therefore simply set a baggage header without checking what was there before\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n xhr.setRequestHeader('baggage', sentryBaggageHeader);\n }\n } catch (_) {\n // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n}\n\nfunction getFullURL(url) {\n try {\n // By adding a base URL to new URL(), this will also work for relative urls\n // If `url` is a full URL, the base URL is ignored anyhow\n const parsed = new URL(url, WINDOW.location.origin);\n return parsed.href;\n } catch {\n return undefined;\n }\n}\n\nexport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests, shouldAttachHeaders, xhrCallback };\n//# sourceMappingURL=request.js.map\n","import { startTrackingWebVitals, startTrackingINP, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingInteractions, addHistoryInstrumentationHandler, registerInpInteractionListener, addPerformanceEntries } from '@sentry-internal/browser-utils';\nimport { TRACING_DEFAULTS, registerSpanErrorInstrumentation, GLOBAL_OBJ, getLocationHref, getClient, getIsolationScope, generateTraceId, getCurrentScope, propagationContextFromHeaders, browserPerformanceTimeOrigin, spanToJSON, logger, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, startIdleSpan, getDynamicSamplingContextFromSpan, spanIsSampled, addNonEnumerableProperty, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\nimport { registerBackgroundTabDetection } from './backgroundtab.js';\nimport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests } from './request.js';\n\n/* eslint-disable max-lines */\n\nconst BROWSER_TRACING_INTEGRATION_ID = 'BrowserTracing';\n\nconst DEFAULT_BROWSER_TRACING_OPTIONS = {\n ...TRACING_DEFAULTS,\n instrumentNavigation: true,\n instrumentPageLoad: true,\n markBackgroundSpan: true,\n enableLongTask: true,\n enableLongAnimationFrame: true,\n enableInp: true,\n _experiments: {},\n ...defaultRequestInstrumentationOptions,\n};\n\n/**\n * The Browser Tracing integration automatically instruments browser pageload/navigation\n * actions as transactions, and captures requests, metrics and errors as spans.\n *\n * The integration can be configured with a variety of options, and can be extended to use\n * any routing library.\n *\n * We explicitly export the proper type here, as this has to be extended in some cases.\n */\nconst browserTracingIntegration = ((_options = {}) => {\n /**\n * This is just a small wrapper that makes `document` optional.\n * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n */\n const optionalWindowDocument = WINDOW.document ;\n\n registerSpanErrorInstrumentation();\n\n const {\n enableInp,\n enableLongTask,\n enableLongAnimationFrame,\n _experiments: { enableInteractions, enableStandaloneClsSpans },\n beforeStartSpan,\n idleTimeout,\n finalTimeout,\n childSpanTimeout,\n markBackgroundSpan,\n traceFetch,\n traceXHR,\n trackFetchStreamPerformance,\n shouldCreateSpanForRequest,\n enableHTTPTimings,\n instrumentPageLoad,\n instrumentNavigation,\n } = {\n ...DEFAULT_BROWSER_TRACING_OPTIONS,\n ..._options,\n };\n\n const _collectWebVitals = startTrackingWebVitals({ recordClsStandaloneSpans: enableStandaloneClsSpans || false });\n\n if (enableInp) {\n startTrackingINP();\n }\n\n if (\n enableLongAnimationFrame &&\n GLOBAL_OBJ.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes &&\n PerformanceObserver.supportedEntryTypes.includes('long-animation-frame')\n ) {\n startTrackingLongAnimationFrames();\n } else if (enableLongTask) {\n startTrackingLongTasks();\n }\n\n if (enableInteractions) {\n startTrackingInteractions();\n }\n\n const latestRoute = {\n name: undefined,\n source: undefined,\n };\n\n /** Create routing idle transaction. */\n function _createRouteSpan(client, startSpanOptions) {\n const isPageloadTransaction = startSpanOptions.op === 'pageload';\n\n const finalStartSpanOptions = beforeStartSpan\n ? beforeStartSpan(startSpanOptions)\n : startSpanOptions;\n\n const attributes = finalStartSpanOptions.attributes || {};\n\n // If `finalStartSpanOptions.name` is different than `startSpanOptions.name`\n // it is because `beforeStartSpan` set a custom name. Therefore we set the source to 'custom'.\n if (startSpanOptions.name !== finalStartSpanOptions.name) {\n attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'custom';\n finalStartSpanOptions.attributes = attributes;\n }\n\n latestRoute.name = finalStartSpanOptions.name;\n latestRoute.source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n const idleSpan = startIdleSpan(finalStartSpanOptions, {\n idleTimeout,\n finalTimeout,\n childSpanTimeout,\n // should wait for finish signal if it's a pageload transaction\n disableAutoFinish: isPageloadTransaction,\n beforeSpanEnd: span => {\n _collectWebVitals();\n addPerformanceEntries(span, { recordClsOnPageloadSpan: !enableStandaloneClsSpans });\n setActiveIdleSpan(client, undefined);\n\n // A trace should stay consistent over the entire timespan of one route - even after the pageload/navigation ended.\n // Only when another navigation happens, we want to create a new trace.\n // This way, e.g. errors that occur after the pageload span ended are still associated to the pageload trace.\n const scope = getCurrentScope();\n const oldPropagationContext = scope.getPropagationContext();\n\n scope.setPropagationContext({\n ...oldPropagationContext,\n traceId: idleSpan.spanContext().traceId,\n sampled: spanIsSampled(idleSpan),\n dsc: getDynamicSamplingContextFromSpan(span),\n });\n },\n });\n setActiveIdleSpan(client, idleSpan);\n\n function emitFinish() {\n if (optionalWindowDocument && ['interactive', 'complete'].includes(optionalWindowDocument.readyState)) {\n client.emit('idleSpanEnableAutoFinish', idleSpan);\n }\n }\n\n if (isPageloadTransaction && optionalWindowDocument) {\n optionalWindowDocument.addEventListener('readystatechange', () => {\n emitFinish();\n });\n\n emitFinish();\n }\n }\n\n return {\n name: BROWSER_TRACING_INTEGRATION_ID,\n afterAllSetup(client) {\n let startingUrl = getLocationHref();\n\n function maybeEndActiveSpan() {\n const activeSpan = getActiveIdleSpan(client);\n\n if (activeSpan && !spanToJSON(activeSpan).timestamp) {\n DEBUG_BUILD && logger.log(`[Tracing] Finishing current active span with op: ${spanToJSON(activeSpan).op}`);\n // If there's an open active span, we need to finish it before creating an new one.\n activeSpan.end();\n }\n }\n\n client.on('startNavigationSpan', startSpanOptions => {\n if (getClient() !== client) {\n return;\n }\n\n maybeEndActiveSpan();\n\n getIsolationScope().setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n getCurrentScope().setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n\n _createRouteSpan(client, {\n op: 'navigation',\n ...startSpanOptions,\n });\n });\n\n client.on('startPageLoadSpan', (startSpanOptions, traceOptions = {}) => {\n if (getClient() !== client) {\n return;\n }\n maybeEndActiveSpan();\n\n const sentryTrace = traceOptions.sentryTrace || getMetaContent('sentry-trace');\n const baggage = traceOptions.baggage || getMetaContent('baggage');\n\n const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n getCurrentScope().setPropagationContext(propagationContext);\n\n _createRouteSpan(client, {\n op: 'pageload',\n ...startSpanOptions,\n });\n });\n\n if (WINDOW.location) {\n if (instrumentPageLoad) {\n const origin = browserPerformanceTimeOrigin();\n startBrowserTracingPageLoadSpan(client, {\n name: WINDOW.location.pathname,\n // pageload should always start at timeOrigin (and needs to be in s, not ms)\n startTime: origin ? origin / 1000 : undefined,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser',\n },\n });\n }\n\n if (instrumentNavigation) {\n addHistoryInstrumentationHandler(({ to, from }) => {\n /**\n * This early return is there to account for some cases where a navigation transaction starts right after\n * long-running pageload. We make sure that if `from` is undefined and a valid `startingURL` exists, we don't\n * create an uneccessary navigation transaction.\n *\n * This was hard to duplicate, but this behavior stopped as soon as this fix was applied. This issue might also\n * only be caused in certain development environments where the usage of a hot module reloader is causing\n * errors.\n */\n if (from === undefined && startingUrl?.indexOf(to) !== -1) {\n startingUrl = undefined;\n return;\n }\n\n if (from !== to) {\n startingUrl = undefined;\n startBrowserTracingNavigationSpan(client, {\n name: WINDOW.location.pathname,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser',\n },\n });\n }\n });\n }\n }\n\n if (markBackgroundSpan) {\n registerBackgroundTabDetection();\n }\n\n if (enableInteractions) {\n registerInteractionListener(client, idleTimeout, finalTimeout, childSpanTimeout, latestRoute);\n }\n\n if (enableInp) {\n registerInpInteractionListener();\n }\n\n instrumentOutgoingRequests(client, {\n traceFetch,\n traceXHR,\n trackFetchStreamPerformance,\n tracePropagationTargets: client.getOptions().tracePropagationTargets,\n shouldCreateSpanForRequest,\n enableHTTPTimings,\n });\n },\n };\n}) ;\n\n/**\n * Manually start a page load span.\n * This will only do something if a browser tracing integration integration has been setup.\n *\n * If you provide a custom `traceOptions` object, it will be used to continue the trace\n * instead of the default behavior, which is to look it up on the <meta> tags.\n */\nfunction startBrowserTracingPageLoadSpan(\n client,\n spanOptions,\n traceOptions,\n) {\n client.emit('startPageLoadSpan', spanOptions, traceOptions);\n getCurrentScope().setTransactionName(spanOptions.name);\n\n return getActiveIdleSpan(client);\n}\n\n/**\n * Manually start a navigation span.\n * This will only do something if a browser tracing integration has been setup.\n */\nfunction startBrowserTracingNavigationSpan(client, spanOptions) {\n client.emit('startNavigationSpan', spanOptions);\n\n getCurrentScope().setTransactionName(spanOptions.name);\n\n return getActiveIdleSpan(client);\n}\n\n/** Returns the value of a meta tag */\nfunction getMetaContent(metaName) {\n /**\n * This is just a small wrapper that makes `document` optional.\n * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n */\n const optionalWindowDocument = WINDOW.document ;\n\n const metaTag = optionalWindowDocument?.querySelector(`meta[name=${metaName}]`);\n return metaTag?.getAttribute('content') || undefined;\n}\n\n/** Start listener for interaction transactions */\nfunction registerInteractionListener(\n client,\n idleTimeout,\n finalTimeout,\n childSpanTimeout,\n latestRoute,\n) {\n /**\n * This is just a small wrapper that makes `document` optional.\n * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n */\n const optionalWindowDocument = WINDOW.document ;\n\n let inflightInteractionSpan;\n const registerInteractionTransaction = () => {\n const op = 'ui.action.click';\n\n const activeIdleSpan = getActiveIdleSpan(client);\n if (activeIdleSpan) {\n const currentRootSpanOp = spanToJSON(activeIdleSpan).op;\n if (['navigation', 'pageload'].includes(currentRootSpanOp )) {\n DEBUG_BUILD &&\n logger.warn(`[Tracing] Did not create ${op} span because a pageload or navigation span is in progress.`);\n return undefined;\n }\n }\n\n if (inflightInteractionSpan) {\n inflightInteractionSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, 'interactionInterrupted');\n inflightInteractionSpan.end();\n inflightInteractionSpan = undefined;\n }\n\n if (!latestRoute.name) {\n DEBUG_BUILD && logger.warn(`[Tracing] Did not create ${op} transaction because _latestRouteName is missing.`);\n return undefined;\n }\n\n inflightInteractionSpan = startIdleSpan(\n {\n name: latestRoute.name,\n op,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: latestRoute.source || 'url',\n },\n },\n {\n idleTimeout,\n finalTimeout,\n childSpanTimeout,\n },\n );\n };\n\n if (optionalWindowDocument) {\n addEventListener('click', registerInteractionTransaction, { once: false, capture: true });\n }\n}\n\n// We store the active idle span on the client object, so we can access it from exported functions\nconst ACTIVE_IDLE_SPAN_PROPERTY = '_sentry_idleSpan';\nfunction getActiveIdleSpan(client) {\n return (client )[ACTIVE_IDLE_SPAN_PROPERTY];\n}\n\nfunction setActiveIdleSpan(client, span) {\n addNonEnumerableProperty(client, ACTIVE_IDLE_SPAN_PROPERTY, span);\n}\n\nexport { BROWSER_TRACING_INTEGRATION_ID, browserTracingIntegration, getMetaContent, startBrowserTracingNavigationSpan, startBrowserTracingPageLoadSpan };\n//# sourceMappingURL=browserTracingIntegration.js.map\n","const DEFAULT_HOOKS = ['activate', 'mount'];\n\nexport { DEFAULT_HOOKS };\n//# sourceMappingURL=constants.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","// Vendored from https://github.com/vuejs/vue/blob/612fb89547711cacb030a3893a0065b785802860/src/core/util/debug.js\n// with types only changes.\n\n// The MIT License (MIT)\n\n// Copyright (c) 2013-present, Yuxi (Evan) You\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nconst classifyRE = /(?:^|[-_])(\\w)/g;\nconst classify = (str) => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');\n\nconst ROOT_COMPONENT_NAME = '<Root>';\nconst ANONYMOUS_COMPONENT_NAME = '<Anonymous>';\n\nconst repeat = (str, n) => {\n return str.repeat(n);\n};\n\nconst formatComponentName = (vm, includeFile) => {\n if (!vm) {\n return ANONYMOUS_COMPONENT_NAME;\n }\n\n if (vm.$root === vm) {\n return ROOT_COMPONENT_NAME;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5204 $options can be undefined\n if (!vm.$options) {\n return ANONYMOUS_COMPONENT_NAME;\n }\n\n const options = vm.$options;\n\n let name = options.name || options._componentTag || options.__name;\n const file = options.__file;\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/);\n if (match) {\n name = match[1];\n }\n }\n\n return (\n (name ? `<${classify(name)}>` : ANONYMOUS_COMPONENT_NAME) + (file && includeFile !== false ? ` at ${file}` : '')\n );\n};\n\nconst generateComponentTrace = (vm) => {\n if (vm && (vm._isVue || vm.__isVue) && vm.$parent) {\n const tree = [];\n let currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const last = tree[tree.length - 1] ;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent; // eslint-disable-line no-param-reassign\n continue;\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent; // eslint-disable-line no-param-reassign\n }\n\n const formattedTree = tree\n .map(\n (vm, i) =>\n `${\n (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) +\n (Array.isArray(vm)\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm))\n }`,\n )\n .join('\\n');\n\n return `\\n\\nfound in\\n\\n${formattedTree}`;\n }\n\n return `\\n\\n(found in ${formatComponentName(vm)})`;\n};\n\nexport { formatComponentName, generateComponentTrace };\n//# sourceMappingURL=components.js.map\n","import { captureException } from '@sentry/core';\nimport { formatComponentName, generateComponentTrace } from './vendor/components.js';\n\nconst attachErrorHandler = (app, options) => {\n const { errorHandler: originalErrorHandler } = app.config;\n\n app.config.errorHandler = (error, vm, lifecycleHook) => {\n const componentName = formatComponentName(vm, false);\n const trace = vm ? generateComponentTrace(vm) : '';\n const metadata = {\n componentName,\n lifecycleHook,\n trace,\n };\n\n if (options.attachProps && vm) {\n // Vue2 - $options.propsData\n // Vue3 - $props\n if (vm.$options?.propsData) {\n metadata.propsData = vm.$options.propsData;\n } else if (vm.$props) {\n metadata.propsData = vm.$props;\n }\n }\n\n // Capture exception in the next event loop, to make sure that all breadcrumbs are recorded in time.\n setTimeout(() => {\n captureException(error, {\n captureContext: { contexts: { vue: metadata } },\n mechanism: { handled: !!originalErrorHandler, type: 'vue' },\n });\n });\n\n // Check if the current `app.config.errorHandler` is explicitly set by the user before calling it.\n if (typeof originalErrorHandler === 'function' && app.config.errorHandler) {\n (originalErrorHandler ).call(app, error, vm, lifecycleHook);\n } else {\n throw error;\n }\n };\n};\n\nexport { attachErrorHandler };\n//# sourceMappingURL=errorhandler.js.map\n","import { startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, getActiveSpan } from '@sentry/browser';\nimport { logger, timestampInSeconds } from '@sentry/core';\nimport { DEFAULT_HOOKS } from './constants.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { formatComponentName } from './vendor/components.js';\n\nconst VUE_OP = 'ui.vue';\n\n// Mappings from operation to corresponding lifecycle hook.\nconst HOOKS = {\n activate: ['activated', 'deactivated'],\n create: ['beforeCreate', 'created'],\n // Vue 3\n unmount: ['beforeUnmount', 'unmounted'],\n // Vue 2\n destroy: ['beforeDestroy', 'destroyed'],\n mount: ['beforeMount', 'mounted'],\n update: ['beforeUpdate', 'updated'],\n};\n\n/** Finish top-level span and activity with a debounce configured using `timeout` option */\nfunction finishRootSpan(vm, timestamp, timeout) {\n if (vm.$_sentryRootSpanTimer) {\n clearTimeout(vm.$_sentryRootSpanTimer);\n }\n\n vm.$_sentryRootSpanTimer = setTimeout(() => {\n if (vm.$root?.$_sentryRootSpan) {\n vm.$root.$_sentryRootSpan.end(timestamp);\n vm.$root.$_sentryRootSpan = undefined;\n }\n }, timeout);\n}\n\n/** Find if the current component exists in the provided `TracingOptions.trackComponents` array option. */\nfunction findTrackComponent(trackComponents, formattedName) {\n function extractComponentName(name) {\n return name.replace(/^<([^\\s]*)>(?: at [^\\s]*)?$/, '$1');\n }\n\n const isMatched = trackComponents.some(compo => {\n return extractComponentName(formattedName) === extractComponentName(compo);\n });\n\n return isMatched;\n}\n\nconst createTracingMixins = (options = {}) => {\n const hooks = (options.hooks || [])\n .concat(DEFAULT_HOOKS)\n // Removing potential duplicates\n .filter((value, index, self) => self.indexOf(value) === index);\n\n const mixins = {};\n\n for (const operation of hooks) {\n // Retrieve corresponding hooks from Vue lifecycle.\n // eg. mount => ['beforeMount', 'mounted']\n const internalHooks = HOOKS[operation];\n if (!internalHooks) {\n DEBUG_BUILD && logger.warn(`Unknown hook: ${operation}`);\n continue;\n }\n\n for (const internalHook of internalHooks) {\n mixins[internalHook] = function () {\n const isRoot = this.$root === this;\n\n if (isRoot) {\n this.$_sentryRootSpan =\n this.$_sentryRootSpan ||\n startInactiveSpan({\n name: 'Application Render',\n op: `${VUE_OP}.render`,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.vue',\n },\n onlyIfParent: true,\n });\n }\n\n // Skip components that we don't want to track to minimize the noise and give a more granular control to the user\n const name = formatComponentName(this, false);\n\n const shouldTrack = Array.isArray(options.trackComponents)\n ? findTrackComponent(options.trackComponents, name)\n : options.trackComponents;\n\n // We always want to track root component\n if (!isRoot && !shouldTrack) {\n return;\n }\n\n this.$_sentrySpans = this.$_sentrySpans || {};\n\n // Start a new span if current hook is a 'before' hook.\n // Otherwise, retrieve the current span and finish it.\n if (internalHook == internalHooks[0]) {\n const activeSpan = this.$root?.$_sentryRootSpan || getActiveSpan();\n if (activeSpan) {\n // Cancel old span for this hook operation in case it didn't get cleaned up. We're not actually sure if it\n // will ever be the case that cleanup hooks re not called, but we had users report that spans didn't get\n // finished so we finish the span before starting a new one, just to be sure.\n const oldSpan = this.$_sentrySpans[operation];\n if (oldSpan) {\n oldSpan.end();\n }\n\n this.$_sentrySpans[operation] = startInactiveSpan({\n name: `Vue ${name}`,\n op: `${VUE_OP}.${operation}`,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.vue',\n },\n // UI spans should only be created if there is an active root span (transaction)\n onlyIfParent: true,\n });\n }\n } else {\n // The span should already be added via the first handler call (in the 'before' hook)\n const span = this.$_sentrySpans[operation];\n // The before hook did not start the tracking span, so the span was not added.\n // This is probably because it happened before there is an active transaction\n if (!span) return;\n span.end();\n\n finishRootSpan(this, timestampInSeconds(), options.timeout || 2000);\n }\n };\n }\n }\n\n return mixins;\n};\n\nexport { createTracingMixins, findTrackComponent };\n//# sourceMappingURL=tracing.js.map\n","import { GLOBAL_OBJ, defineIntegration, consoleSandbox, hasSpansEnabled } from '@sentry/core';\nimport { DEFAULT_HOOKS } from './constants.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { attachErrorHandler } from './errorhandler.js';\nimport { createTracingMixins } from './tracing.js';\n\nconst globalWithVue = GLOBAL_OBJ ;\n\nconst DEFAULT_CONFIG = {\n Vue: globalWithVue.Vue,\n attachProps: true,\n attachErrorHandler: true,\n tracingOptions: {\n hooks: DEFAULT_HOOKS,\n timeout: 2000,\n trackComponents: false,\n },\n};\n\nconst INTEGRATION_NAME = 'Vue';\n\nconst vueIntegration = defineIntegration((integrationOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n const options = { ...DEFAULT_CONFIG, ...client.getOptions(), ...integrationOptions };\n if (!options.Vue && !options.app) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n '[@sentry/vue]: Misconfigured SDK. Vue specific errors will not be captured. Update your `Sentry.init` call with an appropriate config option: `app` (Application Instance - Vue 3) or `Vue` (Vue Constructor - Vue 2).',\n );\n });\n return;\n }\n\n if (options.app) {\n const apps = Array.isArray(options.app) ? options.app : [options.app];\n apps.forEach(app => vueInit(app, options));\n } else if (options.Vue) {\n vueInit(options.Vue, options);\n }\n },\n };\n});\n\nconst vueInit = (app, options) => {\n if (DEBUG_BUILD) {\n // Check app is not mounted yet - should be mounted _after_ init()!\n // This is _somewhat_ private, but in the case that this doesn't exist we simply ignore it\n // See: https://github.com/vuejs/core/blob/eb2a83283caa9de0a45881d860a3cbd9d0bdd279/packages/runtime-core/src/component.ts#L394\n const appWithInstance = app\n\n;\n\n const isMounted = appWithInstance._instance?.isMounted;\n if (isMounted === true) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n '[@sentry/vue]: Misconfigured SDK. Vue app is already mounted. Make sure to call `app.mount()` after `Sentry.init()`.',\n );\n });\n }\n }\n\n if (options.attachErrorHandler) {\n attachErrorHandler(app, options);\n }\n\n if (hasSpansEnabled(options)) {\n app.mixin(createTracingMixins(options.tracingOptions));\n }\n};\n\nexport { vueIntegration };\n//# sourceMappingURL=integration.js.map\n","/* eslint-disable import/first */\nimport Vue from 'vue'\n\nimport InfiniteLoading from 'vue-infinite-loading'\nVue.use(InfiniteLoading, {\n props: {\n spinner: 'spiral'\n // slots.noMore: ''\n }\n // system: {\n // throttleLimit: 50,\n // /* other settings need to configure */\n // }\n})\n\n// import vueVimeoPlayer from 'vue-vimeo-player'\n// Vue.use(vueVimeoPlayer)\n// import VueYouTubeEmbed from 'vue-youtube-embed'\n// Vue.use(VueYouTubeEmbed)\n// LOADED IN COMPONENT\n// import CoolLightBox from 'vue-cool-lightbox'\n// Vue.use(CoolLightBox)\n\nimport VModal from 'vue-js-modal'\nVue.use(VModal, { dialog: true })\n\nimport router from 'vuejs/route'\nimport store from 'vuejs/store'\n\n// import VueI18n from 'vue-i18n'\n// Vue.use(VueI18n)\n// import * as Locales from 'assets/i18n/locales.json'\nimport { i18n, loadLanguageAsync } from 'vuejs/i18n'\n\nimport VueMeta from 'vue-meta'\nVue.use(VueMeta)\n\n// LOADED IN COMPONENT\n// import VueSimpleAccordion from 'vue-simple-accordion'\n// Vue.use(VueSimpleAccordion, {\n// // ... Options go here\n// })\n// import 'vue-simple-accordion/dist/vue-simple-accordion.css'\n\nimport Vue2TouchEvents from 'vue2-touch-events'\nVue.use(Vue2TouchEvents)\n\nimport VUserBlock from 'vuejs/components/Block/UserBlock'\nimport VMainContent from 'vuejs/components/Content/MainContent'\nimport VSearchBlock from 'vuejs/components/Block/SearchBlock'\nimport VLeftContent from 'vuejs/components/Content/LeftContent'\nimport VHeaderMenu from 'vuejs/components/Content/HeaderMenu'\nimport VLanguageSwitcher from 'vuejs/components/Content/LanguageSwitcher'\nimport GlobCoolLightBox from 'vuejs/components/Content/GlobCoolLightBox'\n\nimport { mapState } from 'vuex'\n\n// import 'vue-cool-lightbox/dist/vue-cool-lightbox.min.css'\n\nimport 'theme/assets/styles/main.scss'\nimport 'theme/assets/styles/print.scss'\n\nimport MA from 'vuejs/api/ma-axios'\n\nimport * as Sentry from '@sentry/browser'\nimport * as VueSentry from '@sentry/vue'\n\nSentry.init({\n dsn: 'https://7c0e73518188407d9d1f1b1f1f87d457@frontlog.figli.io/3',\n // release: \"\",\n integrations: [\n Sentry.browserTracingIntegration()\n // Sentry.replayIntegration(),\n ],\n tracesSampleRate: 1.0\n // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled\n // tracePropagationTargets: [\"localhost\", /^https:\\/\\/yourserver\\.io\\/api/],\n // // Capture Replay for 10% of all sessions,\n // // plus for 100% of sessions with an error\n // // Learn more at\n // // https://docs.sentry.io/platforms/javascript/session-replay/configuration/#general-integration-configuration\n // replaysSessionSampleRate: 0.1,\n // replaysOnErrorSampleRate: 1.0,\n})\n\nsetTimeout(() => {\n throw new Error('Sentry Test Error')\n})\n\nVueSentry.init({\n Vue,\n dsn: 'https://7c0e73518188407d9d1f1b1f1f87d457@frontlog.figli.io/3',\n integrations: [\n ]\n // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled\n // tracePropagationTargets: [\"localhost\", /^https:\\/\\/yourserver\\.io\\/api/],\n})\n\nexport let _v_sitebranding_block, _v_user_block, _v_header_menu, _v_language_switcher,\n _v_pagetitle_block, _v_search_block,\n _v_main_content, _v_left_content,\n _v_glob_coollightbox\n\n(function (Drupal, drupalSettings, drupalDecoupled) {\n const MaterioTheme = function () {\n const _is_front = drupalSettings.path.isFront\n console.log('drupalSettings', drupalSettings)\n\n // let _I18n\n\n // ___ _ _\n // |_ _|_ _ (_) |_\n // | || ' \\| | _|\n // |___|_||_|_|\\__|\n function init () {\n console.log('MaterioTheme init()')\n initVues()\n }\n\n function checkNoVuePages () {\n // return drupalDecoupled.sys_path != '/cart'\n // && drupalDecoupled.sys_path.indexOf('checkout') != 1;\n // if (drupalDecoupled.route_name.indexOf('commerce') === -1 &&\n // drupalDecoupled.route_name.indexOf('flagging_collection') === -1 &&\n // drupalDecoupled.route_name.indexOf('user') === -1 &&\n // drupalDecoupled.route_name !== 'entity.webform.canonical' &&\n // (drupalDecoupled.route_name === 'entity.webform.canonical' && drupalDecoupled.sys_path.indexOf('/webform/multi_joueur') === -1)) {\n // return false\n // } else {\n // return true\n // }\n if (drupalDecoupled.route_name.indexOf('commerce') !== -1 ||\n drupalDecoupled.route_name.indexOf('flagging_collection') !== -1 ||\n drupalDecoupled.route_name.indexOf('user') !== -1 ||\n drupalDecoupled.route_name.indexOf('profile') !== -1 ||\n drupalDecoupled.route_name.indexOf('entity.webform.canonical') !== -1 ||\n drupalDecoupled.route_name.indexOf('entity.webform.confirmation') !== -1 ||\n drupalDecoupled.route_name.indexOf('materio_expo.qr_controller_getfile') !== -1 ||\n (drupalDecoupled.route_name === 'entity.node.canonical' && drupalDecoupled.entity_bundle === 'simplenews_issue') ||\n drupalDecoupled.route_name.indexOf('simplenews') !== -1\n ) {\n console.debug('NO VUEJS')\n return true\n } else {\n console.debug('VUJS')\n return false\n }\n }\n\n function initVues () {\n // only launch views if we are not in commerce pages\n if (!checkNoVuePages()) {\n initVRouter()\n initVSiteBrandingBlock()\n initVPagetitleBlock()\n initVHeaderMenu()\n initVLanguageSwitcher()\n initHamburgerMenu()\n initVSearchBlock()\n initVMainContent()\n initVStore()\n initVi18n()\n initVLeftContent()\n initCoolLightBox()\n }\n initVUserBlock()\n }\n\n function initVi18n () {\n // i18n.locale = drupalDecoupled.lang_code\n // console.log('i18n.messages', i18n.messages)\n loadLanguageAsync(drupalDecoupled.lang_code)\n .then(() => {\n console.log('main.js language loaded')\n })\n }\n\n function initVStore () {\n store.dispatch('Showrooms/getShowrooms')\n }\n\n function initVRouter () {\n // we need this to update the title and body classes while using history nav\n router.beforeEach((to, from, next) => {\n console.log('router beforeEach to ', to, router.app.$i18n)\n // commit new title to store\n let title = null\n switch (to.name) {\n case 'home':\n title = null\n break\n case 'article':\n title = false\n break\n case 'pricing':\n title = i18n.t('materio.' + to.name)\n break\n default:\n title = to.name\n }\n if (title !== false) {\n store.commit('Common/setPagetitle', title)\n }\n\n // remove all path related body classes\n const body_classes = document.querySelector('body').classList\n const classes_to_rm = []\n for (let i = 0; i < body_classes.length; i++) {\n if (body_classes[i].startsWith('path-')) {\n classes_to_rm.push(body_classes[i])\n }\n }\n document.querySelector('body').classList.remove(...classes_to_rm)\n // add new path classes to body\n const classes = []\n if (to.name === 'home') {\n classes.push('path-home')\n } else {\n const path_parts = to.path\n .replace(/^\\//, '')\n .replace(/^\\D{2,3}\\//, '') // remove language relative prefix from path classes (fr, en, etc)\n .split('/')\n let c\n for (let j = 0; j < path_parts.length; j++) {\n if (j === 0) {\n c = 'path-' + path_parts[j]\n } else if (path_parts[j] !== '') {\n c = classes[j - 1] + '-' + path_parts[j]\n }\n classes.push(c)\n }\n }\n document.querySelector('body').classList.add(...classes)\n\n updateLanguageLinksBlock(to.path)\n\n // close the hamburger menu\n store.dispatch('Common/openCloseHamMenu', false)\n\n // trigger router\n next()\n })\n }\n\n function initVLanguageSwitcher () {\n console.log('initVLanguageSwitcher')\n const id = 'block-languageswitcher'\n const $html_obj = document.querySelector('#' + id)\n console.log('initVLanguageSwitcher $html_obj', $html_obj)\n const html = $html_obj.outerHTML\n console.log('initVLanguageSwitcher html', html)\n _v_language_switcher = new Vue({\n store,\n i18n,\n router,\n render: h => h(VLanguageSwitcher, { props: { id: id, dom_html: html } })\n }).$mount('#' + id)\n }\n\n function updateLanguageLinksBlock (path) {\n // update block language selection\n console.log('router beforeEach path ', path)\n const links = document.querySelectorAll('#block-languageswitcher a.language-link')\n\n const params = {\n path: path\n // XDEBUG_SESSION_START: true\n }\n\n MA.post('materio_decoupled/path_translation_links?', params)\n .then(({ data }) => {\n console.log('Path translations links', data)\n if (data.error) {\n console.warn('error getting translation paths', data.error)\n }\n\n links.forEach((link, i) => {\n console.log('language link', path, link)\n const hreflang = link.getAttribute('hreflang')\n\n link.setAttribute('href', data.links[hreflang].url)\n link.setAttribute('data-drupal-link-system-path', data.links[hreflang].sys_path)\n\n link.innerHTML = data.links[hreflang].title\n })\n })\n .catch(error => {\n console.warn('Path translations links', error)\n })\n }\n\n function initVSiteBrandingBlock () {\n _v_sitebranding_block = new Vue({\n store,\n i18n,\n router,\n el: '#block-sitebranding',\n methods: {\n onclick (event) {\n // console.log('router beforeEach to ', to)\n const href = event.target.getAttribute('href')\n // console.log('router beforeEach to ', to)\n this.$router.push(href)\n // replaced by router.beforeEach\n // this.$store.commit('Common/setPagetitle', null)\n }\n }\n })\n }\n\n function initVPagetitleBlock () {\n const $blk = document.querySelector('#block-pagetitle')\n const $h2 = $blk.querySelector('h2')\n // get the loaded pagetitle\n const title = $h2.innerText\n // if not front recorde the loaded pagetitle in store\n if (!_is_front) {\n store.commit('Common/setPagetitle', title)\n }\n // replace in template the pagetitle by vue binding\n $h2.innerText = '{{ pagetitle }}'\n // create the vue\n _v_pagetitle_block = new Vue({\n store,\n i18n,\n router,\n el: $blk,\n computed: {\n ...mapState({\n pagetitle: state => state.Common.pagetitle\n })\n }\n })\n }\n\n function initVUserBlock () {\n const mount_point = drupalSettings.user.uid !== 0 ? 'block-userblock' : 'block-userlogin'\n const props = {\n title: '',\n loginblock: ''\n }\n let $block\n switch (mount_point) {\n case 'block-userlogin':\n $block = document.getElementById(mount_point)\n console.log('initVUserBlock login form html', $block)\n props.loginblock = $block.outerHTML.trim()\n break\n case 'block-userblock':\n default:\n break\n }\n\n _v_user_block = new Vue({\n store,\n i18n,\n // computed: {\n // ...mapState({\n // isloggedin: state => state.User.isloggedin\n // })\n // },\n created () {\n // if already loggedin, call store.user to get the user infos\n if (drupalSettings.user.uid !== 0) {\n this.$store.commit('User/setUid', drupalSettings.user.uid)\n this.$store.dispatch('User/getUser')\n }\n },\n render: h => h(VUserBlock, { props: props })\n }).$mount('#' + mount_point)\n // console.log('router beforeEach to ', to)\n }\n\n function initVHeaderMenu () {\n // console.log('router beforeEach to ', to)\n const id = 'block-header'\n const $html_obj = document.querySelector('#' + id)\n // console.log('router beforeEach to ', to)\n const html = $html_obj.outerHTML\n _v_header_menu = new Vue({\n store,\n i18n,\n router,\n render: h => h(VHeaderMenu, { props: { id: id, dom_html: html } })\n }).$mount('#' + id)\n }\n\n function initHamburgerMenu () {\n const input = document.querySelector('input#header-block-right-toggle')\n input.addEventListener('change', (e) => {\n console.log('initHamburgerMenu input change ', e)\n store.dispatch('Common/openCloseHamMenu', e.currentTarget.checked)\n })\n }\n\n function initVMainContent () {\n const id = 'main-content'\n const $main_content = document.querySelector('#' + id)\n // console.log('router beforeEach to ', to)\n const main_html = $main_content.innerHTML\n _v_main_content = new Vue({\n store,\n i18n,\n metaInfo: {\n // if no subcomponents specify a metaInfo.title, this title will be used\n title: \"materiO'\",\n // all titles will be injected into this template\n titleTemplate: \"%s | materiO'\"\n },\n render: h => h(VMainContent, { props: { id: id, html: main_html, isfront: drupalSettings.path.isFront } })\n }).$mount('#' + id)\n }\n\n function initVSearchBlock () {\n // console.log('router beforeEach to ', to)\n const id = 'block-materiosapisearchblock'\n let $search_block = document.getElementById(id)\n let formhtml = null\n if ($search_block) {\n // get the search form html to pass it as template to the vue\n // we gain display speed vs async downloaded data\n formhtml = $search_block.innerHTML\n } else {\n // else create the empty block to fill it later with async data\n $search_block = document.createElement('div')\n $search_block.setAttribute('id', id)\n // TODO: get region by REST\n const $region = document.getElementById('header-bottom')\n $region.appendChild($search_block)\n }\n\n // in any case create the vue\n _v_search_block = new Vue({\n store,\n i18n,\n render: h => h(VSearchBlock, { props: { blockid: id, formhtml: formhtml } })\n }).$mount('#' + id)\n }\n function initVLeftContent () {\n const id = 'content-left'\n // const $leftContent = document.getElementById(id)\n // in any case create the vue\n _v_left_content = new Vue({\n store,\n i18n,\n render: h => h(VLeftContent, { props: { id: id } })\n }).$mount('#' + id)\n }\n function initCoolLightBox () {\n const id = 'glog-coollightbox'\n const $clb_elmt = document.createElement('div')\n $clb_elmt.setAttribute('id', id)\n const $body = document.querySelector('body')\n $body.appendChild($clb_elmt)\n\n _v_glob_coollightbox = new Vue({\n store,\n i18n,\n render: h => h(GlobCoolLightBox, { props: { } })\n }).$mount('#' + id)\n console.log('_v_glob_coollightbox', _v_glob_coollightbox)\n }\n init()\n } // end MaterioTheme()\n\n // const materiotheme = new MaterioTheme()\n MaterioTheme()\n})(Drupal, drupalSettings, drupalDecoupled)\n","import { getActiveSpan, getRootSpan, spanToJSON, logger, SPAN_STATUS_ERROR } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\nfunction registerBackgroundTabDetection() {\n if (WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n const activeSpan = getActiveSpan();\n if (!activeSpan) {\n return;\n }\n\n const rootSpan = getRootSpan(activeSpan);\n\n if (WINDOW.document.hidden && rootSpan) {\n const cancelledStatus = 'cancelled';\n\n const { op, status } = spanToJSON(rootSpan);\n\n if (DEBUG_BUILD) {\n logger.log(`[Tracing] Transaction: ${cancelledStatus} -> since tab moved to the background, op: ${op}`);\n }\n\n // We should not set status if it is already set, this prevent important statuses like\n // error or data loss from being overwritten on transaction.\n if (!status) {\n rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message: cancelledStatus });\n }\n\n rootSpan.setAttribute('sentry.cancellation_reason', 'document.hidden');\n rootSpan.end();\n }\n });\n } else {\n DEBUG_BUILD && logger.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n }\n}\n\nexport { registerBackgroundTabDetection };\n//# sourceMappingURL=backgroundtab.js.map\n","import { getDefaultIntegrations, init as init$1 } from '@sentry/browser';\nimport { applySdkMetadata } from '@sentry/core';\nimport { vueIntegration } from './integration.js';\n\n/**\n * Inits the Vue SDK\n */\nfunction init(options = {}) {\n const opts = {\n defaultIntegrations: [...getDefaultIntegrations(options), vueIntegration()],\n ...options,\n };\n\n applySdkMetadata(opts, 'vue');\n\n return init$1(opts);\n}\n\nexport { init };\n//# sourceMappingURL=sdk.js.map\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inspect;\n\nvar _nodejsCustomInspectSymbol = _interopRequireDefault(require(\"./nodejsCustomInspectSymbol.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nfunction inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(_nodejsCustomInspectSymbol.default)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = rfdc;\n\nfunction copyBuffer(cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur);\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);\n}\n\nfunction rfdc(opts) {\n opts = opts || {};\n if (opts.circles) return rfdcCircles(opts);\n return opts.proto ? cloneProto : clone;\n\n function cloneArray(a, fn) {\n var keys = Object.keys(a);\n var a2 = new Array(keys.length);\n\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n var cur = a[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n a2[k] = cur;\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur);\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur);\n } else {\n a2[k] = fn(cur);\n }\n }\n\n return a2;\n }\n\n function clone(o) {\n if (_typeof(o) !== 'object' || o === null) return o;\n if (o instanceof Date) return new Date(o);\n if (Array.isArray(o)) return cloneArray(o, clone);\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone));\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone));\n var o2 = {};\n\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue;\n var cur = o[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone));\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone));\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n o2[k] = clone(cur);\n }\n }\n\n return o2;\n }\n\n function cloneProto(o) {\n if (_typeof(o) !== 'object' || o === null) return o;\n if (o instanceof Date) return new Date(o);\n if (Array.isArray(o)) return cloneArray(o, cloneProto);\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto));\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto));\n var o2 = {};\n\n for (var k in o) {\n var cur = o[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n o2[k] = cloneProto(cur);\n }\n }\n\n return o2;\n }\n}\n\nfunction rfdcCircles(opts) {\n var refs = [];\n var refsNew = [];\n return opts.proto ? cloneProto : clone;\n\n function cloneArray(a, fn) {\n var keys = Object.keys(a);\n var a2 = new Array(keys.length);\n\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n var cur = a[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n a2[k] = cur;\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur);\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur);\n } else {\n var index = refs.indexOf(cur);\n\n if (index !== -1) {\n a2[k] = refsNew[index];\n } else {\n a2[k] = fn(cur);\n }\n }\n }\n\n return a2;\n }\n\n function clone(o) {\n if (_typeof(o) !== 'object' || o === null) return o;\n if (o instanceof Date) return new Date(o);\n if (Array.isArray(o)) return cloneArray(o, clone);\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone));\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone));\n var o2 = {};\n refs.push(o);\n refsNew.push(o2);\n\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue;\n var cur = o[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone));\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone));\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n var i = refs.indexOf(cur);\n\n if (i !== -1) {\n o2[k] = refsNew[i];\n } else {\n o2[k] = clone(cur);\n }\n }\n }\n\n refs.pop();\n refsNew.pop();\n return o2;\n }\n\n function cloneProto(o) {\n if (_typeof(o) !== 'object' || o === null) return o;\n if (o instanceof Date) return new Date(o);\n if (Array.isArray(o)) return cloneArray(o, cloneProto);\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto));\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto));\n var o2 = {};\n refs.push(o);\n refsNew.push(o2);\n\n for (var k in o) {\n var cur = o[k];\n\n if (_typeof(cur) !== 'object' || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n var i = refs.indexOf(cur);\n\n if (i !== -1) {\n o2[k] = refsNew[i];\n } else {\n o2[k] = cloneProto(cur);\n }\n }\n }\n\n refs.pop();\n refsNew.pop();\n return o2;\n }\n}","// https://forum.vuejs.org/t/how-to-use-helper-functions-for-imported-modules-in-vuejs-vue-template/6266/5\nexport default {\n directives: {\n lazy: {\n bind (figure, binding) {\n // console.log('directive lazy bind', figure, binding)\n // show only the first image\n if (binding.value === 0) {\n const img = figure.querySelector('img:not(.blank)')\n figure.classList.add('loading')\n img.addEventListener('load', function (e) {\n // console.log('img loaded', e)\n figure.classList.remove('loading')\n figure.classList.add('loaded')\n })\n img.addEventListener('error', function (e) {\n console.error('img ERROR', e)\n e.target.classList.remove('loading')\n e.target.classList.add('error')\n })\n img.setAttribute('src', img.getAttribute('data-src'))\n // img.removeAttribute('data-src')\n // img.classList.remove('lazy')\n }\n }\n },\n switcher: {\n inserted (el, binding) {\n // switch images on mousemove\n el.addEventListener('mousemove', function (event) {\n const figs = this.querySelectorAll('figure.loaded')\n // console.log('mousemove', figs.length, this, event)\n // let len = figs.length\n // let w = this.clientWidth;\n // let g = w / len;\n // let delta = Math.floor(event.layerX / g)\n // console.log(event.offsetX, this.clientWidth, figs.length)\n // console.log(event.offsetX / (this.clientWidth / figs.length))\n let delta = Math.floor(event.offsetX / (this.clientWidth / figs.length))\n delta = delta < 0 ? 0 : delta >= figs.length ? figs.length - 1 : delta\n // console.log('delta', delta)\n figs.forEach((fig, index) => {\n // console.log(index)\n if (index === delta) {\n // fig.style.display = \"block\"\n fig.classList.remove('hide')\n fig.classList.add('show')\n } else {\n // fig.style.display = \"none\"\n fig.classList.remove('show')\n fig.classList.add('hide')\n }\n })\n })\n }\n }\n },\n mounted () {\n // lazy load images on mouseover\n // console.log('card mounted', this.$options.name)\n // if (this.$options.name ==! 'ModalCard') {\n this.activateLazyLoad()\n // }\n },\n updated () {\n // lazy load images on mouseover\n // console.log('card updated', this.$options.name)\n // if (this.$options.name ==! 'ModalCard') {\n this.activateLazyLoad()\n // }\n },\n methods: {\n // used by ModalCard\n activateLazyLoad () {\n // console.log('card activateLazyLoad', this.$options.name)\n\n this.$el.addEventListener('mouseover', function (event) {\n const figures = this.querySelectorAll('.images figure.lazy:not(.loaded):not(.loading)')\n console.log('mouseover', this, figures)\n figures.forEach((figure, index) => {\n const img = figure.querySelector('img:not(.blank)')\n // console.log('forEach img',img)\n img.classList.add('loading')\n img.addEventListener('load', function (e) {\n // console.log('img loaded', e)\n figure.classList.remove('loading')\n figure.classList.add('loaded')\n })\n img.addEventListener('error', function (e) {\n console.error('img ERROR', figure, e)\n })\n const src = img.getAttribute('data-src')\n\n // for debug purpose\n console.log(figures.length, index)\n // let src = img.getAttribute('data-src')\n // if (index > 0 && index < figures.length - 1) {\n // src = img.getAttribute('data-src').replace('?', '/bad?')\n // }\n\n img.setAttribute('src', src)\n // img.removeAttribute('data-src')\n // img.classList.remove('lazy')\n })\n }, { once: true })\n }\n }\n}\n","import axios from 'axios'\n\n// https://github.com/alvar0hurtad0/drupal-vuejs-todo/blob/master/frontend/src/api/axiosInterceptor.js\n\n// console.log('drupalSettings', drupalSettings)\n\n// axios.interceptors.response.use(\n// response => {\n// // console.log('ma-axios interceptor response', response)\n// return Promise.resolve(response)\n// // return response\n// },\n// error => {\n// const { status } = error.response\n// console.warn('error in ma-axios response interceptor, status:', status)\n// if (status === 403) {\n// window.location = '/'\n// }\n// return Promise.reject(error)\n// }\n// )\n\nconst MA = axios.create({\n baseURL: window.location.origin + '/' + drupalSettings.path.pathPrefix,\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/json'\n // \"X-CSRF-Token\": \"csrf_token\"\n }\n})\n\nMA.interceptors.response.use(\n response => {\n // console.log('ma-axios interceptor response', response)\n return Promise.resolve(response)\n // return response\n },\n error => {\n const { status } = error.response\n console.warn('error in ma-axios interceptor', status)\n if (status === 403) {\n window.location = '/'\n }\n return Promise.reject(error)\n }\n)\n\nexport default MA\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.F = {};\n__webpack_require__.E = (chunkId) => {\n\tObject.keys(__webpack_require__.F).map((key) => {\n\t\t__webpack_require__.F[key](chunkId);\n\t});\n}","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"273\":\"module-thematique\",\"413\":\"module-showrooms\",\"562\":\"module-blabla\",\"574\":\"module-article\",\"634\":\"module-pricing\",\"655\":\"module-base\"}[chunkId] + \".\" + {\"273\":\"6999076d3b24cce0d4ea\",\"413\":\"fb77eff450cf89bb2f43\",\"562\":\"02d7d2034e7287bc9e40\",\"574\":\"f39260d40a7d3c5bea70\",\"634\":\"4bbb30943e8e2ecd7153\",\"655\":\"c8f2a82bb09a56a1e76c\"}[chunkId] + \".bundle.js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + \"main\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/themes/custom/materiotheme/assets/dist/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n__webpack_require__.F.j = (chunkId) => {\n\tif((!__webpack_require__.o(installedChunks, chunkId) || installedChunks[chunkId] === undefined) && true) {\n\t\tinstalledChunks[chunkId] = null;\n\t\tvar link = document.createElement('link');\n\t\tlink.charset = 'utf-8';\n\n\t\tif (__webpack_require__.nc) {\n\t\t\tlink.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tlink.rel = \"prefetch\";\n\t\tlink.as = \"script\";\n\t\tlink.href = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\tdocument.head.appendChild(link);\n\t}\n};\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmaterio_com\"] = self[\"webpackChunkmaterio_com\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.O(0, [792], () => {\n\t[655,273,562,574,413,634].map(__webpack_require__.E);\n}, 5);","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [844], () => (__webpack_require__(9423)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","root","module","exports","Date","now","value","BYTE_UNITS","BIBYTE_UNITS","BIT_UNITS","BIBIT_UNITS","toLocaleString","number","locale","options","result","Array","isArray","undefined","Number","isFinite","TypeError","UNITS","Object","assign","bits","binary","signed","isNegative","prefix","localeOptions","minimumFractionDigits","maximumFractionDigits","exponent","Math","min","floor","log","log10","length","pow","toPrecision","ast","_visitor","visit","leave","printDocASTReducer","_blockString","Name","node","Variable","name","Document","join","definitions","OperationDefinition","op","operation","varDefs","wrap","variableDefinitions","directives","selectionSet","VariableDefinition","_ref","variable","type","defaultValue","SelectionSet","_ref2","block","selections","Field","_ref3","alias","args","arguments","argsLine","indent","Argument","_ref4","FragmentSpread","_ref5","InlineFragment","_ref6","typeCondition","FragmentDefinition","_ref7","concat","IntValue","_ref8","FloatValue","_ref9","StringValue","_ref10","key","printBlockString","JSON","stringify","BooleanValue","_ref11","NullValue","EnumValue","_ref12","ListValue","_ref13","values","ObjectValue","_ref14","fields","ObjectField","_ref15","Directive","_ref16","NamedType","_ref17","ListType","_ref18","NonNullType","_ref19","SchemaDefinition","addDescription","_ref20","operationTypes","OperationTypeDefinition","_ref21","ScalarTypeDefinition","_ref22","ObjectTypeDefinition","_ref23","interfaces","FieldDefinition","_ref24","hasMultilineItems","InputValueDefinition","_ref25","InterfaceTypeDefinition","_ref26","UnionTypeDefinition","_ref27","types","EnumTypeDefinition","_ref28","EnumValueDefinition","_ref29","InputObjectTypeDefinition","_ref30","DirectiveDefinition","_ref31","repeatable","locations","SchemaExtension","_ref32","ScalarTypeExtension","_ref33","ObjectTypeExtension","_ref34","InterfaceTypeExtension","_ref35","UnionTypeExtension","_ref36","EnumTypeExtension","_ref37","InputObjectTypeExtension","_ref38","cb","description","maybeArray","_maybeArray$filter$jo","separator","filter","x","array","start","maybeString","str","replace","isMultiline","indexOf","some","doc","loc","source","collectFragmentReferences","refs","kind","add","forEach","selection","def","definitionRefs","findOperation","i","element","Set","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","push","oneQuery","Symbol","objectProto","prototype","nativeObjectToString","toString","symToStringTag","toStringTag","isOwn","call","tag","unmasked","e","REST","baseURL","window","location","origin","drupalSettings","path","pathPrefix","withCredentials","headers","interceptors","response","use","Promise","resolve","error","status","console","warn","reject","defineProperty","condition","message","Boolean","Error","stringifyPrimitive","v","obj","sep","eq","map","objectKeys","k","ks","encodeURIComponent","xs","f","res","keys","reWhitespace","string","index","test","charAt","Cancel","this","__CANCEL__","utils","ignoreDuplicateOf","val","parsed","split","line","trim","substr","toLowerCase","render","_vm","_c","_self","material","loading","staticClass","_v","rawName","expression","arg","_s","title","short_description","reference","ref","on","$event","preventDefault","onCloseModalCard","apply","modifiers","$t","_l","coll","id","class","flagIsLoading","flagIsActive","attrs","onFlagActionCard","_e","collsLength","domProps","_k","keyCode","stopPropagation","onCreateFlagColl","target","composing","new_folder_name","addFlagBtnClassObj","samples","sample","showroom","note","onNoteInput","body","attachmt","file","fid","url","filename","prettyFileSize","filesize","manufacturer","manu","website","shortUrl","email","phone","country","country_name","distributor","distrib","linked_materials","m","img","style_cardfull","blanksrc","setLightBox","_withStripped","openModalCard","item","style_linkedmaterialcard","ModalCard","props","mixins","cardMixins","data","themePath","loadingItem","computed","isloggedin","state","User","methods","itemIsLoading","isLoggedin","$modal","show","addNoteId","draggable","classes","width","height","MemberWarning","prettyBytes","_debounce","components","LinkedMaterialCard","VsaList","VsaItem","VsaHeading","VsaContent","VsaIcon","is_creating_folder","loadingFlag","lightbox_index","note_id","csrf_token","flagcolls","showrooms","Showrooms","showrooms_by_tid","coolLightBoxItems","Common","coolLightBoxIndex","active","created","loadMaterial","debouncedSaveNote","saveNote","createFlagColl","flagUnflag","setcoolLightBoxItems","setcoolLightBoxIndex","drupalDecoupled","lang_code","post","query","then","materiau","contenu","images","catch","collid","action","items","getAttribute","hide","onSwipeCard","bytes","parseInt","updateNote","createNote","params","target_id","field_contenu","config","patch","field_target","nid","onTapTool","parentNode","querySelectorAll","classList","remove","onTapCard","tagName","$refs","__assign","t","s","n","p","create","SuppressedError","devAssert","_typeof","iterator","constructor","asyncIterator","SYMBOL_TO_STRING_TAG","getLocation","position","match","lineRegexp","column","exec","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","locationOffset","whitespace","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","lines","locationLine","subLineIndex","subLineColumnNum","subLines","slice","printPrefixedLines","subLine","existingLines","padLen","max","len","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_defineProperty","configurable","writable","_defineProperties","descriptor","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","fn","Function","get","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","a","instance","bind","sham","Proxy","o","setPrototypeOf","__proto__","getPrototypeOf","GraphQLError","_Error","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","Constructor","protoProps","staticProps","_super","Super","NewTarget","nodes","positions","originalError","extensions","_nodeLocations","_nodeLocations2","_nodeLocations3","_this","_classCallCheck","undefinedIfEmpty","nodeLocations","_i2","_this$nodes","pos","originalExtensions","getOwnPropertyDescriptors","defineProperties","_objectSpread","stack","captureStackTrace","output","_i4","_error$nodes2","_i6","_error$locations2","printError","_error$message","formatError","syntaxError","Kind","freeze","NAME","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","for","defineInspect","classObject","toJSON","invariant","inspect","Location","startToken","endToken","end","Token","prev","next","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","COMMENT","formatValue","seenValues","previouslySeenValues","customInspectFn","String","getCustomFn","customValue","remaining","formatArray","getObjectTag","properties","formatObject","formatObjectValue","Source","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","dedentBlockStringValue","rawString","commonIndent","_commonIndent","isFirstLine","isEmptyLine","charCodeAt","getBlockStringIndentation","startLine","isBlank","endLine","Lexer","startOfFileToken","lastToken","token","lineStart","_proto","advance","lookahead","_token$next","readToken","printCharCode","code","isNaN","fromCharCode","toUpperCase","lexer","bodyLength","_line","_col","readComment","readBlockString","readString","readNumber","readName","unexpectedCharacterMessage","col","firstCode","isFloat","readDigits","isNameStart","b","c","d","chunkStart","charCode","char2hex","invalidSequence","rawValue","Parser","sourceObj","instanceOf","isSource","_lexer","_options","parseName","expectToken","parseDocument","many","parseDefinition","peek","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","parseTypeReference","expectOptionalToken","parseValueLiteral","parseSelection","parseFragment","parseField","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","parseNamedType","_this$_options","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","any","_this2","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","parseOperationTypeDefinition","parseImplementsInterfaces","parseFieldsDefinition","_this$_options2","allowLegacySDLImplementsInterfaces","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","parseDirectiveLocations","parseDirectiveLocation","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","delimiterKind","isPunctuatorTokenKind","docCache","fragmentSourceMap","printFragmentWarnings","normalize","processFragments","seenKeys","fragmentDefinition","fragmentName","sourceKey","substring","sourceKeySet","cacheKey","parse","allowLegacyFragmentVariables","workSet","stripLoc","gql","literals","_i","gql_1","extras","clear","resetCaches","disableFragmentWarnings","enableExperimentalFragmentVariables","disableExperimentalFragmentVariables","l","r","__esModule","default","locals","btoa","unescape","sources","sourceRoot","css","media","sourceMap","parts","document","DEBUG","head","getElementsByTagName","u","navigator","userAgent","h","createElement","appendChild","querySelector","removeChild","w","y","g","styleSheet","cssText","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","throttleLimit","loopCheckTimeout","loopCheckMaxCalls","passive","addEventListener","STATE_CHANGER","INFINITE_EVENT","IDENTIFIER","INFINITE_LOOP","READY","LOADING","COMPLETE","ERROR","color","fontSize","padding","mode","spinner","distance","forceUseInfiniteWrapper","system","slots","noResults","noMore","errorBtnText","WARNINGS","ERRORS","STATUS","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","spinnerView","$attrs","spinnerInConfig","$createElement","__inject__","timers","caches","throttle","setTimeout","splice","shift","reset","clearTimeout","isChecked","timer","times","track","getScrollElm","documentElement","save","scrollHeight","restore","scrollTop","offsetWidth","offsetHeight","scrollParent","scrollHandler","isFirstLoad","Spinner","isShowSpinner","isShowError","isShowNoResults","isShowNoMore","slotStyles","$slots","direction","identifier","onInfinite","watch","stateChanger","mounted","$watch","getScrollParent","immediate","Event","$el","attemptLoad","$on","$nextTick","$forceUpdate","removeEventListener","loaded","$emit","complete","deactivated","activated","getCurrentDistance","pageYOffset","getBoundingClientRect","top","innerHeight","bottom","getComputedStyle","overflowY","hasAttribute","destroyed","style","_t","trigger","textContent","click","E","productionTip","component","Vue","getRawTag","objectToString","z","__entries__","delete","requestAnimationFrame","MutationObserver","addObserver","observers_","connected_","connect_","removeObserver","disconnect_","refresh","updateObservers_","gatherActive","hasActive","broadcastActive","onTransitionEnd_","mutationsObserver_","observe","attributes","childList","characterData","subtree","mutationEventsAdded_","disconnect","propertyName","getInstance","instance_","ownerDocument","defaultView","parseFloat","reduce","clientWidth","clientHeight","left","right","boxSizing","round","abs","SVGGraphicsElement","SVGElement","getBBox","isActive","contentRect_","broadcastWidth","broadcastHeight","broadcastRect","_","DOMRectReadOnly","contentRect","Element","observations_","controller_","unobserve","clearActive","activeObservations_","callbackCtx_","callback_","T","WeakMap","O","S","ResizeObserver","visible","containerClass","guaranteedOverlayTransition","beforeOverlayTransitionEnter","afterOverlayTransitionEnter","beforeOverlayTransitionLeave","afterOverlayTransitionLeave","visibility","overlay","currentTarget","onOverlayClick","guaranteedModalTransition","beforeModalTransitionEnter","afterModalTransitionEnter","beforeModalTransitionLeave","afterModalTransitionLeave","modal","modalClass","modalStyle","role","resizable","isAutoHeight","minWidth","minHeight","maxWidth","maxHeight","viewportHeight","viewportWidth","resizeIndicator","resizeEdges","resize","onModalResize","includes","className","getID","done","return","innerWidth","touches","W","X","J","MAX_SAFE_INTEGER","required","clicked","targetClass","initialX","initialY","clientX","clientY","mousemove","stop","parentElement","offsetLeft","offsetTop","dimGrowth","__file","find","regexp","RegExp","from","activeElement","M","elements","onKeyDown","enable","disable","firstElement","lastElement","shiftKey","focus","L","R","C","$","A","j","H","validator","centerResize","adaptive","scrollable","focusTrap","overlayTransition","transition","clickToClose","styles","shiftX","shiftY","Resizer","overlayTransitionState","modalTransitionState","shiftLeft","shiftTop","widthType","heightType","renderedHeight","setInitialSize","beforeMount","subscription","onToggle","onWindowResize","onEscapeKeyUp","resizeObserver","$focusTrap","beforeDestroy","$off","trueModalWidth","trueModalHeight","autoHeight","stylesProp","isComponentReadyToBeDestroyed","startTransitionEnter","startTransitionLeave","addDraggableListeners","createModalEvent","enabled","toggle","which","ensureShiftInWindowBounds","getResizedShiftLeft","getResizedShiftTop","open","cancel","blur","close","getDraggableElement","nodeName","N","D","context","componentName","beforeOpened","beforeClosed","opened","closed","innerHTML","_b","text","buttons","buttonStyle","tabindex","I","flex","handler","P","B","modals","_g","modalAttrs","modalListeners","componentAttrs","$listeners","Y","G","__modalContainer","findIndex","U","F","q","V","dynamicDefaults","hideAll","setDynamicModalContainer","$mount","K","install","dialog","dialogComponentName","modules","installedModules","moduleId","getter","ns","property","wellKnownSymbol","aFunction","that","toIndexedObject","nativeGetOwnPropertyNames","windowNames","getOwnPropertyNames","it","getWindowNames","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","fails","redefine","DatePrototype","INVALID_DATE","TO_STRING","nativeDateToString","getTime","NaN","__webpack_require__","global","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","getBuiltIn","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","stat","forced","V8_VERSION","SPECIES","METHOD_NAME","foo","toInteger","integer","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","noTargetGet","internalObjectKeys","hiddenKeys","anObject","flags","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","unsafe","version","process","versions","v8","classof","Iterators","definePropertyModule","Properties","isObject","InternalStateModule","defineIterator","STRING_ITERATOR","setInternalState","getInternalState","getterFor","iterated","point","proto","propertyIsEnumerable","UNSCOPABLES","ArrayPrototype","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","argumentsLength","mapfn","mapping","iteratorMethod","$entries","entries","argument","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","requireObjectCoercible","ltrim","rtrim","TYPE","bitmap","webpackPolyfill","deprecate","paths","children","CONVERT_TO_STRING","first","second","codeAt","originalArray","NATIVE_WEAK_MAP","objectHas","sharedKey","wmget","wmhas","wmset","metadata","STATE","enforce","inspectSource","enforceInternalState","TEMPLATE","simple","TO_ENTRIES","dummy","NewTargetPrototype","wrappedWellKnownSymbolModule","activeXDocument","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","JS","write","temp","parentWindow","NullProtoObjectViaActiveX","display","src","contentWindow","$find","addToUnscopables","FIND","SKIPS_HOLES","createIteratorConstructor","setToStringTag","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","propertyKey","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","getCurrentScript","currentScript","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ffStackRegExp","stackDetails","scriptLocation","currentLocation","href","hash","scripts","outerHTML","readyState","functionToString","postfix","random","replacement","feature","detection","POLYFILL","NATIVE","returnMethod","nativeDefineProperty","Attributes","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","shared","uid","defineWellKnownSymbol","HIDDEN","SYMBOL","TO_PRIMITIVE","ObjectPrototype","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","symbol","isSymbol","$defineProperty","$defineProperties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","IS_OBJECT_PROTOTYPE","setter","keyFor","useSetter","useSimple","replacer","space","$replacer","valueOf","checkCorrectnessOfIteration","iterable","method","ceil","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","digits","NumberWrapper","ignoreCase","multiline","dotAll","unicode","sticky","cache","thrower","ACCESSORS","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TO_STRING_TAG_SUPPORT","FunctionPrototype","FunctionPrototypeToString","nameRE","createWellKnownSymbol","withoutSetter","nativeKeys","IndexedObject","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","boundFunction","every","input","PREFERRED_STRING","SHARED","EXISTS","namespace","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","TAG","HASH_UNDEFINED","argsTag","funcTag","objectTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","nodeType","freeModule","moduleExports","freeProcess","nodeUtil","require","binding","nodeIsTypedArray","isTypedArray","func","transform","arrayProto","funcProto","coreJsData","funcToString","maskSrcKey","objectCtorString","reIsNative","Buffer","Uint8Array","allocUnsafe","getPrototype","objectCreate","getNative","nativeIsBuffer","isBuffer","nativeMax","nativeNow","nativeCreate","baseCreate","Hash","entry","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isType","skipIndexes","iteratee","baseTimes","isIndex","assignMergeValue","baseAssignValue","assignValue","objValue","assocIndexOf","pop","getMapData","pairs","LARGE_ARRAY_SIZE","fromRight","baseFor","keysFunc","baseGetTag","baseIsArguments","isObjectLike","baseIsNative","isMasked","isFunction","toSource","baseKeysIn","nativeKeysIn","isProto","isPrototype","baseMerge","srcIndex","customizer","srcValue","mergeFunc","safeGet","stacked","newValue","isCommon","isTyped","isArrayLike","copyArray","buffer","isDeep","copy","cloneBuffer","typedArray","arrayBuffer","byteLength","byteOffset","Ctor","isPlainObject","isNew","copyObject","keysIn","toPlainObject","initCloneObject","baseMergeDeep","baseRest","setToString","otherArgs","thisArg","overRest","identity","baseSetToString","getValue","count","lastCalled","stamp","shortOut","other","isLength","baseUnary","assigner","merge","guard","isIterateeCall","check","globalThis","ownKeys","ArrayIteratorMethods","ArrayValues","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","CORRECT_PROTOTYPE_GETTER","ARRAY_ITERATOR","Arguments","FAILS_ON_PRIMITIVES","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","components_VsaList","components_VsaItem","components_namespaceObject","_arrayLikeToArray","arr","arr2","_unsupportedIterableToArray","minLen","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_iterableToArrayLimit","_nonIterableRest","lodash_merge","lodash_merge_default","_objectSpread2","constants_default","tags","list","list__item","item__heading","heading__content","heading__icon","item__content","roles","presentation","heading","region","initActive","forceActive","autoCollapse","navigation","Heading_Heading","Trigger_Trigger","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Trigger_TriggerIcon","Trigger_TriggerContent","Content_Content","appear","level","onHeadingClick","inject","vsaList","vsaListProps","rootProps","mergedOptions","getMergedOptions","dataAttrs","getDataAttrs","headingData","getComponent","iconData","contentData","deep","$vsaOptions","$props","wrapper","slot","componentOptions","_uid","handleClick","_data","child","handleKeyPress","current","nextElementSibling","previousElementSibling","last","nativeOn","keydown","provide","newChild","removedChild","src_0","nativeSlice","fin","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","defaults","fns","decode","encode","CancelToken","executor","resolvePromise","promise","reason","throwIfRequested","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","eject","_invariant","_nodejsCustomInspectSymbol","_interopRequireDefault","extend","encodeReserveRE","encodeReserveReplacer","commaRE","decodeURIComponent","castQueryParamValue","parseQuery","param","stringifyQuery","val2","trailingSlashRE","createRoute","record","redirectedFrom","router","clone","route","meta","fullPath","getFullPath","matched","formatMatch","START","unshift","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","aVal","bVal","handleRouteEntered","instances","cbs","enteredCbs","i$1","_isBeingDestroyed","View","routerView","$route","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","vm","hook","prepatch","vnode","componentInstance","init","propsToPass","resolveProps","resolvePath","relative","base","append","firstChar","segments","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction","tokensToFunction_1","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","offset","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","matches","opts","pretty","attachKeys","re","sensitive","strict","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","compile","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","custom","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","scopedSlot","$scopedSlots","$hasNormal","navigate","isExactActive","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","defaultPrevented","button","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","Time","performance","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","replaceState","handlePopState","handleScroll","isPop","app","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","pageXOffset","isValidPosition","isNumber","normalizePosition","hashStartsWithNumberRE","selector","getElementById","docRect","elRect","getElementPosition","scrollTo","ua","supportsPushState","pushState","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationRedirectedError","createRouterError","propertiesToLog","createNavigationCancelledError","_isRouter","isError","isNavigationFailure","errorType","runQueue","queue","resolveAsyncComponents","hasAsync","pending","flatMapComponents","cid","once","resolvedDef","hasSymbol","resolved","msg","comp","flatten","History","baseEl","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","reverse","guards","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","updated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","createNavigationAbortedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathname","pathLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","back","forward","getMatchedComponents","createHref","normalizedTo","VueRouter$1","installed","isDef","registerInstance","callVal","_parentVnode","mixin","_router","util","defineReactive","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","START_LOCATION","template","showroomsOdd","showroomsEven","showroomMode","showroomInterval","showroomI","showroomJ","full","compileTemplate","_staticTrees","initShowroomCarroussel","mediaQuery","matchMedia","addListener","checkShowroomMode","mq","newmode","clearInterval","setInterval","switchShowroomCarroussel","onClickLink","article","dataset","entityType","bundle","pathbase","onClickFieldLabel","part","baseUrl","Home","isStandardBrowserEnv","expires","secure","cookie","toGMTString","isString","read","trimmedEndIndex","reTrimStart","originURL","msie","urlParsingNode","resolveURL","hostname","port","requestURL","hasPassiveEvents","passiveTestOptions","isIosDevice","platform","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","lock","rawEvent","restoreOverflowSetting","paddingRight","overflow","disableBodyScroll","targetElement","ontouchstart","targetTouches","ontouchmove","isTargetElementTotallyScrolled","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","setOverflowHidden","enableBodyScroll","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","originalRender","existing","transformData","isCancel","throwIfCancellationRequested","cancelToken","transformRequest","common","adapter","transformResponse","header","onLogedIn","onRegistered","form","mail","password","loginMessage","userLogin","getLoginForm","rendered","login","pass","Drupal","attachBehaviors","pass1","pass2","ps","registerMessage","psswd_class","can_register","userRegister","getRegisterForm","initFormBehaviours","checkSubmitEnabled","register","disabled","initForm","loginEmail","registerEmail","callbackargs","onLogedInBack","onRegisteredBack","LoginForm","RegisterForm","Modal","LoginRegister","isAdherent","csrftoken","closeModal","showLoginModal","checkaddtocart","variation_id","addtocart","cba","getCarts","deleteCart","order_id","clearCarts","promises","all","purchased_entity_type","purchased_entity_id","quantity","relativeURL","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","getEnumerableOwnPropertySymbols","propertyIsOnObject","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","deepmerge_1","pkg","validators","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","transitional","isDeprecated","formatMessage","opt","assertOptions","schema","allowUnknown","prop","qs","maxKeys","kstr","vstr","idx","payload","isAxiosError","buildURL","dispatchRequest","mergeConfig","Axios","instanceConfig","request","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","paramsSerializer","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","isUndefined","axiosKeys","otherKeys","devtoolHook","__VUE_DEVTOOLS_GLOBAL_HOOK__","deepCopy","hit","original","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","addChild","getChild","hasChild","update","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","newModule","getNamespace","this$1","rawChildModule","unregister","isRegistered","Store","plugins","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","installModule","resetStoreVM","plugin","devtools","_devtoolHook","emit","targetState","subscribe","mutation","prepend","subscribeAction","devtoolPlugin","prototypeAccessors$1","genericSubscribe","subs","resetStore","hot","oldVm","wrappedGetters","silent","$$state","sync","enableStrictMode","_withCommit","nextTick","$destroy","rootState","isRoot","parentState","getNestedState","moduleName","local","noNamespace","_type","_payload","unifyObjectStyle","gettersProxy","splitPos","localType","makeLocalGetters","makeLocalContext","registerMutation","rootGetters","registerAction","rawGetter","registerGetter","vuexInit","_init","$store","applyMixin","sub","before","after","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","isValidMap","helper","startMessage","logger","collapsed","groupCollapsed","endMessage","groupEnd","getFormattedTime","time","pad","getHours","getMinutes","getSeconds","getMilliseconds","num","maxLength","createNamespacedHelpers","createLogger","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","prevState","nextState","formattedTime","formattedMutation","formattedAction","fileName","lineNumber","columnNumber","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","responseType","isFormData","XMLHttpRequest","auth","username","Authorization","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","timeout","onreadystatechange","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","xsrfCookieName","xsrfHeaderName","setRequestHeader","onDownloadProgress","onUploadProgress","upload","send","isNode","maybeNode","_defineInspect","CssClasses","main","placeholder","single","valueText","valueDelete","valueOut","deselect","deselectPath","arrow","arrowClose","arrowOpen","openAbove","openBelow","searchHighlighter","searching","addable","addablePath","optgroup","optgroupLabel","optgroupLabelText","optgroupActions","optgroupSelectAll","optgroupSelectAllBox","optgroupSelectAllCheck","optgroupClosable","option","optionDelete","highlighted","selected","generateID","hasClassInTree","hasClass","contains","parentByClass","debounce","wait","later","callNow","isEqual","kebabCase","Optgroup","label","selectAll","selectAllText","closable","Option","mandatory","selectType","selectedOrder","setData","validateDataArray","dataObj","validationError","validateOption","partialToFullData","dataFinal","optOptions","setSelectedBy","getSelected","getData","getDataOptions","addOption","addToStart","selectedType","selectedValues","firstOption","hasSelected","selectedObjects","selectedIds","_a","getSelectedOptions","getSelectedValues","getOptgroupByID","getOptionByID","getSelectType","getFirstOption","searchFilter","includeOptgroup","dataSearch","selectedOrderOptions","newOrder","isIn","selectedOption","Render","settings","callbacks","mainDiv","contentDiv","updateClassStyles","updateAriaAttributes","contentLocation","openPosition","moveContent","selectedOptions","selectedId","ensureElementInView","removeAttribute","contentPosition","ariaLabel","tabIndex","onkeydown","highlight","onclick","isOpen","allowDeselect","isMultiple","shouldDelete","beforeChange","setSelected","updateDeselectAll","closeOnSelect","afterChange","deselectSvg","createElementNS","arrowPath","alwaysOpen","svg","mainFocus","preventScroll","placeholderOption","placeholderText","renderValues","renderMultipleValues","renderSingleValue","selectedSingle","singleValue","innerText","currentNodes","maxValuesShown","maxValuesMessage","keepOrder","removeNodes","hasChildNodes","shouldAdd","multipleValue","insertAdjacentElement","deleteDiv","minSelected","deleteSvg","deletePath","searchDiv","listDiv","putContent","moveContentAbove","moveContentBelow","searchReturn","showSearch","readOnly","searchPlaceholder","oninput","plus","plusPath","inputValue","runFinish","oo","newOption","ids","addableValue","renderError","searchFocus","getOptions","notPlaceholder","notDisabled","notHidden","dir","prevOption","prevParent","selectOption","selectParent","errorDiv","renderSearching","searchingDiv","searchingText","renderOptions","addableText","searchText","optgroupEl","allSelected","selectAllSvg","selectAllBox","selectAllCheck","currentSelected","newSelected","optgroupClosableSvg","optgroupClosableArrow","optionEl","dataClass","searchHighlight","highlightText","showOptionTooltips","hideSelected","elementID","maxSelected","shouldUpdate","destroy","completedString","matchStartPosition","matchEndPosition","originalTextFoundByRegex","mainHeight","contentHeight","containerRect","margin","scrollY","scrollX","container","cTop","cBottom","eTop","eBottom","mainRect","hasSelectedItems","deselectButton","hideClass","Select","select","observer","valueChange","observeCall","changeListen","hideUI","showUI","ev","onValueChange","classChanged","disabledChanged","optgroupOptionChanged","attributeName","addedNodes","dispatchEvent","onClassChange","onDisabledChange","onOptionsChange","getDataFromOptgroup","getDataFromOption","selectall","selectalltext","optgroupOptions","setSelectedByValue","updateSelect","updateOptions","createOptgroup","createOption","bubbles","info","optionClass","Settings","isFullOpen","intervalMove","focusSearch","timeoutDelay","SlimSelect","events","beforeOpen","afterOpen","beforeClose","afterClose","windowResize","windowScroll","documentClick","windowVisibilityChange","hidden","selectEl","ssid","cssClasses","debounceEvents","multiple","renderCallbacks","selectAriaLabel","selectAriaLabelledBy","nextSibling","slim","dataClean","runAfterChange","searchResp","factory","lowerCaseRegex","upperCaseRegex","symbolsRegex","numericRegex","strength","passwordContains","strongRegex","mediumRegex","__v_isRef","_length","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","Z","Q","tt","et","nt","rt","ot","env","VUE_ENV","at","st","ct","ut","lt","_scope","off","ft","elm","fnContext","fnOptions","fnScopeId","isRootInsert","isComment","isCloned","isOnce","asyncFactory","asyncMeta","isAsyncPlaceholder","dt","pt","vt","ht","mt","gt","_pending","yt","addSub","removeSub","depend","addDep","notify","bt","wt","xt","__ob__","observeArray","dep","Ct","kt","St","Ot","Tt","At","shallow","mock","vmCount","Et","jt","isExtensible","__v_skip","Bt","Dt","Nt","Ft","_isVue","Pt","Mt","It","Lt","__v_raw","Rt","__v_isShallow","__v_isReadonly","Ht","Ut","zt","Vt","Kt","Jt","qt","Wt","Zt","Gt","Xt","Yt","Qt","merged","te","ee","ne","_isVList","oe","ie","ae","is","scopedSlots","pre","kr","hr","se","Wn","ce","ue","le","fe","de","pe","ve","me","_renderProxy","he","ge","ye","$stable","proxy","$key","be","$e","we","_o","_q","_m","_f","_u","_p","xe","Ce","ke","Se","Oe","Te","Ae","_attrsProxy","je","_listenersProxy","_slotsProxy","Ne","expose","Ee","Pe","_setupContext","De","Me","Ie","Le","Re","Fe","He","Be","Ue","ze","detached","effects","cleanups","scopes","run","Ve","Ke","Je","qe","We","$children","Ge","Ze","_hasHookEvent","Xe","Ye","Qe","tn","en","nn","rn","an","createEvent","timeStamp","sn","cn","_watcher","_isMounted","_isDestroyed","un","noRecurse","En","ln","dn","pn","vn","mn","flush","hn","onTrack","onTrigger","onStop","Xn","lazy","_preWatchers","gn","_provided","yn","errorCaptured","bn","_handled","$n","wn","xn","Cn","kn","Sn","On","setImmediate","Tn","An","jn","Nn","$r","Pn","Dn","Mn","In","Ln","Rn","Fn","Hn","Bn","Un","zn","Vn","Kn","Jn","defineComponent","shallowRef","isRef","toRef","toRefs","unref","proxyRefs","customRef","triggerRef","reactive","isReactive","isReadonly","isShallow","isProxy","shallowReactive","markRaw","toRaw","readonly","shallowReadonly","effect","dirty","evaluate","watchEffect","watchPostEffect","watchSyncEffect","EffectScope","effectScope","onScopeDispose","getCurrentScope","getCurrentInstance","useSlots","useAttrs","useListeners","mergeDefaults","del","useCssModule","useCssVars","_setupProxy","setProperty","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","suspensible","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onActivated","onDeactivated","onServerPrefetch","onRenderTracked","onRenderTriggered","onErrorCaptured","qn","Zn","isFrozen","Gn","user","deps","newDeps","depIds","newDepIds","cleanupDeps","Yn","Qn","tr","propsData","_props","_propKeys","Sr","setup","_setupState","__sfc","_computedWatchers","er","nr","ir","rr","or","ar","sr","cr","super","superOptions","sealedOptions","extendOptions","Cr","ur","_original","injections","lr","fr","dr","__name","_componentTag","pr","_isComponent","inlineTemplate","_renderChildren","_vnode","_parentListeners","insert","vr","_base","errorComp","owners","loadingComp","model","callback","abstract","_merged","mr","gr","yr","_r","br","wr","xr","extends","jr","Tr","Or","Ar","Er","Nr","_Ctor","Pr","Dr","Mr","Ir","_events","$set","$delete","_update","__patch__","__vue__","_render","Lr","Rr","include","exclude","cacheVNode","vnodeToCache","keyToCache","Fr","KeepAlive","mergeOptions","observable","_installedPlugins","Hr","Br","Ur","zr","Vr","Kr","Gr","Jr","qr","Wr","Zr","Xr","Yr","Qr","eo","math","no","ro","io","ao","so","co","uo","createComment","setTextContent","setStyleScope","lo","fo","refInFor","po","vo","ho","mo","yo","$o","oldValue","oldArg","xo","componentUpdated","inserted","bo","wo","Co","ko","inheritAttrs","_v_attr_proxy","So","removeAttributeNS","Oo","setAttributeNS","__ieph","stopImmediatePropagation","To","Ao","_transitionClasses","_prevClass","jo","Eo","No","Po","Do","Mo","Io","Lo","Ro","Fo","Ho","Bo","Uo","Xo","dynamic","plain","zo","dynamicAttrs","Vo","attrsMap","attrsList","Ko","isDynamicArg","Jo","qo","middle","nativeEvents","Wo","Zo","Go","Yo","Qo","lastIndexOf","exp","ei","ni","ti","oi","ri","ii","ai","si","ci","fi","ui","li","_wrapper","di","change","pi","vi","hi","_value","mi","_vModifiers","gi","yi","bi","staticStyle","$i","wi","xi","Ci","Si","ki","Oi","normalizedStyle","Ti","Ai","ji","Ei","Ni","Pi","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","Di","Mi","Ii","Li","Ri","Fi","Hi","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","Bi","Ui","zi","Vi","Ki","qi","propCount","Ji","Wi","hasTransform","Zi","Gi","_leaveCb","_enterCb","appearClass","appearToClass","appearActiveClass","enter","afterEnter","enterCancelled","beforeAppear","afterAppear","appearCancelled","duration","Qi","Yi","Xi","beforeLeave","afterLeave","leaveCancelled","delayLeave","ta","ea","nodeOps","activate","pendingInsert","postpatch","vmodel","na","_vOptions","ra","aa","sa","ca","ia","oa","selectedIndex","initEvent","la","fa","__vOriginalDisplay","unbind","da","pa","va","ha","ma","ga","ya","_leaving","ba","moveClass","$a","kept","prevChildren","removed","hasMove","wa","xa","Ca","_reflow","moved","WebkitTransform","transitionDuration","_moveCb","_hasMove","cloneNode","newPos","ka","Transition","TransitionGroup","HTMLUnknownElement","HTMLElement","ja","Sa","Oa","Ta","Aa","staticKeys","transformNode","classBinding","genData","Ea","styleBinding","Na","Pa","Da","Ma","Ia","La","Ra","Fa","Ha","Ba","Ua","za","Va","Ka","Ja","qa","Wa","Za","Ga","Xa","Ya","Qa","ts","expectHTML","isUnaryTag","canBeLeftOpenTag","chars","shouldKeepComment","comment","unarySlash","shouldDecodeNewlinesForHref","shouldDecodeNewlines","lowerCasedTag","es","rs","os","as","ss","cs","us","ls","fs","ds","vs","hs","ms","gs","ys","bs","$s","ws","js","rawAttrsMap","Cs","isPreTag","delimiters","preserveWhitespace","processed","if","elseif","else","Os","forbidden","slotScope","slotTarget","comments","outputSourceRange","Es","Ns","Ss","lastIndex","slotTargetDynamic","Ts","slotName","hasBindings","As","camel","iterator1","iterator2","ifConditions","Ps","Ms","Is","Ds","preTransformNode","Ls","Rs","Fs","Hs","Bs","Us","static","staticInFor","staticRoot","zs","Vs","Ks","Js","esc","tab","up","down","Ws","Zs","prevent","ctrl","alt","Gs","Xs","Ys","Qs","wrapListeners","wrapData","cloak","tc","transforms","dataGenFns","maybeComponent","onceId","ec","nc","staticProcessed","rc","onceProcessed","oc","forProcessed","sc","ifProcessed","ic","fc","vc","cc","bindings","__isScriptSetup","ac","uc","lc","dc","pc","hc","mc","gc","yc","bc","optimize","errors","tips","compileToFunctions","$c","wc","xc","Cc","kc","Sc","MGQ","Accept","pagetitle","hamburgerMenuToggle","setPagetitle","setHamMenuState","checked","openCloseHamMenu","logout_token","isAdmin","canSearch","hasDBAccess","flagcollsLoadedItems","openedCollid","SetCsrftoken","SetLogouttoken","setToken","current_user","setLoginMessage","setRegisterMessage","setUid","setUser","uuid","setRoles","setLoggedOut","asAdmin","setFlagColls","openFlagColl","closeFlagColl","setLoadedCollItems","credentials","validateStatus","userdata","reload","postUserLogin","getUser","getUserFlagColls","newCollectionName","deleteFlagColl","flagcollid","flagid","flag_id","gqlfragment","gqlFragmentfields","callBack","callBackArgs","loadMaterialsCallBack","userLogout","resp","terms","filters","uuids","limit","infos","noresults","infiniteLoadingState","setUuids","resetUuids","setResults","updateItem","resetItems","setKeys","reSetKeys","setTerms","reSetTerms","setFilters","reSetFilters","setInfos","setCount","resetCount","setNoresults","resetNoresults","resetOffset","resetInfos","incrementOffset","setInfiniteState","infiniteLoadingstate","newSearch","nextPage","$infiniteLoadingstate","getResults","nids","searchresults","loadSearchResultsCallBack","refreshItem","searchresult","contenttype","page","setItems","incrementPage","getItems","getItemIndex","getPrevNextItems","getShowrooms","allshowrooms","products_ids","products","setProductsIds","setProducts","getProducts","loadProductsIds","product_id","loadProducts","Search","Blabla","Pages","loadMaterialsGQL","materiaux","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","parser","encoder","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","normalizedName","createInstance","defaultConfig","axios","spread","circles","injectModule","_originalState","subModule","getOriginalState","moduleVueState","defaultReset","nested","childModule","nestOption","vuexStoreClass","rawRegisterModule","originalState","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","touchX","touchY","isPassiveSupported","supportsPassive","globalLastTouchTime","vueTouchEvents","constructorOptions","globalOptions","disableClick","tapTolerance","swipeTolerance","touchHoldTolerance","longTapTimeInterval","touchClass","touchStartEvent","$$touchObj","isTouchEvent","isMouseEvent","touchStarted","addTouchClass","touchMoved","swipeOutBounded","startX","startY","currentX","currentY","touchStartTime","touchHoldTimer","triggerEvent","touchMoveEvent","cancelTouchHoldTimer","touchCancelEvent","removeTouchClass","touchEndEvent","touchholdEnd","distanceY","distanceX","longtap","cancelable","touchhold","mouseEnterEvent","mouseLeaveEvent","buildTouchObj","extraOptions","touchObj","hasBindTouchEvents","directive","passiveOpt","swipe","disablePassive","_default","serializedParams","isDate","toISOString","hashmarkIndex","visitor","visitorKeys","QueryDocumentKeys","inArray","edits","ancestors","newRoot","isLeaving","isEdited","_Object$keys2","editOffset","editKey","editValue","_visitorKeys$node$kin","_ast","_inspect","visitFn","getVisitFn","BREAK","visitInParallel","visitors","skipping","kindVisitor","kindSpecificVisitor","specificVisitor","specificKindVisitor","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","hasTrailingSlash","printAsMultipleLines","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","numberFormatKeys","dateTimeFormatKeys","isNull","parseArgs","looseClone","hasOwn","arguments$1","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","interpolationComponent","places","$i18n","onlyHasDefaultPlace","assignChildIndex","createParamsFromPlaces","everyPlace","vnodeHasPlaceAttribute","assignChildPlace","useLegacyPlaces","place","numberComponent","format","i18n","acc","_ntp","assert","oldVNode","_locale","localeEqual","_localeMessage","getLocaleMessage","preserve","preserveDirectiveContent","_vt","ref$1","ref$2","choice","parseValue","makeParams","bridge","_i18n","_getMessages","$tc","_tc","$te","_te","$d","__INTLIFY_META__","__i18nBridge","__i18n","VueI18n","localeMessages","messages","resource","mergeLocaleMessage","_i18nWatcher","watchI18nData","rootI18n","formatter","fallbackLocale","formatFallbackMessages","silentTranslationWarn","silentFallbackWarn","pluralizationRules","localeMessages$1","sharedMessages","_localeWatcher","watchLocale","onComponentInstanceCreated","subscribeDataChanging","_subscribing","unsubscribeDataChanging","destroyVM","defineMixin","parentVal","childVal","BaseFormatter","_caches","interpolate","char","isClosed","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","compiled","pathStateMachine","literalValueRE","getPathCharType","ch","formatSubPath","trimmed","I18nPath","newChar","typeMap","subPathDepth","maybeUnescapeQuote","nextChar","parse$1","getPathValue","availabilities","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","toLocaleUpperCase","toLocaleLowerCase","defaultFormatter","dateTimeFormats","datetimeFormats","numberFormats","_formatter","_modifiers","_missing","missing","_root","_sync","_fallbackRoot","fallbackRoot","_fallbackRootWithEmptyString","fallbackRootWithEmptyString","_formatFallbackMessages","_silentTranslationWarn","_silentFallbackWarn","_dateTimeFormatters","_numberFormatters","_path","_dataListeners","_componentInstanceCreatedListener","componentInstanceCreatedListener","_preserveDirectiveContent","_warnHtmlInMessage","warnHtmlInMessage","_postTranslation","postTranslation","_escapeParameterHtml","escapeParameterHtml","__VUE_I18N_BRIDGE__","getChoiceIndex","choicesLength","thisPrototype","_choice","_choicesLength","_exist","_checkLocaleMessage","_initVM","availableLocales","__VUE18N__INSTANCE__","ret","composer","target$1","newI18n","_getDateTimeFormats","_getNumberFormats","_localeChainCache","orgLevel","_warnDefault","interpolateMode","missingRet","parsedArgs","_isFallbackRoot","_isSilentFallbackWarn","_isSilentFallback","_isSilentTranslationWarn","_interpolate","visitedLinkStack","pathRet","_link","link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","translated","_translate","_createMessageContext","_list","_named","named","linked","linkedKey","_appendItemToChain","blocks","follow","_appendLocaleToChain","_appendBlockToChain","_getLocaleChain","predefined","fetchChoice","choices","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","_clearDateTimeFormat","mergeDateTimeFormat","_localizeDateTime","formats","Intl","DateTimeFormat","getNumberFormat","setNumberFormat","_clearNumberFormat","mergeNumberFormat","_getNumberFormatter","NumberFormat","numberFormat","formatToParts","intlDefined","dateTimeFormat","loadedLanguages","setI18nLanguage","lang","isPureObject","hasGlobalWindowFn","showWarningNotSupported","defaultInfo","titleChunk","titleTemplate","htmlAttrs","bodyAttrs","headAttrs","script","noscript","__dangerouslyDisableSanitizers","__dangerouslyDisableSanitizersByTagID","rootConfigKey","defaultOptions","defaultInfoKeys","disableOptionKeys","metaInfoOptionKeys","metaInfoAttributeKeys","tagsSupportingOnload","tagsWithoutEndTag","tagsWithInnerContent","tagAttributeAsInnerContent","tagProperties","commonDataAttributes","booleanHtmlAttributes","batchId","triggerUpdate","rootVm","hookName","debounceWait","initialized","initializing","pausing","batchUpdate","$meta","predicate","toArray","getTag","queryElements","appId","attribute","tagIDKeyName","queries","attributeValue","hasMetaInfo","pause","resume","addNavGuards","navGuards","metaInfo","afterNavigation","createMixin","updateOnLifecycleHook","wasServerRendered","rootKey","devtoolsEnabled","deprecationWarningShown","htmlTag","ssrAttribute","keyName","$metaInfo","$isServer","initializedSsr","ssrAppId","_$root$$meta$refresh","refreshOnceOnNavigation","_hasMetaInfo","waitOnDestroyed","offsetParent","interval","lifecycleHook","setOptions","contentKeyName","metaTemplateKeyName","ensureIsArray","serverSequences","clientSequences","escapeOptions","escapeKeys","_escapeOptions$doEsca","doEscape","disableKey","tagId","escapedKey","escapeMetaInfo","escapeSequences","seq","applyTemplate","headObject","chunk","warningShown","attrKey","targetItem","sourceIndex","sourceItem","targetTemplate","_arrayMerge","getComponentMetaInfo","getComponentOption","childComponent","inMetaInfoBranch","addCallbacks","autoAddListeners","hasAsyncCallback","addCallback","addListeners","applyCallbacks","matchElement","__vm_cb","onload","__vm_l","__vm_ev","appsMetaInfo","attributeMap","updateAttribute","vueMetaAttrString","decodeURI","toUpdate","attr","_attr","attrData","_toUpdate","_attr2","_attrData","attrValues","_appId","attrValue","updateTag","dataAttributes","newElements","queryOptions","currentElements","pbody","found","skip","newElement","isBooleanAttribute","json","indexToDelete","oldElements","getElementsKey","hasEqualElement","existingTag","isEqualNode","oldTags","newTags","updateClientMetaInfo","newInfo","addLoadListeners","tagsAdded","tagsRemoved","_updateTag","addApp","setMetaInfo","_step","_iterator","allowArrayLike","normalCompletion","didErr","_createForOfIteratorHelper","removeElementsByAppId","clearAppsMetaInfo","removeMetaInfo","getAppsMetaInfo","force","getMetaInfo","metaItem","metaObject","tagGenerator","generatorOptions","_ref2$isSSR","isSSR","_ref2$body","_ref2$pbody","_ref2$ln","tagsStr","isBooleanAttr","hasEndTag","hasContent","generateServerInjector","globalInjectOptions","serverInjector","extraData","addInfo","callInjectors","injectors","bodyPrepend","bodyAppend","_loop","injectOptions","addSsrAttribute","titleGenerator","attributeData","attributeStr","attributeGenerator","_appId2","_data2","extraStr","optionsCopy","refreshNavKey","debounceWaitKey","waitOnDestroyedKey","changed","addedTags","removedTags","additionalAppId","__vuemeta_installed","generate","rawInfo","onTapLoginBlock","onLogout","onOpenFlagColl","flagDeletingClassObj","onDeleteFlagColl","dialogEvent","is_deleting_folder","checkFlagNameUniqness","uniq","confirmDeleteFlagColl","eventName","UserFlags","loginblock","getLoginBlock","LoginBlock","UserTools","home_template_src","full_home_template_loaded","isfront","getHomeHtml","blockid","typed","autocomplete","slimFilters","$input","submit","onAutoCompleteSelect","tag_list","term","onSelectFiltersChange","onClickFilters","closest","jQuery","selectElement","placeholder_option","allowDeselectOption","onChange","displayform","formhtml","new_value","old_value","getSearchForm","SearchForm","isopened","collection","onCloseFlagColl","loadedItems","onUnFlagCard","style_minicard","unsubscribe","MiniCard","FlagCollection","dom_html","getMenuBlockHtml","onTapLanguageSwitcher","CoolLightBox","__SENTRY_DEBUG__","SDK_VERSION","carrier","__SENTRY__","getGlobalSingleton","creator","CONSOLE_LEVELS","originalConsoleMethods","consoleSandbox","wrappedFuncs","wrappedLevels","originalConsoleMethod","isEnabled","installedIntegrations","getIntegrationsToSetup","defaultIntegrations","userIntegrations","integrations","integration","isDefaultInstance","resolvedUserIntegrations","integrationsByName","currentInstance","existingInstance","filterDuplicates","afterSetupIntegrations","client","afterAllSetup","setupIntegration","integrationIndex","setupOnce","preprocessEvent","hint","processEvent","processor","addEventProcessor","wat","isInstanceOf","isBuiltin","isErrorEvent","isDOMError","isParameterizedString","isEvent","isVueViewModel","__isVue","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","out","sepLength","nextStr","keyAttrs","maxStringLength","_htmlElementAsString","_oO","keyAttrPairs","keyAttr","keyAttrPair","allowedAttrs","getLocationHref","oO","getComponentName","truncate","safeJoin","isMatchingPattern","requireExactStringMatch","stringMatchesSomePattern","testString","patterns","fill","replacementFactory","wrapped","markFunctionWrapped","addNonEnumerableProperty","o_O","getOriginalFunction","__sentry_original__","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","CustomEvent","detail","extractedProps","dropUndefinedKeys","_dropUndefinedKeys","memoizationMap","isPojo","memoVal","returnValue","crypto","gbl","msCrypto","getCrypto","getRandomByte","randomUUID","getRandomValues","getFirstException","exception","getEventDescription","event_id","eventId","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","mechanism","handled","mergedData","checkOrSetAlreadyCaught","__sentry_captured__","isAlreadyCaptured","getPossibleEventMessages","possibleMessages","lastException","DEFAULT_IGNORE_ERRORS","eventFiltersIntegration","clientOptions","_mergeOptions","_hint","ignoreTransactions","transaction","_isIgnoredTransaction","ignoreInternal","_isSentryError","ignoreErrors","_isIgnoredError","stacktrace","_isUselessError","denyUrls","_getEventFilterUrl","_isDeniedUrl","allowUrls","_isAllowedUrl","_shouldDropEvent","inboundFiltersIntegration","internalOptions","disableErrorDefaults","rootException","parent_id","frames","frame","_getLastValidUrl","dateTimestampInSeconds","approxStartingTimeOrigin","timeOrigin","createUnixTimestampInSecondsFunc","cachedTimeOrigin","browserPerformanceTimeOrigin","threshold","performanceNow","dateNow","timeOriginDelta","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","getBrowserTimeOrigin","makeSession","startingTime","session","sid","timestamp","started","ignoreDuration","did","abnormal_mechanism","release","environment","ip_address","ipAddress","user_agent","sessionToJSON","updateSession","generateSpanId","initialObj","mergeObj","levels","SCOPE_SPAN_FIELD","scope","span","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","_propagationContext","traceId","sampleRand","newScope","_level","_session","_transactionName","_fingerprint","_client","_lastEventId","setClient","setLastEventId","lastEventId","getClient","addScopeListener","_notifyScopeListeners","setTags","setTag","setExtras","setExtra","extra","setFingerprint","fingerprint","setLevel","setTransactionName","setContext","setSession","getSession","captureContext","scopeToMerge","scopeInstance","getScopeData","contexts","propagationContext","setPropagationContext","addBreadcrumb","breadcrumb","maxBreadcrumbs","maxCrumbs","mergedBreadcrumb","recordDroppedEvent","getLastBreadcrumb","clearBreadcrumbs","addAttachment","attachment","clearAttachments","breadcrumbs","attachments","eventProcessors","sdkProcessingMetadata","transactionName","setSDKProcessingMetadata","newData","getPropagationContext","captureException","syntheticException","originalException","captureMessage","captureEvent","AsyncContextStack","isolationScope","assignedScope","assignedIsolationScope","_stack","_isolationScope","withScope","_pushScope","maybePromiseResult","_popScope","getStackTop","getScope","getIsolationScope","getAsyncContextStack","sentry","withSetScope","acs","withIsolationScope","withSetIsolationScope","rest","parentSpanId","propagationSpanId","trace_id","span_id","parent_span_id","originalFunctionToString","SETUP_CLIENTS","functionToStringIntegration","originalFunction","UNKNOWN_FUNCTION","WEBPACK_ERROR_REGEXP","STRIP_FRAME_REGEXP","createStackParser","parsers","sortedParsers","skipFirstLines","framesToPop","cleanedLine","localStack","getLastStackFrame","function","stripSentryFramesAndReverse","defaultFunctionName","getFunctionName","getFramesFromEvent","dedupeIntegration","previousEvent","currentEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","_isSameMessageEvent","previousException","_getExceptionFromEvent","currentException","_isSameExceptionEvent","currentFrames","previousFrames","frameA","frameB","lineno","colno","currentFingerprint","previousFingerprint","supportsFetch","Headers","Request","Response","isNativeFunction","initAndBind","clientClass","debug","initialScope","setCurrentClient","getBaseApiEndpoint","dsn","getEnvelopeEndpointWithUrlEncodedAuth","tunnel","sdkInfo","projectId","_getIngestEndpoint","sentry_version","publicKey","sentry_key","sentry_client","URLSearchParams","_encodedAuth","DEFAULT_ENVIRONMENT","SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE","SEMANTIC_ATTRIBUTE_PROFILE_ID","SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME","SENTRY_BAGGAGE_KEY_PREFIX","SENTRY_BAGGAGE_KEY_PREFIX_REGEX","baggageHeaderToDynamicSamplingContext","baggageHeader","baggageObject","curr","currBaggageObject","baggageHeaderToObject","parseBaggageHeader","dynamicSamplingContext","objectKey","objectValue","currentIndex","baggageEntry","newBaggageHeader","objectToBaggageHeader","dscKey","dscValue","keyOrValue","hasSpansEnabled","maybeOptions","__SENTRY_TRACING__","tracesSampleRate","tracesSampler","setHttpStatus","httpStatus","spanStatus","getSpanStatusFromHttpCode","setStatus","SCOPE_ON_START_SPAN_FIELD","ISOLATION_SCOPE_ON_START_SPAN_FIELD","getCapturedScopesOnSpan","parseSampleRate","sampleRate","rate","TRACEPARENT_REGEXP","sentryTrace","baggage","traceparentData","traceparent","parentSampled","extractTraceparentData","dsc","parsedSampleRand","sample_rand","parsedSampleRate","sample_rate","getSampleRandFromTraceparentAndDsc","sampled","generateSentryTraceHeader","spanId","sampledString","hasShownSpanDropWarning","spanToTransactionTraceContext","spanContext","links","isRemote","convertSpanLinksForEnvelope","traceFlags","restContext","spanTimeInputToSeconds","ensureTimestampInSeconds","getSpanJSON","spanIsSentrySpan","castSpan","startTime","endTime","spanIsOpenTelemetrySdkTraceBaseSpan","start_timestamp","getStatusMessage","spanIsSampled","CHILD_SPANS_FIELD","ROOT_SPAN_FIELD","addChildSpanToSpan","childSpan","rootSpan","getSpanDescendants","resultSet","addSpanChildren","childSpans","getRootSpan","getActiveSpan","showSpanDropWarning","FROZEN_DSC_FIELD","freezeDscOnSpan","getDynamicSamplingContextFromClient","public_key","getDsn","rootSpanJson","rootSpanAttributes","traceState","rootSpanSampleRate","applyLocalSampleRateToDsc","frozenDsc","traceStateDsc","dscOnTraceState","DSN_REGEX","withPassword","dsnFromComponents","lastPath","projectMatch","dsnFromString","hasMissingRequiredComponent","isValidProtocol","validateDsn","maxProperties","Infinity","normalizeToSize","maxSize","normalized","utf8Length","memo","inner","WeakSet","memoize","unmemoize","memoBuilder","stringified","objName","getConstructorName","stringifyValue","startsWith","remainingDepth","valueWithToJSON","numAdded","visitable","visitKey","visitValue","createEnvelope","addItemToEnvelope","envelope","newItem","forEachEnvelopeItem","envelopeItems","envelopeItem","encodeUTF8","encodePolyfill","TextEncoder","serializeEnvelope","envHeaders","itemHeaders","stringifiedPayload","buffers","totalLength","buf","concatBuffers","createSpanEnvelopeItem","spanJson","createAttachmentEnvelopeItem","content_type","contentType","attachment_type","attachmentType","ITEM_TYPE_TO_DATA_CATEGORY_MAP","sessions","client_report","user_report","profile","profile_chunk","replay_event","replay_recording","check_in","feedback","raw_security","otel_log","envelopeItemTypeToDataCategory","getSdkMetadataForEnvelopeHeader","metadataOrEvent","sdk","createEventEnvelope","packages","enhanceEventWithSdkInfo","envelopeHeaders","sent_at","trace","createEventEnvelopeHeaders","SentryError","logLevel","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","_state","PENDING","_handlers","_runExecutor","onfulfilled","onrejected","_executeHandlers","onfinally","isRejected","cachedHandlers","RESOLVED","REJECTED","setResult","notifyEventProcessors","processors","final","parsedStackResults","lastKeysCount","cachedFilenameDebugIds","getFilenameToDebugIdMap","stackParser","debugIdMap","_sentryDebugIds","debugIdKeys","stackKey","parsedStack","stackFrame","debugId","applyScopeDataToEvent","cleanedExtra","cleanedTags","cleanedUser","cleanedContexts","applyDataToEvent","applySpanToEvent","applyFingerprintToEvent","mergedBreadcrumbs","applyBreadcrumbsToEvent","applySdkMetadataToEvent","mergeScopeData","mergeData","mergeAndOverwriteScopeData","mergeVal","prepareEvent","normalizeDepth","normalizeMaxBreadth","prepared","dist","maxValueLength","applyClientOptions","integrationNames","applyIntegrationsMetadata","filenameDebugIdMap","debug_id","applyDebugIds","finalScope","getFinalScope","clientEventProcessors","getEventProcessors","evt","abs_path","debug_meta","code_file","applyDebugMeta","maxBreadth","spans","normalizeEvent","parseEventHintOrCaptureContext","hintIsScopeOrFunction","captureContextKeys","hintIsScopeContext","ALREADY_SEEN_ERROR","MISSING_RELEASE_FOR_SESSION_ERROR","Client","_integrations","_numProcessing","_outcomes","_hooks","_dsn","_metadata","_transport","transport","transportOptions","hintWithEventId","_process","eventFromException","_captureEvent","currentScope","eventMessage","promisedEvent","eventFromMessage","capturedSpanScope","capturedSpanIsolationScope","captureSession","sendSession","getSdkMetadata","getTransport","_isClientDoneProcessing","clientFinished","transportFlushed","eventProcessor","_isEnabled","_setupIntegrations","getIntegrationByName","integrationName","addIntegration","isAlreadyInstalled","sendEvent","sendEnvelope","sendResponse","clientReleaseOption","clientEnvironmentOption","sessionAttrs","createSessionEnvelope","category","sendClientReports","hooks","cbIndex","setupIntegrations","_updateSessionFromEvent","crashed","errored","exceptions","ex","sessionNonTerminal","ticked","_prepareEvent","_processEvent","finalEvent","isTransaction","isTransactionEvent","beforeSendLabel","dataCategory","__sentry__","beforeSend","beforeSendTransaction","beforeSendSpan","processedEvent","processedRootSpanJson","profile_id","exclusive_time","measurements","is_segment","convertTransactionEventToSpanJson","processedSpans","processedSpan","spanCountBefore","spanCountBeforeProcessing","processBeforeSend","beforeSendResult","invalidValueError","_validateBeforeSendResult","spanCount","droppedSpanCount","transactionInfo","transaction_info","_clearOutcomes","outcomes","_flushOutcomes","discarded_events","applySdkMetadata","createOtelLogEnvelopeItem","CLIENT_TO_LOG_BUFFER_MAP","_INTERNAL_flushLogsBuffer","maybeLogBuffer","logBuffer","logs","createOtelLogEnvelope","addAutoIpAddressToUser","objWithMaybeUser","addAutoIpAddressToSession","exceptionFromError","parseStackFrames","extractType","extractMessage","eventFromPlainObject","isUnhandledRejection","errorFromProp","getErrorPropertyFromObject","__serialized__","getNonErrorObjectExceptionValue","eventFromError","skipLines","reactMinifiedRegexp","getSkipFirstStackStringLines","getPopFirstTopFrames","isWebAssemblyException","WebAssembly","Exception","eventFromUnknownInput","attachStacktrace","domException","eventFromString","synthetic","__sentry_template_string__","__sentry_template_values__","logentry","firstKey","includedKeys","serialized","extractExceptionKeysForMessage","captureType","getObjectClassName","startSession","currentSession","endSession","closeSession","_sendSessionUpdate","ignoreOnError","shouldIgnoreOnError","__sentry_wrapped__","sentryWrapped","wrappedArguments","BrowserClient","parentSpanIsAlwaysRootSpan","SENTRY_SDK_SOURCE","visibilityState","_experiments","enableLogs","sendDefaultPii","instrumented","addHandler","maybeInstrument","instrumentFn","triggerHandlers","typeHandlers","debounceTimerID","lastCapturedEventType","lastCapturedEventTargetId","instrumentDOM","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","globalObject","originalAddEventListener","listener","__sentry_instrumentation_handlers__","handlerForType","refCount","originalRemoveEventListener","globalListener","getEventTarget","isContentEditable","shouldSkipDOMEvent","_sentryId","isSimilarToLastCapturedEvent","SENTRY_XHR_DATA_KEY","addXhrInstrumentationHandler","instrumentXHR","xhrproto","originalOpen","xhrOpenThisArg","xhrOpenArgArray","virtualError","startTimestamp","parseUrl","request_headers","__sentry_own_request__","onreadystatechangeHandler","xhrInfo","status_code","endTimestamp","xhr","originalOnreadystatechange","onreadystatechangeThisArg","onreadystatechangeArgArray","originalSetRequestHeader","setRequestHeaderThisArg","setRequestHeaderArgArray","originalSend","sendThisArg","sendArgArray","sentryXhrData","lastHref","addHistoryInstrumentationHandler","instrumentHistory","historyReplacementFunction","originalHistoryFunction","instrumentConsole","addFetchInstrumentationHandler","skipNativeFetchCheck","instrumentFetch","onFetchResolved","EdgeRuntime","fetch","sandbox","supportsNativeFetch","originalFetch","fetchArgs","getUrlFromResource","hasProp","parseFetchArgs","handlerData","fetchData","streamHandler","clonedResponseForResolving","onFinishedResolving","responseReader","getReader","maxFetchDurationTimeout","readingActive","chunkTimeout","releaseLock","resolveResponse","DEFAULT_BREADCRUMBS","beforeBreadcrumb","finalBreadcrumb","severityLevelFromString","getBreadcrumbLogLevelFromHttpStatusCode","statusCode","fragment","stripUrlQueryAndFragment","urlPath","MAX_ALLOWED_STRING_LENGTH","breadcrumbsIntegration","dom","addConsoleInstrumentationHandler","_getConsoleBreadcrumbHandler","serializeAttribute","_isEvent","_getDomBreadcrumbHandler","_getXhrBreadcrumbHandler","request_body_size","response_body_size","_getFetchBreadcrumbHandler","parsedLoc","parsedFrom","parsedTo","_getHistoryBreadcrumbHandler","_getSentryBreadcrumbHandler","DEFAULT_EVENT_TARGET","browserApiErrorsIntegration","eventTarget","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","_wrapEventTarget","originalCallback","wrapOptions","handleEvent","originalEventHandler","browserSessionIntegration","_oldOnErrorHandler","addGlobalErrorInstrumentationHandler","instrumentError","__SENTRY_INSTRUMENTED__","_oldOnUnhandledRejectionHandler","addGlobalUnhandledRejectionInstrumentationHandler","instrumentUnhandledRejection","onunhandledrejection","globalHandlersIntegration","stackTraceLimit","ev0","ev0s","ev0sf","in_app","_enhanceEventWithInitialFrame","_installGlobalOnErrorHandler","globalHandlerLog","_getUnhandledRejectionError","_installGlobalOnUnhandledRejectionHandler","httpContextIntegration","referrer","Referer","applyAggregateErrorsToEvent","exceptionFromErrorImplementation","maxValueLimit","aggregateExceptionsFromError","prevExceptions","exceptionId","newExceptions","applyExceptionGroupFieldsForParentException","newException","newExceptionId","applyExceptionGroupFieldsForChildException","childError","is_exception_group","exception_id","parentId","linkedErrorsIntegration","createFrame","chromeRegexNoFnName","chromeRegex","chromeEvalRegex","geckoREgex","geckoEvalRegex","defaultStackParser","noFnParts","subMatch","extractSafariExtensionDetails","isSafariExtension","isSafariWebExtension","cachedImplementations","getNativeImplementation","cached","impl","clearCachedImplementation","makePromiseBuffer","task","taskProducer","drain","counter","capturedSetTimeout","updateRateLimits","limits","updatedRateLimits","rateLimitHeader","retryAfterHeader","retryAfter","categories","namespaces","headerDelay","headerDate","parseRetryAfterHeader","createTransport","makeRequest","bufferSize","rateLimits","filteredEnvelopeItems","disabledUntil","isRateLimited","filteredEnvelope","recordEnvelopeLoss","makeFetchTransport","nativeFetch","pendingBodySize","pendingCount","requestSize","requestOptions","referrerPolicy","keepalive","fetchOptions","getDefaultIntegrations","dropTopLevelUndefinedKeys","mutatetedObj","browserOptions","optionsArg","__SENTRY_RELEASE__","SENTRY_RELEASE","applyDefaultOptions","skipBrowserExtensionCheck","windowWithMaybeExtension","extensionObject","chrome","runtimeId","isDedicatedExtensionPage","isNWjs","nw","shouldShowBrowserExtensionError","timedEventsToMeasurements","unit","bindReporter","metric","thresholds","reportAllChanges","prevValue","delta","forceReport","rating","getRating","getNavigationEntry","checkResponseStart","navigationEntry","getEntriesByType","responseStart","getActivationStart","navEntry","activationStart","initMetric","navigationType","prerendering","wasDiscarded","PerformanceObserver","supportedEntryTypes","getEntries","buffered","onHidden","onHiddenOrPageHide","runOnce","firstHiddenTime","onVisibilityUpdate","removeChangeListeners","getVisibilityWatcher","whenActivated","FCPThresholds","CLSThresholds","onCLS","onReport","visibilityWatcher","report","onFCP","sessionValue","sessionEntries","handleEntries","hadRecentInput","firstSessionEntry","lastSessionEntry","takeRecords","FIDThresholds","interactionCountEstimate","minKnownInteractionId","maxKnownInteractionId","updateEstimate","interactionId","initInteractionCountPolyfill","durationThreshold","longestInteractionList","longestInteractionMap","getInteractionCountForNavigation","interactionCount","entryPreProcessingCallbacks","processInteractionEntry","entryType","minLongestInteraction","existingInteraction","latency","interaction","whenIdle","rIC","requestIdleCallback","handle","INPThresholds","onINP","PerformanceEventTiming","inp","candidateInteractionIndex","estimateP98LongestInteraction","LCPThresholds","reportedMetricIDs","TTFBThresholds","whenReady","_previousCls","_previousFid","_previousLcp","_previousTtfb","_previousInp","addClsInstrumentationHandler","stopOnCallback","addMetricObserver","instrumentCls","addPerformanceInstrumentationHandler","instrumentPerformanceObserver","getCleanupCallback","instrumentFid","handleEntry","processingStart","onFID","instrumentLcp","stopListening","onLCP","instrumentTtfb","onTTFB","instrumentInp","previousValue","_traceId","_spanId","_timestamp","setAttributes","_values","_status","updateName","_name","isRecording","addEvent","_attributesOrStartTime","_startTime","addLink","addLinks","_links","recordException","_exception","_time","SentrySpan","_attributes","_parentSpanId","_sampled","_endTime","_isStandaloneSpan","isStandalone","_onSpanEnded","updateStartTime","timeInput","logSpanEnd","segment_id","attributesOrStartTime","isSpanTimeInput","isStandaloneSpan","spanItems","sendSpanEnvelope","dscHasRequiredProps","convertToSpanJSON","createSpanEnvelope","transactionEvent","_convertSpanToTransaction","isFullFinishedSpan","SUPPRESS_TRACING_KEY","startInactiveSpan","getAcs","spanArguments","parseSentrySpanArguments","forceTransaction","parentSpan","customParentSpan","withActiveSpan","getParentSpan","onlyIfParent","createChildOrRootSpan","_startChildSpan","_startRootSpan","isRootSpan","infoParts","logSpanStart","setCapturedScopesOnSpan","initialCtx","experimental","standalone","ctx","currentPropagationContext","localSampleRateWasApplied","samplingContext","inheritOrSampleWith","fallbackSampleRate","parentSampleRate","shouldSample","sampleSpan","isMeasurementValue","startAndEndSpan","startTimeInSeconds","parentStartTime","startStandaloneWebVitalSpan","passedAttributes","replay","replayId","getReplayId","userDisplay","profileId","replay_id","getBrowserPerformanceAPI","msToSec","extractNetworkProtocol","nextHopProtocol","trackClsAsStandaloneSpan","standaloneClsEntry","pageloadSpanId","standaloneCLsValue","supportsLayoutShift","sentSpan","_collectClsOnce","clsValue","routeName","sendStandaloneClsSpan","cleanupClsHandler","unsubscribeStartNavigation","activeSpan","_lcpEntry","_clsEntry","_performanceCursor","_measurements","startTrackingWebVitals","recordClsStandaloneSpans","mark","fidCleanupCallback","lcpCleanupCallback","addLcpInstrumentationHandler","ttfbCleanupCallback","addTtfbInstrumentationHandler","clsCleanupCallback","addPerformanceEntries","performanceEntries","transactionStartTime","_addPerformanceNavigationTiming","requestStartTimestamp","requestStart","responseEndTimestamp","responseEnd","responseStartTimestamp","_addRequest","_addNavigationSpans","requestTime","measureStartTimestamp","startTimeStamp","measureEndTimestamp","_addMeasureSpans","firstHidden","shouldRecord","resourceUrl","initiatorType","parsedUrl","setResourceEntrySizeData","deliveryType","renderBlockingStatus","_addResourceSpans","connection","effectiveType","rtt","deviceMemory","hardwareConcurrency","_trackNavigator","_addTtfbRequestTimeToMeasurements","fidMark","recordClsOnPageloadSpan","cls","measurementName","measurement","setMeasurement","loadTime","renderTime","_setWebVitalAttributes","eventEnd","_getEndPropertyNameForNavigationTiming","dataKey","entryVal","LAST_INTERACTIONS","INTERACTIONS_SPAN_MAP","startTrackingINP","inpCallback","INP_ENTRY_MAP","interactionType","spanToUse","pointerdown","pointerup","mousedown","mouseup","touchstart","touchend","mouseover","mouseout","mouseenter","mouseleave","pointerover","pointerout","pointerenter","pointerleave","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","keyup","keypress","TRACING_DEFAULTS","idleTimeout","finalTimeout","childSpanTimeout","startIdleSpan","startSpanOptions","activities","_idleTimeoutID","_finished","_finishReason","_autoFinishAllowed","disableAutoFinish","_cleanupHooks","beforeSpanEnd","previousActiveSpan","_startIdleSpan","_cancelIdleTimeout","_restartIdleTimeout","_restartChildSpanTimeout","onIdleSpanEnded","cleanup","spanJSON","discardedSpans","childSpanJSON","childEndTimestamp","childStartTimestamp","spanStartedBeforeIdleSpanEnd","spanEndedBeforeFinalTimeout","stringifiedSpan","removeChildSpanFromSpan","definedEndTimestamp","spanEndTimestamp","childEndTimestamps","latestSpanEndTimestamp","spanStartTimestamp","startedSpan","endedSpan","spanToAllowAutoFinish","errorsInstrumented","errorCallback","getTraceData","spanToTraceHeader","scopeToTraceHeader","instrumentFetchRequest","shouldCreateSpan","shouldAttachHeaders","spanOrigin","shouldCreateSpanResult","__span","contentLength","contentLengthNum","endSpan","fullUrl","URL","getFullURL","hasParent","fetchOptionsObj","traceHeaders","isRequest","isHeaders","newHeaders","prevBaggageHeader","prevHeaderStrippedFromSentryBaggage","stripBaggageHeaderOfSentryBaggageValues","headerName","headerValue","existingBaggageHeader","newBaggageHeaders","headerItem","_addTracingHeadersToFetchRequest","fetchHint","responseToSpanId","spanIdToEndTimestamp","defaultRequestInstrumentationOptions","traceFetch","traceXHR","enableHTTPTimings","trackFetchStreamPerformance","instrumentOutgoingRequests","shouldCreateSpanForRequest","tracePropagationTargets","shouldAttachHeadersWithTargets","targetUrl","resolvedUrl","currentOrigin","isSameOriginRequest","isRelativeSameOriginRequest","updatedTimestamp","addFetchEndInstrumentationHandler","createdSpan","addHTTPTimings","__sentry_xhr_span_id__","urlForSpanName","sentryTraceHeader","sentryBaggageHeader","setHeaderOnXhr","addTracingHeadersToXhrRequest","xhrCallback","isPerformanceResourceTiming","endsWith","spanData","resourceTiming","timingSpanData","getAbsoluteTime","redirectStart","fetchStart","domainLookupStart","domainLookupEnd","connectStart","secureConnectionStart","connectEnd","resourceTimingEntryToSpanData","DEFAULT_BROWSER_TRACING_OPTIONS","instrumentNavigation","instrumentPageLoad","markBackgroundSpan","enableLongTask","enableLongAnimationFrame","enableInp","getMetaContent","metaName","optionalWindowDocument","metaTag","ACTIVE_IDLE_SPAN_PROPERTY","getActiveIdleSpan","setActiveIdleSpan","DEFAULT_HOOKS","classifyRE","ANONYMOUS_COMPONENT_NAME","formatComponentName","includeFile","attachErrorHandler","originalErrorHandler","tree","currentRecursiveSequence","formattedTree","generateComponentTrace","attachProps","vue","VUE_OP","HOOKS","unmount","mount","findTrackComponent","trackComponents","formattedName","extractComponentName","compo","createTracingMixins","internalHooks","internalHook","$_sentryRootSpan","shouldTrack","$_sentrySpans","oldSpan","$_sentryRootSpanTimer","DEFAULT_CONFIG","tracingOptions","vueIntegration","integrationOptions","vueInit","appWithInstance","isMounted","_instance","_v_sitebranding_block","_v_user_block","_v_header_menu","_v_language_switcher","_v_pagetitle_block","_v_search_block","_v_main_content","_v_left_content","_v_glob_coollightbox","enableInteractions","enableStandaloneClsSpans","beforeStartSpan","_collectWebVitals","parentStartTimestamp","parentOp","initialScript","invoker","invokerType","sourceURL","sourceFunctionName","sourceCharPosition","spanOptions","latestRoute","_createRouteSpan","isPageloadTransaction","finalStartSpanOptions","idleSpan","oldPropagationContext","emitFinish","startingUrl","maybeEndActiveSpan","traceOptions","startBrowserTracingPageLoadSpan","startBrowserTracingNavigationSpan","cancelledStatus","inflightInteractionSpan","registerInteractionTransaction","activeIdleSpan","currentRootSpanOp","registerInteractionListener","activeRootSpan","isPerformanceEventTiming","registerInpInteractionListener","_is_front","isFront","route_name","entity_bundle","body_classes","classes_to_rm","path_parts","hreflang","sys_path","updateLanguageLinksBlock","$blk","$h2","initVPagetitleBlock","initVHeaderMenu","$html_obj","initVLanguageSwitcher","$search_block","initVSearchBlock","main_html","initVMainContent","initVLeftContent","$clb_elmt","GlobCoolLightBox","initCoolLightBox","mount_point","$block","initVUserBlock","MaterioTheme","FormData","ArrayBuffer","isView","pipe","product","stripBOM","isAbsoluteURL","combineURLs","requestedURL","MAX_ARRAY_LENGTH","MAX_RECURSIVE_DEPTH","copyBuffer","cur","refsNew","cloneProto","cloneArray","o2","a2","rfdcCircles","figure","switcher","figs","offsetX","fig","activateLazyLoad","figures","MA","__webpack_module_cache__","cachedModule","__webpack_modules__","chunkIds","priority","notFulfilled","chunkId","definition","miniCssF","needAttach","charset","onScriptComplete","doneFns","installedChunks","installedChunkData","realSrc","rel","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} |