{"version":3,"file":"js/752-fa9057f934ecfc2b7994.chunk.js","mappings":"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","sources":["webpack://hnry-rails/./node_modules/@datadog/browser-core/esm/tools/matchOption.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/configuration.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/configuration/remoteConfiguration.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/boot/preStartRum.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/plugins.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","webpack://hnry-rails/./node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/performanceCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewContexts.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/discardNegativeDuration.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/polyfills.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/privacy.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestTiming.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/vital/vitalCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/browser/cookieObservable.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciVisibilityContext.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/replayStats.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializationUtils.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/types/sessionReplayConstants.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeStyleSheets.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttribute.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttributes.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeNode.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeDocument.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/eventsUtils.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/viewports.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/assembly.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMove.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMouseInteraction.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackScroll.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewportResize.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMediaInteraction.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackStyleSheet.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFocus.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFrustration.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewEnd.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackInput.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/mutationBatch.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMutation.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/shadowRootsController.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/record.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/elementsScrollPositions.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/startFullSnapshots.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/record/recordIds.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segment.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segmentCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/segmentCollection/buildReplayPayload.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/entries/main.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/boot/startRecording.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum/esm/domain/startRecordBridge.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","webpack://hnry-rails/./node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js"],"sourcesContent":["import { startsWith } from './utils/polyfills';\nimport { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n var itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith) {\n if (useStartsWith === void 0) { useStartsWith = false; }\n return list.some(function (item) {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","import { objectEntries, shallowClone, performDraw, isNumber, assign, find, getType, isMatchOption, matchList, TraceContextInjection, } from '@datadog/browser-core';\nexport function isTracingOption(item) {\n var expectedItem = item;\n return (getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes));\n}\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexport function startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded: clearTracingIfNeeded,\n traceFetch: function (context) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach(function (key) {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n var headers_1 = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach(function (value, key) {\n headers_1.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach(function (header) {\n headers_1.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach(function (key) {\n headers_1.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers_1.concat(objectEntries(tracingHeaders));\n }\n });\n },\n traceXhr: function (context, xhr) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n Object.keys(tracingHeaders).forEach(function (name) {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n });\n },\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n var tracingOption = find(configuration.allowedTracingUrls, function (tracingOption) {\n return matchList([tracingOption.match], context.url, true);\n });\n if (!tracingOption) {\n return;\n }\n context.traceSampled = !isNumber(configuration.traceSampleRate) || performDraw(configuration.traceSampleRate);\n if (!context.traceSampled && configuration.traceContextInjection !== TraceContextInjection.ALL) {\n return;\n }\n context.traceId = new TraceIdentifier();\n context.spanId = new TraceIdentifier();\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\n}\nfunction getCrypto() {\n return window.crypto || window.msCrypto;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled, propagatorTypes) {\n var tracingHeaders = {};\n propagatorTypes.forEach(function (propagatorType) {\n switch (propagatorType) {\n case 'datadog': {\n assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toDecimalString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toDecimalString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n assign(tracingHeaders, {\n traceparent: \"00-0000000000000000\".concat(traceId.toPaddedHexadecimalString(), \"-\").concat(spanId.toPaddedHexadecimalString(), \"-0\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n assign(tracingHeaders, {\n b3: \"\".concat(traceId.toPaddedHexadecimalString(), \"-\").concat(spanId.toPaddedHexadecimalString(), \"-\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n case 'b3multi': {\n assign(tracingHeaders, {\n 'X-B3-TraceId': traceId.toPaddedHexadecimalString(),\n 'X-B3-SpanId': spanId.toPaddedHexadecimalString(),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n/* eslint-disable no-bitwise */\nvar TraceIdentifier = /** @class */ (function () {\n function TraceIdentifier() {\n this.buffer = new Uint8Array(8);\n getCrypto().getRandomValues(this.buffer);\n this.buffer[0] = this.buffer[0] & 0x7f; // force 63-bit\n }\n TraceIdentifier.prototype.toString = function (radix) {\n var high = this.readInt32(0);\n var low = this.readInt32(4);\n var str = '';\n do {\n var mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n };\n /**\n * Format used everywhere except the trace intake\n */\n TraceIdentifier.prototype.toDecimalString = function () {\n return this.toString(10);\n };\n /**\n * Format used by OTel headers\n */\n TraceIdentifier.prototype.toPaddedHexadecimalString = function () {\n var traceId = this.toString(16);\n return Array(17 - traceId.length).join('0') + traceId;\n };\n TraceIdentifier.prototype.readInt32 = function (offset) {\n return (this.buffer[offset] * 16777216 +\n (this.buffer[offset + 1] << 16) +\n (this.buffer[offset + 2] << 8) +\n this.buffer[offset + 3]);\n };\n return TraceIdentifier;\n}());\nexport { TraceIdentifier };\n/* eslint-enable no-bitwise */\n//# sourceMappingURL=tracer.js.map","import { getType, arrayFrom, isMatchOption, serializeConfiguration, assign, DefaultPrivacyLevel, TraceContextInjection, display, isPercentage, objectHasValue, validateAndBuildConfiguration, isExperimentalFeatureEnabled, ExperimentalFeature, } from '@datadog/browser-core';\nimport { isTracingOption } from '../tracing/tracer';\nexport var DEFAULT_PROPAGATOR_TYPES = ['tracecontext', 'datadog'];\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b;\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (initConfiguration.sessionReplaySampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionReplaySampleRate)) {\n display.error('Session Replay Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.traceSampleRate !== undefined && !isPercentage(initConfiguration.traceSampleRate)) {\n display.error('Trace Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array');\n return;\n }\n var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n return assign({\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version || undefined,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: (_a = initConfiguration.sessionReplaySampleRate) !== null && _a !== void 0 ? _a : 0,\n startSessionReplayRecordingManually: !!initConfiguration.startSessionReplayRecordingManually,\n traceSampleRate: initConfiguration.traceSampleRate,\n allowedTracingUrls: allowedTracingUrls,\n excludedActivityUrls: (_b = initConfiguration.excludedActivityUrls) !== null && _b !== void 0 ? _b : [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!initConfiguration.trackUserInteractions,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!initConfiguration.trackResources,\n trackLongTasks: !!initConfiguration.trackLongTasks,\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK,\n enablePrivacyForActionName: !!initConfiguration.enablePrivacyForActionName,\n customerDataTelemetrySampleRate: 1,\n traceContextInjection: objectHasValue(TraceContextInjection, initConfiguration.traceContextInjection)\n ? initConfiguration.traceContextInjection\n : TraceContextInjection.ALL,\n plugins: (isExperimentalFeatureEnabled(ExperimentalFeature.PLUGINS) && initConfiguration.plugins) || [],\n }, baseConfiguration);\n}\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n if (initConfiguration.allowedTracingUrls !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array');\n return;\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n var tracingOptions_1 = [];\n initConfiguration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n tracingOptions_1.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES });\n }\n else if (isTracingOption(option)) {\n tracingOptions_1.push(option);\n }\n else {\n display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);\n }\n });\n return tracingOptions_1;\n }\n return [];\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration) {\n var usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n });\n }\n return arrayFrom(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a;\n var baseSerializedConfiguration = serializeConfiguration(configuration);\n return assign({\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n trace_sample_rate: configuration.traceSampleRate,\n trace_context_injection: configuration.traceContextInjection,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_urls: Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0,\n selected_tracing_propagators: getSelectedTracingPropagators(configuration),\n default_privacy_level: configuration.defaultPrivacyLevel,\n enable_privacy_for_action_name: configuration.enablePrivacyForActionName,\n use_excluded_activity_urls: Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n compress_intake_requests: configuration.compressIntakeRequests,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: configuration.trackUserInteractions,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n plugins: (_a = configuration.plugins) === null || _a === void 0 ? void 0 : _a.map(function (plugin) { var _a; return assign({ name: plugin.name }, (_a = plugin.getConfigurationTelemetry) === null || _a === void 0 ? void 0 : _a.call(plugin)); }),\n }, baseSerializedConfiguration);\n}\n//# sourceMappingURL=configuration.js.map","import { display, addEventListener, assign } from '@datadog/browser-core';\nexport var REMOTE_CONFIGURATION_URL = 'https://d3uc069fcn7uxw.cloudfront.net/configuration';\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, function (remoteInitConfiguration) {\n callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));\n });\n}\nexport function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {\n return assign({}, initConfiguration, remoteInitConfiguration);\n}\nexport function fetchRemoteConfiguration(configuration, callback) {\n var xhr = new XMLHttpRequest();\n addEventListener(configuration, xhr, 'load', function () {\n if (xhr.status === 200) {\n callback(JSON.parse(xhr.responseText));\n }\n else {\n displayRemoteConfigurationFetchingError();\n }\n });\n addEventListener(configuration, xhr, 'error', function () {\n displayRemoteConfigurationFetchingError();\n });\n xhr.open('GET', \"\".concat(REMOTE_CONFIGURATION_URL, \"/\").concat(encodeURIComponent(configuration.remoteConfigurationId), \".json\"));\n xhr.send();\n}\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.');\n}\n//# sourceMappingURL=remoteConfiguration.js.map","import { BoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, assign, getEventBridge, ExperimentalFeature, isExperimentalFeatureEnabled, initFeatureFlags, addTelemetryConfiguration, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration, } from '../domain/configuration';\nimport { fetchAndApplyRemoteConfiguration, serializeRumConfiguration } from '../domain/configuration';\nimport { callPluginsMethod } from '../domain/plugins';\nexport function createPreStartStrategy(_a, getCommonContext, trackingConsentState, doStartRum) {\n var ignoreInitIfSyntheticsWillInjectRum = _a.ignoreInitIfSyntheticsWillInjectRum, startDeflateWorker = _a.startDeflateWorker;\n var bufferApiCalls = new BoundedBuffer();\n var firstStartViewCall;\n var deflateWorker;\n var cachedInitConfiguration;\n var cachedConfiguration;\n var trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartRum);\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n var initialViewOptions;\n if (cachedConfiguration.trackViewsManually) {\n if (!firstStartViewCall) {\n return;\n }\n // An initial view is always created when starting RUM.\n // When tracking views automatically, any startView call before RUM start creates an extra\n // view.\n // When tracking views manually, we use the ViewOptions from the first startView call as the\n // initial view options, and we remove the actual startView call so we don't create an extra\n // view.\n bufferApiCalls.remove(firstStartViewCall.callback);\n initialViewOptions = firstStartViewCall.options;\n }\n var startRumResult = doStartRum(cachedConfiguration, deflateWorker, initialViewOptions);\n bufferApiCalls.drain(startRumResult);\n }\n function doInit(initConfiguration) {\n var eventBridgeAvailable = canUseEventBridge();\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n // Update the exposed initConfiguration to reflect the bridge and remote configuration overrides\n cachedInitConfiguration = initConfiguration;\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration));\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n return;\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.');\n return;\n }\n if (configuration.compressIntakeRequests && !eventBridgeAvailable && startDeflateWorker) {\n deflateWorker = startDeflateWorker(configuration, 'Datadog RUM', \n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop);\n if (!deflateWorker) {\n // `startDeflateWorker` should have logged an error message explaining the issue\n return;\n }\n }\n cachedConfiguration = configuration;\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartRum();\n }\n return {\n init: function (initConfiguration, publicApi) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n initFeatureFlags(initConfiguration.enableExperimentalFeatures);\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration;\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want\n // to completely discard the customer application RUM instance by ignoring their init() call.\n // But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return;\n }\n if (isExperimentalFeatureEnabled(ExperimentalFeature.PLUGINS)) {\n callPluginsMethod(initConfiguration.plugins, 'onInit', { initConfiguration: initConfiguration, publicApi: publicApi });\n }\n if (initConfiguration.remoteConfigurationId &&\n isExperimentalFeatureEnabled(ExperimentalFeature.REMOTE_CONFIGURATION)) {\n fetchAndApplyRemoteConfiguration(initConfiguration, doInit);\n }\n else {\n doInit(initConfiguration);\n }\n },\n get initConfiguration() {\n return cachedInitConfiguration;\n },\n getInternalContext: noop,\n stopSession: noop,\n addTiming: function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addTiming(name, time); });\n },\n startView: function (options, startClocks) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n var callback = function (startRumResult) {\n startRumResult.startView(options, startClocks);\n };\n bufferApiCalls.add(callback);\n if (!firstStartViewCall) {\n firstStartViewCall = { options: options, callback: callback };\n tryStartRum();\n }\n },\n addAction: function (action, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addAction(action, commonContext); });\n },\n addError: function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addError(providedError, commonContext); });\n },\n addFeatureFlagEvaluation: function (key, value) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addFeatureFlagEvaluation(key, value); });\n },\n startDurationVital: function (vitalStart) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.startDurationVital(vitalStart); });\n },\n stopDurationVital: function (vitalStart) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.stopDurationVital(vitalStart); });\n },\n };\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n var _a, _b;\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n defaultPrivacyLevel: (_a = initConfiguration.defaultPrivacyLevel) !== null && _a !== void 0 ? _a : (_b = getEventBridge()) === null || _b === void 0 ? void 0 : _b.getPrivacyLevel(),\n });\n}\n//# sourceMappingURL=preStartRum.js.map","export function callPluginsMethod(plugins, methodName, parameter) {\n if (!plugins) {\n return;\n }\n for (var _i = 0, plugins_1 = plugins; _i < plugins_1.length; _i++) {\n var plugin = plugins_1[_i];\n var method = plugin[methodName];\n if (method) {\n method(parameter);\n }\n }\n}\n//# sourceMappingURL=plugins.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n return new Observable(function (observable) {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver(monitor(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n}\nexport function getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver');\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n var patchedInstance = new browserWindow.MutationObserver(noop);\n var originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance');\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n//# sourceMappingURL=domMutationObservable.js.map","import { DOM_EVENT, addEventListener } from './addEventListener';\nexport function runOnReadyState(configuration, expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n }\n else {\n var eventName = expectedReadyState === 'complete' ? DOM_EVENT.LOAD : DOM_EVENT.DOM_CONTENT_LOADED;\n addEventListener(configuration, window, eventName, callback, { once: true });\n }\n}\n//# sourceMappingURL=runOnReadyState.js.map","import { addTelemetryDebug, elapsed, ExperimentalFeature, getPathName, includes, isExperimentalFeatureEnabled, isValidUrl, toServerDuration, } from '@datadog/browser-core';\nexport var FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, function (initiatorType) { return FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* ResourceType.XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* ResourceType.FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* ResourceType.BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* ResourceType.CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* ResourceType.JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* ResourceType.IMAGE */,\n function (initiatorType, path) {\n return includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* ResourceType.FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* ResourceType.MEDIA */,\n function (initiatorType, path) {\n return includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nexport function computeResourceKind(timing) {\n var url = timing.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(\"Failed to construct URL for \\\"\".concat(timing.name, \"\\\"\"));\n return \"other\" /* ResourceType.OTHER */;\n }\n var path = getPathName(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(timing.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nexport function isRequestKind(timing) {\n return timing.initiatorType === 'xmlhttprequest' || timing.initiatorType === 'fetch';\n}\nexport function computePerformanceResourceDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nexport function computePerformanceResourceDetails(entry) {\n if (!isValidEntry(entry)) {\n return undefined;\n }\n var startTime = entry.startTime, fetchStart = entry.fetchStart, redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd, domainLookupStart = entry.domainLookupStart, domainLookupEnd = entry.domainLookupEnd, connectStart = entry.connectStart, secureConnectionStart = entry.secureConnectionStart, connectEnd = entry.connectEnd, requestStart = entry.requestStart, responseStart = entry.responseStart, responseEnd = entry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a connection occurred\n if (fetchStart < connectEnd) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (connectStart <= secureConnectionStart && secureConnectionStart <= connectEnd) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (fetchStart < domainLookupEnd) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n // Make sure a redirection occurred\n if (startTime < redirectEnd) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\nexport function isValidEntry(entry) {\n if (isExperimentalFeatureEnabled(ExperimentalFeature.TOLERANT_RESOURCE_TIMINGS)) {\n return true;\n }\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n var areCommonTimingsInOrder = areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd);\n var areRedirectionTimingsInOrder = hasRedirection(entry)\n ? areInOrder(entry.startTime, entry.redirectStart, entry.redirectEnd, entry.fetchStart)\n : true;\n return areCommonTimingsInOrder && areRedirectionTimingsInOrder;\n}\nfunction hasRedirection(entry) {\n return entry.redirectEnd > entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n if (origin <= start && start <= end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n }\n}\nexport function computeSize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n var encodedBodySize = entry.encodedBodySize, decodedBodySize = entry.decodedBodySize, transferSize = entry.transferSize;\n return {\n size: decodedBodySize,\n encoded_body_size: encodedBodySize,\n decoded_body_size: decodedBodySize,\n transfer_size: transferSize,\n };\n }\n return {\n size: undefined,\n encoded_body_size: undefined,\n decoded_body_size: undefined,\n transfer_size: undefined,\n };\n}\nexport function isAllowedRequestUrl(configuration, url) {\n return url && !configuration.isIntakeUrl(url);\n}\nvar DATA_URL_REGEX = /data:(.+)?(;base64)?,/g;\nexport var MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 24000;\nexport function isLongDataUrl(url) {\n if (url.length <= MAX_ATTRIBUTE_VALUE_CHAR_LENGTH) {\n return false;\n }\n else if (url.substring(0, 5) === 'data:') {\n // Avoid String.match RangeError: Maximum call stack size exceeded\n url = url.substring(0, MAX_ATTRIBUTE_VALUE_CHAR_LENGTH);\n return true;\n }\n return false;\n}\nexport function sanitizeDataUrl(url) {\n return \"\".concat(url.match(DATA_URL_REGEX)[0], \"[...]\");\n}\n//# sourceMappingURL=resourceUtils.js.map","export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE;\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot);\n}\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node;\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);\n}\nexport function hasChildNodes(node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node);\n}\nexport function forEachChildNodes(node, callback) {\n var child = node.firstChild;\n while (child) {\n callback(child);\n child = child.nextSibling;\n }\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot);\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode;\n}\n//# sourceMappingURL=htmlDomUtils.js.map","import { dateNow, findCommaSeparatedValue, ONE_MINUTE } from '@datadog/browser-core';\nimport { isCommentNode, isTextNode } from '../../browser/htmlDomUtils';\nexport var INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = 2 * ONE_MINUTE;\nexport function getDocumentTraceId(document) {\n var data = getDocumentTraceDataFromMeta(document) || getDocumentTraceDataFromComment(document);\n if (!data || data.traceTime <= dateNow() - INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD) {\n return undefined;\n }\n return data.traceId;\n}\nexport function getDocumentTraceDataFromMeta(document) {\n var traceIdMeta = document.querySelector('meta[name=dd-trace-id]');\n var traceTimeMeta = document.querySelector('meta[name=dd-trace-time]');\n return createDocumentTraceData(traceIdMeta && traceIdMeta.content, traceTimeMeta && traceTimeMeta.content);\n}\nexport function getDocumentTraceDataFromComment(document) {\n var comment = findTraceComment(document);\n if (!comment) {\n return undefined;\n }\n return createDocumentTraceData(findCommaSeparatedValue(comment, 'trace-id'), findCommaSeparatedValue(comment, 'trace-time'));\n}\nexport function createDocumentTraceData(traceId, rawTraceTime) {\n var traceTime = rawTraceTime && Number(rawTraceTime);\n if (!traceId || !traceTime) {\n return undefined;\n }\n return {\n traceId: traceId,\n traceTime: traceTime,\n };\n}\nexport function findTraceComment(document) {\n // 1. Try to find the comment as a direct child of the document\n // Note: TSLint advises to use a 'for of', but TS doesn't allow to use 'for of' if the iterated\n // value is not an array or string (here, a NodeList).\n for (var i = 0; i < document.childNodes.length; i += 1) {\n var comment = getTraceCommentFromNode(document.childNodes[i]);\n if (comment) {\n return comment;\n }\n }\n // 2. If the comment is placed after the tag, but have some space or new lines before or\n // after, the DOM parser will lift it (and the surrounding text) at the end of the tag.\n // Try to look for the comment at the end of the by by iterating over its child nodes in\n // reverse order, stopping if we come across a non-text node.\n if (document.body) {\n for (var i = document.body.childNodes.length - 1; i >= 0; i -= 1) {\n var node = document.body.childNodes[i];\n var comment = getTraceCommentFromNode(node);\n if (comment) {\n return comment;\n }\n if (!isTextNode(node)) {\n break;\n }\n }\n }\n}\nfunction getTraceCommentFromNode(node) {\n if (node && isCommentNode(node)) {\n var match = /^\\s*DATADOG;(.*?)\\s*$/.exec(node.data);\n if (match) {\n return match[1];\n }\n }\n}\n//# sourceMappingURL=getDocumentTraceId.js.map","import { dateNow, assign, addEventListeners, DOM_EVENT, getRelativeTime, isNumber, monitor, setTimeout, relativeNow, runOnReadyState, addEventListener, objectHasValue, } from '@datadog/browser-core';\nimport { FAKE_INITIAL_DOCUMENT, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { getDocumentTraceId } from '../domain/tracing/getDocumentTraceId';\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport var RumPerformanceEntryType;\n(function (RumPerformanceEntryType) {\n RumPerformanceEntryType[\"EVENT\"] = \"event\";\n RumPerformanceEntryType[\"FIRST_INPUT\"] = \"first-input\";\n RumPerformanceEntryType[\"LARGEST_CONTENTFUL_PAINT\"] = \"largest-contentful-paint\";\n RumPerformanceEntryType[\"LAYOUT_SHIFT\"] = \"layout-shift\";\n RumPerformanceEntryType[\"LONG_TASK\"] = \"longtask\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nexport function supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nexport function startPerformanceCollection(lifeCycle, configuration) {\n var cleanupTasks = [];\n retrieveInitialDocumentResourceTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n if (supportPerformanceObject()) {\n var performanceEntries_1 = performance.getEntries();\n // Because the performance entry list can be quite large\n // delay the computation to prevent the SDK from blocking the main thread on init\n setTimeout(function () { return handleRumPerformanceEntries(lifeCycle, configuration, performanceEntries_1); });\n }\n if (window.PerformanceObserver) {\n var handlePerformanceEntryList_1 = monitor(function (entries) {\n return handleRumPerformanceEntries(lifeCycle, configuration, entries.getEntries());\n });\n var mainEntries = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n var experimentalEntries = [\n RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT,\n RumPerformanceEntryType.FIRST_INPUT,\n RumPerformanceEntryType.LAYOUT_SHIFT,\n RumPerformanceEntryType.EVENT,\n ];\n try {\n // Experimental entries are not retrieved by performance.getEntries()\n // use a single PerformanceObserver with buffered flag by type\n // to get values that could happen before SDK init\n experimentalEntries.forEach(function (type) {\n var observer = new window.PerformanceObserver(handlePerformanceEntryList_1);\n observer.observe({\n type: type,\n buffered: true,\n // durationThreshold only impact PerformanceEventTiming entries used for INP computation which requires a threshold at 40 (default is 104ms)\n // cf: https://github.com/GoogleChrome/web-vitals/blob/3806160ffbc93c3c4abf210a167b81228172b31c/src/onINP.ts#L209\n durationThreshold: 40,\n });\n cleanupTasks.push(function () { return observer.disconnect(); });\n });\n }\n catch (e) {\n // Some old browser versions (ex: chrome 67) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to PerformanceObserver with entryTypes\n mainEntries.push.apply(mainEntries, experimentalEntries);\n }\n var mainObserver_1 = new PerformanceObserver(handlePerformanceEntryList_1);\n mainObserver_1.observe({ entryTypes: mainEntries });\n cleanupTasks.push(function () { return mainObserver_1.disconnect(); });\n if (supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n var removePerformanceListener = addEventListener(configuration, performance, 'resourcetimingbufferfull', function () {\n performance.clearResourceTimings();\n }).stop;\n cleanupTasks.push(removePerformanceListener);\n }\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION)) {\n retrieveNavigationTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT)) {\n var stopFirstInputTiming = retrieveFirstInputTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n }).stop;\n cleanupTasks.push(stopFirstInputTiming);\n }\n return {\n stop: function () {\n cleanupTasks.forEach(function (task) { return task(); });\n },\n };\n}\nexport function retrieveInitialDocumentResourceTiming(configuration, callback) {\n runOnReadyState(configuration, 'interactive', function () {\n var timing;\n var forcedAttributes = {\n entryType: RumPerformanceEntryType.RESOURCE,\n initiatorType: FAKE_INITIAL_DOCUMENT,\n traceId: getDocumentTraceId(document),\n toJSON: function () { return assign({}, timing, { toJSON: undefined }); },\n };\n if (supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION) &&\n performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION).length > 0) {\n var navigationEntry = performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION)[0];\n timing = assign(navigationEntry.toJSON(), forcedAttributes);\n }\n else {\n var relativePerformanceTiming = computeRelativePerformanceTiming();\n timing = assign(relativePerformanceTiming, {\n decodedBodySize: 0,\n encodedBodySize: 0,\n transferSize: 0,\n renderBlockingStatus: 'non-blocking',\n duration: relativePerformanceTiming.responseEnd,\n name: window.location.href,\n startTime: 0,\n }, forcedAttributes);\n }\n callback(timing);\n });\n}\nfunction retrieveNavigationTiming(configuration, callback) {\n function sendFakeTiming() {\n callback(assign(computeRelativePerformanceTiming(), {\n entryType: RumPerformanceEntryType.NAVIGATION,\n }));\n }\n runOnReadyState(configuration, 'complete', function () {\n // Send it a bit after the actual load event, so the \"loadEventEnd\" timing is accurate\n setTimeout(sendFakeTiming);\n });\n}\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nfunction retrieveFirstInputTiming(configuration, callback) {\n var startTimeStamp = dateNow();\n var timingSent = false;\n var removeEventListeners = addEventListeners(configuration, window, [DOM_EVENT.CLICK, DOM_EVENT.MOUSE_DOWN, DOM_EVENT.KEY_DOWN, DOM_EVENT.TOUCH_START, DOM_EVENT.POINTER_DOWN], function (evt) {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n var timing = {\n entryType: RumPerformanceEntryType.FIRST_INPUT,\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp,\n duration: 0, // arbitrary value to avoid nullable duration and simplify INP logic\n name: '',\n };\n if (evt.type === DOM_EVENT.POINTER_DOWN) {\n sendTimingIfPointerIsNotCancelled(configuration, timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true }).stop;\n return { stop: removeEventListeners };\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(configuration, timing) {\n addEventListeners(configuration, window, [DOM_EVENT.POINTER_UP, DOM_EVENT.POINTER_CANCEL], function (event) {\n if (event.type === DOM_EVENT.POINTER_UP) {\n sendTiming(timing);\n }\n }, { once: true });\n }\n function sendTiming(timing) {\n if (!timingSent) {\n timingSent = true;\n removeEventListeners();\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n var delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\nfunction computeRelativePerformanceTiming() {\n var result = {};\n var timing = performance.timing;\n for (var key in timing) {\n if (isNumber(timing[key])) {\n var numberKey = key;\n var timingElement = timing[numberKey];\n result[numberKey] = timingElement === 0 ? 0 : getRelativeTime(timingElement);\n }\n }\n return result;\n}\nfunction handleRumPerformanceEntries(lifeCycle, configuration, entries) {\n var rumPerformanceEntries = entries.filter(function (entry) {\n return objectHasValue(RumPerformanceEntryType, entry.entryType);\n });\n var rumAllowedPerformanceEntries = rumPerformanceEntries.filter(function (entry) { return !isIncompleteNavigation(entry) && !isForbiddenResource(configuration, entry); });\n if (rumAllowedPerformanceEntries.length) {\n lifeCycle.notify(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, rumAllowedPerformanceEntries);\n }\n}\nfunction isIncompleteNavigation(entry) {\n return entry.entryType === RumPerformanceEntryType.NAVIGATION && entry.loadEventEnd <= 0;\n}\nfunction isForbiddenResource(configuration, entry) {\n return entry.entryType === RumPerformanceEntryType.RESOURCE && !isAllowedRequestUrl(configuration, entry.name);\n}\n//# sourceMappingURL=performanceCollection.js.map","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(function (_a) {\n var fieldPath = _a[0], fieldType = _a[1];\n var newValue = get(clone, fieldPath);\n var newType = getType(newValue);\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue));\n }\n else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObject(current)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObject(object) {\n return getType(object) === 'object';\n}\nfunction isValidObjectContaining(object, field) {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","import { combine, isEmptyObject, timeStampNow, currentDrift, display, createEventRateLimiter, canUseEventBridge, assign, round, isExperimentalFeatureEnabled, ExperimentalFeature, getConnectivity, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { limitModification } from './limitModification';\nvar VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nvar USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nvar ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string',\n};\nvar modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewContexts, urlContexts, actionContexts, displayContext, ciVisibilityContext, getCommonContext, reportError) {\n var _a, _b;\n modifiableFieldPathsByEvent = (_a = {},\n _a[\"view\" /* RumEventType.VIEW */] = VIEW_MODIFIABLE_FIELD_PATHS,\n _a[\"error\" /* RumEventType.ERROR */] = assign({\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"resource\" /* RumEventType.RESOURCE */] = assign({\n 'resource.url': 'string',\n }, isExperimentalFeatureEnabled(ExperimentalFeature.WRITABLE_RESOURCE_GRAPHQL)\n ? {\n 'resource.graphql': 'object',\n }\n : {}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"action\" /* RumEventType.ACTION */] = assign({\n 'action.target.name': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"long_task\" /* RumEventType.LONG_TASK */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"vital\" /* RumEventType.VITAL */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a);\n var eventRateLimiters = (_b = {},\n _b[\"error\" /* RumEventType.ERROR */] = createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"action\" /* RumEventType.ACTION */] = createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"vital\" /* RumEventType.VITAL */] = createEventRateLimiter(\"vital\" /* RumEventType.VITAL */, configuration.eventRateLimiterThreshold, reportError),\n _b);\n var syntheticsContext = getSyntheticsContext();\n lifeCycle.subscribe(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, function (_a) {\n var startTime = _a.startTime, rawRumEvent = _a.rawRumEvent, domainContext = _a.domainContext, savedCommonContext = _a.savedCommonContext, customerContext = _a.customerContext;\n var viewContext = viewContexts.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var commonContext = savedCommonContext || getCommonContext();\n var actionId = actionContexts.findActionId(startTime);\n var rumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? \"5.22.0\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewContext.service || configuration.service,\n version: viewContext.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext\n ? \"synthetics\" /* SessionType.SYNTHETICS */\n : ciVisibilityContext.get()\n ? \"ci_test\" /* SessionType.CI_TEST */\n : \"user\" /* SessionType.USER */,\n },\n view: {\n id: viewContext.id,\n name: viewContext.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciVisibilityContext.get(),\n display: displayContext.get(),\n connectivity: getConnectivity(),\n };\n var serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (serverRumEvent.type === 'view') {\n ;\n serverRumEvent.session.sampled_for_replay =\n session.sessionReplay === 1 /* SessionReplayState.SAMPLED */;\n }\n if (!isEmptyObject(commonContext.user)) {\n ;\n serverRumEvent.usr = commonContext.user;\n }\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context;\n }\n lifeCycle.notify(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n var result = limitModification(event, modifiableFieldPathsByEvent[event.type], function (event) {\n return beforeSend(event, domainContext);\n });\n if (result === false && event.type !== \"view\" /* RumEventType.VIEW */) {\n return false;\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n var rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* RumEventType.ERROR */, \"resource\" /* RumEventType.RESOURCE */, \"long_task\" /* RumEventType.LONG_TASK */].indexOf(event.type) !== -1;\n}\n//# sourceMappingURL=assembly.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n var testId = getSyntheticsTestId();\n var resultId = getSyntheticsResultId();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\n//# sourceMappingURL=syntheticsContext.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport var LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","import { SESSION_TIME_OUT_DELAY, ValueHistory } from '@datadog/browser-core';\nexport var VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewContexts(lifeCycle) {\n var viewContextHistory = new ValueHistory(VIEW_CONTEXT_TIME_OUT_DELAY);\n lifeCycle.subscribe(2 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, function (view) {\n viewContextHistory.add(buildViewContext(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(6 /* LifeCycleEventType.AFTER_VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n viewContextHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(10 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n viewContextHistory.reset();\n });\n function buildViewContext(view) {\n return {\n service: view.service,\n version: view.version,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: function (startTime) { return viewContextHistory.find(startTime); },\n stop: function () {\n viewContextHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewContexts.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nvar nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n var tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, configuration, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n var subscription = initXhrObservable(configuration).subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"xhr\" /* RequestType.XHR */,\n url: context.url,\n xhr: context.xhr,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexport function trackFetch(lifeCycle, configuration, tracer) {\n var subscription = initFetchObservable().subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, function (duration) {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* RequestType.FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nfunction getNextRequestIndex() {\n var result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n var clonedResponse = context.response && tryToClone(context.response);\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }\n else {\n readBytesFromStream(clonedResponse.body, function () {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }, {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n });\n }\n}\n//# sourceMappingURL=requestCollection.js.map","import { isNumber } from '@datadog/browser-core';\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=discardNegativeDuration.js.map","import { noop } from '@datadog/browser-core';\nexport function trackEventCounts(_a) {\n var lifeCycle = _a.lifeCycle, isChildEvent = _a.isChildEvent, _b = _a.onChange, callback = _b === void 0 ? noop : _b;\n var eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n var subscription = lifeCycle.subscribe(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) {\n var _a;\n if (event.type === 'view' || event.type === 'vital' || !isChildEvent(event)) {\n return;\n }\n switch (event.type) {\n case \"error\" /* RumEventType.ERROR */:\n eventCounts.errorCount += 1;\n callback();\n break;\n case \"action\" /* RumEventType.ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback();\n break;\n case \"long_task\" /* RumEventType.LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback();\n break;\n case \"resource\" /* RumEventType.RESOURCE */:\n if (!((_a = event._dd) === null || _a === void 0 ? void 0 : _a.discarded)) {\n eventCounts.resourceCount += 1;\n callback();\n }\n break;\n }\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n eventCounts: eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { instrumentMethod, matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout, } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../browser/performanceCollection';\n// Delay to wait for a page activity to validate the tracking process\nexport var PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport var PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, pageActivityEndCallback, maxDuration) {\n var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n var pageActivityEndTimeoutId;\n var hasCompleted = false;\n var validationTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: false }); }), PAGE_ACTIVITY_VALIDATION_DELAY);\n var maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(function () { return complete({ hadActivity: true, end: timeStampNow() }); }), maxDuration)\n : undefined;\n var pageActivitySubscription = pageActivityObservable.subscribe(function (_a) {\n var isBusy = _a.isBusy;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n var lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: true, end: lastChangeTime }); }), PAGE_ACTIVITY_END_DELAY);\n }\n });\n var stop = function () {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop: stop };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, configuration) {\n return new Observable(function (observable) {\n var subscriptions = [];\n var firstRequestIndex;\n var pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n if (entries.some(function (entry) { return entry.entryType === RumPerformanceEntryType.RESOURCE && !isExcludedUrl(configuration, entry.name); })) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(7 /* LifeCycleEventType.REQUEST_STARTED */, function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(8 /* LifeCycleEventType.REQUEST_COMPLETED */, function (request) {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n var stopTrackingWindowOpen = trackWindowOpen(notifyPageActivity).stop;\n return function () {\n stopTrackingWindowOpen();\n subscriptions.forEach(function (s) { return s.unsubscribe(); });\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n}\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl);\n}\nfunction trackWindowOpen(callback) {\n return instrumentMethod(window, 'open', callback);\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n/**\n * Return the parentElement of an node\n *\n * In cases where parentElement is not supported, such as in IE11 for SVG nodes, we fallback to parentNode\n */\nexport function getParentElement(node) {\n if (node.parentElement) {\n return node.parentElement;\n }\n while (node.parentNode) {\n if (node.parentNode.nodeType === Node.ELEMENT_NODE) {\n return node.parentNode;\n }\n node = node.parentNode;\n }\n return null;\n}\n/**\n * Return the classList of an element or an array of classes if classList is not supported\n *\n * In cases where classList is not supported, such as in IE11 for SVG and MathML elements,\n * we fallback to using element.getAttribute('class').\n * We opt for element.getAttribute('class') over element.className because className returns an SVGAnimatedString for SVG elements.\n */\nexport function getClassList(element) {\n var _a;\n if (element.classList) {\n return element.classList;\n }\n var classes = (_a = element.getAttribute('class')) === null || _a === void 0 ? void 0 : _a.trim();\n return classes ? classes.split(/\\s+/) : [];\n}\n// ie11 supports WeakMap but not WeakSet\nvar PLACEHOLDER = 1;\nvar WeakSet = /** @class */ (function () {\n function WeakSet(initialValues) {\n var _this = this;\n this.map = new WeakMap();\n if (initialValues) {\n initialValues.forEach(function (value) { return _this.map.set(value, PLACEHOLDER); });\n }\n }\n WeakSet.prototype.add = function (value) {\n this.map.set(value, PLACEHOLDER);\n return this;\n };\n WeakSet.prototype.delete = function (value) {\n return this.map.delete(value);\n };\n WeakSet.prototype.has = function (value) {\n return this.map.has(value);\n };\n return WeakSet;\n}());\nexport { WeakSet };\n//# sourceMappingURL=polyfills.js.map","import { DefaultPrivacyLevel } from '@datadog/browser-core';\nimport { isElementNode, getParentNode, isTextNode } from '../browser/htmlDomUtils';\nimport { elementMatches } from '../browser/polyfills';\nexport var NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexport var PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport var PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport var PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport var PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport var PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport var PRIVACY_CLASS_PREFIX = 'dd-privacy-';\n// Private Replacement Templates\nexport var CENSORED_STRING_MARK = '***';\nexport var CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport var FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\nvar TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node, defaultPrivacyLevel, cache) {\n if (cache && cache.has(node)) {\n return cache.get(node);\n }\n var parentNode = getParentNode(node);\n var parentNodePrivacyLevel = parentNode\n ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel, cache)\n : defaultPrivacyLevel;\n var selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n var nodePrivacyLevel = reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\n if (cache) {\n cache.set(node, nodePrivacyLevel);\n }\n return nodePrivacyLevel;\n}\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nexport function reducePrivacyLevel(childPrivacyLevel, parentNodePrivacyLevel) {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel;\n }\n switch (childPrivacyLevel) {\n case NodePrivacyLevel.ALLOW:\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.MASK_USER_INPUT:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return childPrivacyLevel;\n default:\n return parentNodePrivacyLevel;\n }\n}\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nexport function getNodeSelfPrivacyLevel(node) {\n // Only Element types can have a privacy level set\n if (!isElementNode(node)) {\n return;\n }\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n var inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK;\n }\n var autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year]\n if (autocomplete && autocomplete.indexOf('cc-') === 0) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.HIDDEN))) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK))) {\n return NodePrivacyLevel.MASK;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK_USER_INPUT))) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.ALLOW))) {\n return NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE;\n }\n}\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true;\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n var element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport var censorText = function (text) { return text.replace(/\\S/g, TEXT_MASKING_CHAR); };\nexport function getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n var parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n var textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n var nodePrivacyLevel = parentNodePrivacyLevel;\n var isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //