{"version":3,"mappings":"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","names":["Cookies","name","value","ttl","domain","expires","cookieDomain","date","i","c","nameEQ","ca","config","ahoy","options","key","$","visitId","visitorId","track","isReady","queue","canStringify","eventQueue","visitsUrl","eventsUrl","isEmpty","obj","canTrackNow","serialize","object","data","setCookie","getCookie","destroyCookie","log","message","setReady","callback","matchesSelector","element","selector","matches","onEvent","eventName","e","matchedElement","documentReady","generateId","r","v","saveEventQueue","csrfToken","meta","csrfParam","CSRFProtection","xhr","token","sendRequest","url","success","header","eventData","event","trackEvent","trackEventNow","param","page","presence","str","cleanObject","eventProperties","getClosestSection","createVisit","enabled","properties","additionalProperties","propName","AhoyTracker","__publicField","payload","tracker","filePathToFileName","fileUrl","origin","cleanFilePath","filePath","isFileInline","normalizeStackFrames","stackFrames","frame","normalizeFunctionName","fnName","parts","isValidStackTrace","stackTraces","stackTrace","createStackTraces","stackParser","errorEvent","error","filename","lineno","colno","normalizedStackTraces","stack","fileName","lineNumber","columnNumber","_stack$functionName","functionName","cleanedFileName","filterInvalidFrames","frames","_ref","finallyConstructor","constructor","reason","allSettled","arr","P","resolve","reject","args","remaining","res","val","then","AggregateError","errors","any","rejectionReasons","ex","setTimeoutFunc","isArray","x","noop","bind","fn","thisArg","Promise","doResolve","handle","self","deferred","cb","ret","newValue","finale","len","Handler","onFulfilled","onRejected","promise","done","prom","promiseFinally","err","local","isBrowser","PromisePollyfill","slice","PERF","isCORSSupported","byteToHex","bytesToHex","buffer","hexOctets","_i","destination","rng","generateRandomId","length","id","getDtHeaderValue","span","dtVersion","dtUnSampledFlags","dtSampledFlags","flags","parseDtHeaderValue","parsed","sampled","isDtHeaderValid","getTSHeaderValue","sampleRate","NAMESPACE","SEPARATOR","setRequestHeader","target","checkSameOrigin","source","isSame","t","isPlatformSupported","setLabel","skey","removeInvalidChars","valueType","getServerTimingInfo","serverTimingEntries","serverTimingInfo","entrySeparator","valueSeparator","_i2","_serverTimingEntries$","duration","description","timingValue","stripQueryStringFromUrl","isObject","isFunction","baseExtend","dst","objs","deep","ii","keys","j","jj","src","getElasticScript","scripts","l","sc","getCurrentScript","currentScript","extend","merge","isUndefined","getLatestSpan","spans","typeFilter","latestSpan","_i3","getLatestNonXHRSpan","type","getLatestXHRSpan","getEarliestSpan","earliestSpan","_i4","now","getTime","time","getDuration","start","end","scheduleMicroTask","isPerfTimelineSupported","isPerfTypeSupported","isPerfInteractionCountSupported","isBeaconInspectionEnabled","flagName","parsedUrl","isFlagSet","isRedirectInfoAvailable","timing","isDefaultPort","port","protocol","RULES","PROTOCOL_REGEX","Url","_this$extractProtocol","address","slashes","relative","location","instructions","index","instruction","parse","instLength","newIndex","hostname","_proto","result","REDACTED","userpass","username","password","globalVar","match","slugifyUrl","urlStr","depth","query","path","pathParts","redactString","wildcard","specialCharsRegex","digitsRegex","lowerCaseRegex","upperCaseRegex","redactedParts","redactedBefore","part","numberOfSpecialChars","numberOfDigits","numberofUpperCase","numberofLowerCase","lowerCaseRate","upperCaseRate","redacted","SCHEDULE","INVOKE","ADD_EVENT_LISTENER_STR","RESOURCE_INITIATOR_TYPES","REUSABILITY_THRESHOLD","MAX_SPAN_DURATION","PAGE_LOAD_DELAY","PAGE_LOAD","ROUTE_CHANGE","TYPE_CUSTOM","USER_INTERACTION","HTTP_REQUEST_TYPE","TEMPORARY_TYPE","NAME_UNKNOWN","PAGE_EXIT","TRANSACTION_TYPE_ORDER","OUTCOME_SUCCESS","OUTCOME_FAILURE","OUTCOME_UNKNOWN","USER_TIMING_THRESHOLD","TRANSACTION_START","TRANSACTION_END","CONFIG_CHANGE","QUEUE_FLUSH","QUEUE_ADD_TRANSACTION","TRANSACTION_IGNORE","XMLHTTPREQUEST","FETCH","HISTORY","EVENT_TARGET","CLICK","ERROR","BEFORE_EVENT","AFTER_EVENT","LOCAL_CONFIG_KEY","LONG_TASK","PAINT","MEASURE","NAVIGATION","RESOURCE","FIRST_CONTENTFUL_PAINT","LARGEST_CONTENTFUL_PAINT","FIRST_INPUT","LAYOUT_SHIFT","EVENT","ERRORS","TRANSACTIONS","CONFIG_SERVICE","LOGGING_SERVICE","TRANSACTION_SERVICE","APM_SERVER","PERFORMANCE_MONITORING","ERROR_LOGGING","TRUNCATED_TYPE","KEYWORD_LIMIT","SESSION_TIMEOUT","HTTP_REQUEST_TIMEOUT","_excluded","_objectWithoutPropertiesLoose","excluded","sourceKeys","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","EXTERNAL","HARD_NAVIGATION","getPortNumber","getResponseContext","perfTimingEntry","transferSize","encodedBodySize","decodedBodySize","serverTiming","respContext","serverTimingStr","getDestination","portNumber","ipv6Hostname","getResourceContext","entry","getExternalContext","method","response","context","statusCode","getNavigationContext","getPageContext","addSpanContext","addTransactionContext","transaction","_temp","configContext","pageContext","responseContext","entries","METADATA_MODEL","RESPONSE_MODEL","DESTINATION_MODEL","CONTEXT_MODEL","SPAN_MODEL","TRANSACTION_MODEL","ERROR_MODEL","truncate","limit","required","placeholder","replaceValue","currModel","truncateModel","model","childTarget","emptyArr","_loop","currKey","root","factory","module","this","_isNumber","n","StackFrame","require$$0","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","_map","array","output","_filter","_indexOf","urlLike","regExp","filtered","line","tokens","locationParts","lineRE","lines","functionCall","argsRaw","IGNORE_KEYS","PROMISE_REJECTION_PREFIX","getErrorProperties","propertyFound","ErrorLogging","apmServer","configService","transactionService","filteredFrames","culprit","lastFrame","errorMessage","errorType","errorContext","customProperties","currentTransaction","transactionContext","_this$_configService$","errorObject","_this","promiseRejectionEvent","messageOrError","ErrorLogging$1","Queue","onFlush","opts","item","Queue$1","throttle","onThrottle","interval","counter","timeoutId","NDJSON","NDJSON$1","NAVIGATION_TIMING_MARKS","COMPRESSED_NAV_TIMING_MARKS","getPageLoadMarks","marks","getNavigationTimingMarks","redirectStart","fetchStart","navigationStart","responseStart","responseEnd","timingKey","m","compressStackFrames","compressResponse","compressHTTP","http","compressed","status_code","compressContext","user","custom","service","compressMarks","compressedNtMarks","compressNavigationTimingMarks","compressAgentMarks","ntMarks","mark","mapping","agentMarks","fp","lp","compressMetadata","metadata","labels","agent","language","compressTransaction","spanData","tr","compressMetricsets","_transaction$experien","cls","fid","tbt","longtask","_transaction$session","sequence","compressError","exception","breakdowns","samples","compressPayload","params","isCompressionStreamSupported","headers","beforeSend","payloadStream","compressedStream","state","isResponseSuccessful","status","_extends","BYTE_LIMIT","shouldUseFetchWithKeepAlive","isFetchSupported","isKeepAliveSupported","size","calculateSize","sendFetchRequest","_ref$keepalive","keepalive","_ref$timeout","timeout","sendCredentials","timeoutConfig","controller","fetchResponse","responseText","bodyResponse","globalState","apmSymbol","isPropertyWritable","propertyDesc","attachOriginToPatched","patched","original","patchMethod","patchFn","proto","delegateName","delegate","desc","patchDelegate","XHR_IGNORE","XHR_SYNC","XHR_URL","XHR_METHOD","sendXHR","canSend","THROTTLE_INTERVAL","ApmServer","loggingService","queueLimit","flushInterval","events","endPoint","_this2","apmRequest","_ref2","_ref2$timeout","serviceName","environment","_this3","_this$getEndpoints","configEndpoint","localConfig","remoteConfig","etag","cfg","_this$throttleEvents","_this$throttleEvents2","compress","_NDJSON$stringify","metricsets","metricset","transactions","_this4","_NDJSON$stringify2","_payload","_NDJSON$stringify3","filteredPayload","apiVersion","ndjson","metadataKey","ndjsonPayload","_this$getEndpoints2","intakeEndpoint","serverUrl","serverUrlPrefix","ApmServer$1","EventHandler","obs","EventHandler$1","getConfigFromScript","script","getDataAttributesFromNode","node","dataAttrs","dataRegex","attrs","attr","camelCasedkey","Config","scriptData","version","objKey","userContext","_userContext","email","customContext","tags","k","_properties","transactionSampleRate","requiredKeys","allKeys","storage","prevConfig","ConfigService","LoggingService","spec","level","normalizedLevel","realMethod","LoggingService$1","_serviceCreators","serviceCreators","_factory$getService","ServiceFactory","_this$getService","logLevel","registerServices","serviceFactory","_serviceFactory$getSe","patchXMLHttpRequest","XMLHttpRequestPrototype","READY_STATE_CHANGE","LOAD","TIMEOUT","ABORT","invokeTask","task","scheduleTask","addListener","openNative","sendNative","patchFetch","handleResponseError","isAbortError","readStream","stream","reader","read","nativeFetch","input","init","fetchSelf","request","isURL","clonedResponse","body","patchHistory","nativePushState","title","patchEventHandler","alreadyPatched","patchAll","SIMILAR_SPAN_TO_TRANSACTION_RATIO","TRANSACTION_DURATION_THRESHOLD","groupSmallContinuouslySimilarSpans","originalSpans","transDuration","threshold","spanA","spanB","lastCount","lastSpan","isContinuouslySimilar","isLastSpan","adjustTransaction","filterdSpans","similarSpans","PerformanceMonitoring","endpoints","isOwnEndpoint","endpoint","requestUrl","spanName","isDtEnabled","dtOrigins","currentUrl","isSameOrigin","propagateTracestate","_data","_span","_target","outcome","headerName","headerValue","isHeaderValid","transactionStart","transactionData","adjustedTransaction","SpanBase","ctx","_len","_key","endTime","SpanBase$1","_inheritsLoose","subClass","superClass","_setPrototypeOf","o","p","Span","_SpanBase","fields","Span$1","pageLoadBreakdowns","getValue","calculateSelfTime","_start","_end","span1","span2","spanEnd","spanStart","lastContinuousEnd","selfTime","groupSpans","spanMap","transactionSelfTime","subtype","getSpanBreakdown","transactionDetails","details","_ref$count","count","captureBreakdown","timings","current","_key$split","_spanMap$key","Transaction","markTime","trc","sid","_captureBreakdown","flag","taskId","deleted","Transaction$1","metrics","LONG_TASK_THRESHOLD","createLongTaskSpans","longtasks","agg","_longtasks$i","startTime","attribution","_attribution$","_name","containerType","containerName","containerId","createFirstInputDelaySpan","fidEntries","firstInput","processingStart","createTotalBlockingTimeSpan","tbtObject","tbtSpan","calculateTotalBlockingTime","longtaskEntries","blockingTime","calculateCumulativeLayoutShift","clsEntries","shouldCreateNewSession","captureObserverEntries","list","isHardNavigation","trStart","longTaskSpans","lcpEntries","lastLcpEntry","lcp","unloadDiff","fcpEntry","fcp","fidSpan","PerfEntryRecorder","shouldCreateSpan","trEnd","baseTime","eventPairs","createNavigationTimingSpans","createUserTimingSpans","userTimingSpans","_entries$i","kind","createResourceTimingSpan","resourceTimingEntry","initiatorType","isCapturedByPatching","resourceStartTime","requestPatchTime","isIntakeAPIEndpoint","createResourceTimingSpans","captureNavigation","customMarks","_trStart","resourceEntries","userEntries","TransactionService","logger","_tr$spans","_captureObserverEntri","presetOptions","perfOptions","isRedefined","redefineType","currentTypeOrder","redefineTypeOrder","fireOnstartHook","lastHiddenStart","pageLoadTransactionName","breakdownMetrics","session","sessionConfig","latestSpanEnd","transactionEndWithoutDelay","latestXHRSpan","latestXHRSpanEnd","transactionEnd","transactionName","ignoreList","TransactionService$1","INP_THRESHOLD","MAX_INTERACTIONS_TO_CONSIDER","inpState","observeUserInteractions","recorder","processUserInteractions","isPerfCountSupported","durationThreshold","updateInteractionCount","storeUserInteraction","calculateInp","interactionCount","interactionIndex","inp","restoreINPState","leastSlow","filteredInteraction","interaction","foundInteraction","a","b","reportInp","inpTr","navigations","hardNavigationUrl","_serviceFactory$getSe2","observePageVisibility","visibilityChangeHandler","onPageHidden","pageHideHandler","useCapture","unobserve","endManagedTransaction","unobserveDiscard","unobserveQueueAdd","INTERACTIVE_SELECTOR","observePageClicks","clickHandler","createUserInteractionTransaction","_getTransactionMetada","getTransactionMetadata","buildTransactionName","classes","dtName","findCustomTransactionName","tagName","trCustomNameAttribute","fallbackName","getInstrumentationFlags","instrument","disabledInstrumentations","_flags","bootstrap","createServiceFactory","registerPerfServices","registerErrorServices","ApmBase","disable","_this$serviceFactory$","isConfigActive","performanceMonitoring","errorLogging","sendPageLoad","_this$serviceFactory$2","_config2","_configService$valida","invalid","_invalid$","allowed","sendPageLoadMetrics","_config","_this$serviceFactory$3","_configService$valida2","missing","unknown","separator","_message","getApmBase","apmBase","analyticsData","_a","apm","initApm","s","u","d","h","_","g","B","y","J","X","N","w","S","E","ee","I","W","C","G","F","T","R","O","M","A","L","D","q","H","U","z","V","Y","K","Q","Z","te","ie","re","se","ne","oe","ae","le","ce","ue","de","he","_e","pe","ve","ge","fe","me","be","ye","we","Se","ke","Ee","xe","Ie","Ce","Pe","Fe","Te","Re","$e","Oe","Me","Ae","Le","De","Ne","qe","Be","He","Ue","je","ze","We","Ve","Ge","Je","Ye","Ke","Xe","Qe","Ze","et","rt","tt","it","st","nt","ot","at","lt","ct","ut","dt","ht","_t","pt","vt","gt","ft","mt","bt","yt","wt","St","kt","Et","xt","It","Ct","Pt","Ft","Tt","Rt","$t","Ot","Mt","At","Lt","Dt","Nt","qt","Bt","Ht","Ut","jt","zt","Wt","Vt","Gt","Jt","Yt","Kt","Xt","Qt","Zt","ei","ti","ri","si","ni","oi","ai","li","ci","ui","di","hi","pi","vi","gi","fi","mi","bi","yi","wi","Si","ki","Ei","xi","Ii","Ci","Pi","Fi","Ti","Ri","$i","Oi","Mi","Ai","Li","Di","Ni","qi","Zi","Bi","Wi","Vi","Hi","Ui","ji","zi","Gi","Ji","Yi","Ki","Xi","Qi","er","ir","rr","sr","nr","or","ar","lr","cr","ur","dr","hr","_r","pr","vr","gr","fr","mr","br","yr","wr","Sr","kr","Er","xr","Ir","Cr","Pr","Fr","Tr","Rr","$r","Or","Mr","Ar","Lr","Dr","Nr","qr","Br","f","Hr","Ur","jr","zr","Wr","Vr","Gr","Jr","Yr","Kr","Xr","Qr","Zr","es","ts","is","rs","ss","ns","os","as","ls","cs","us","ds","hs","_s","ps","vs","gs","fs","ms","bs","ys","ws","Ss","ks","Es","xs","Is","Cs","Ps","Fs","Ts","Rs","$s","Os","Ms","As","Ls","Ds","Ns","qs","Bs","Hs","Us","js","zs","Ws","Vs","Gs","Js","Ys","Ks","Xs","Qs","Zs","en","tn","rn","sn","nn","on","vn","gn","an","ln","mn","cn","un","bn","dn","hn","pn","_n","yn","wn","Sn","kn","En","xn","In","Cn","Pn","Fn","Tn","Rn","$n","On","Mn","An","Ln","Dn","Nn","qn","Bn","Hn","Un","jn","zn","Wn","Vn","Gn","Jn","Yn","Kn","Xn","Qn","Zn","eo","to","io","ro","so","no","oo","ao","lo","co","uo","ho","_o","po","vo","go","fo","mo","bo","yo","wo","So","ko","Eo","xo","Io","PosthogTracker","posthog","instance","ConsoleApiName","globalConsole","originalConsoleMethods","PREFIX","display","DOCS_ORIGIN","DOCS_TROUBLESHOOTING","MORE_DETAILS","catchUserErrors","errorMsg","performDraw","round","num","decimals","isPercentage","isNumber","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","relativeToClocks","getCorrectedTimeStamp","timeStampToClocks","timeStamp","getRelativeTime","relativeTime","correctedOrigin","dateNow","getNavigationStart","addDuration","getTimeStamp","currentDrift","toServerDuration","timeStampNow","relativeNow","clocksNow","clocksOrigin","elapsed","timestamp","looksLikeRelativeTime","ONE_KIBI_BYTE","ONE_MEBI_BYTE","HAS_MULTI_BYTES_CHARACTERS","computeBytesCount","candidate","concatBuffers","buffers","total","offset","shallowClone","objectHasValue","isEmptyObject","mapValues","newObject","getGlobalObject","globalObject","getZoneJsOriginalValue","browserWindow","onMonitorErrorCollected","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","monitored","__","descriptor","originalMethod","monitor","callMonitored","monitorError","displayIfDebugEnabled","setTimeout","delay","clearTimeout","setInterval","clearInterval","Observable","onFirstSubscribe","other","observer","mergeObservables","observables","globalObservable","subscriptions","observable","subscription","wait","needLeadingExecution","needTrailingExecution","inWaitPeriod","pendingExecutionWithParameters","pendingTimeoutId","parameters","generateUUID","COMMA_SEPARATED_KEY_VALUE","findCommaSeparatedValue","rawString","findCommaSeparatedValues","safeTruncate","suffix","lastChar","correctedLength","isChromium","detectBrowserCached","isSafari","browserCache","detectBrowser","userAgent","expireDelay","sameSite","secure","partitioned","initCookieParsed","getInitCookie","deleteCookie","areCookiesAuthorized","testCookieName","testCookieValue","isCookieCorrectlySet","getCurrentSiteCache","getCurrentSite","domainLevels","candidateDomain","SESSION_STORE_KEY","findLast","predicate","objectValues","objectEntries","getType","sanitizeUser","newUser","checkUser","isValid","generateAnonymousId","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","SESSION_COOKIE_EXPIRATION_DELAY","SessionPersistence","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","isValidSessionString","sessionString","EXPIRED","getExpiredSessionState","previousSessionState","configuration","expiredSessionState","isSessionInNotStartedState","isSessionStarted","isSessionInExpiredState","isActiveSession","sessionState","expandSessionState","toSessionString","toSessionState","OLD_SESSION_COOKIE_NAME","OLD_RUM_COOKIE_NAME","OLD_LOGS_COOKIE_NAME","RUM_SESSION_KEY","LOGS_SESSION_KEY","tryOldCookiesMigration","cookieStoreStrategy","oldSessionId","oldRumType","oldLogsType","selectCookieStrategy","initConfiguration","cookieOptions","buildCookieOptions","initCookieStrategy","cookieStore","persistSessionCookie","retrieveSessionCookie","expireSessionCookie","LOCAL_STORAGE_TEST_KEY","selectLocalStorageStrategy","testKey","retrievedId","initLocalStorageStrategy","persistInLocalStorage","retrieveSessionFromLocalStorage","expireSessionFromLocalStorage","LOCK_RETRY_DELAY","LOCK_MAX_TRIES","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","isLockEnabled","persistSession","expireSession","persistWithLock","currentLock","retrieveStore","lock","next","currentStore","retryLater","processedSession","sessionStore","currentNumberOfRetries","nextOperations","STORAGE_POLL_DELAY","selectSessionStoreStrategyType","sessionStoreStrategyType","startSessionStore","productKey","computeSessionState","renewObservable","expireObservable","sessionStateUpdateObservable","watchSessionTimeoutId","watchSession","sessionCache","startSession","throttledExpandOrRenewSession","cancelExpandOrRenewSession","synchronizedSession","synchronizeSession","expandOrRenewSessionState","hasSessionInCache","renewSessionInCache","expandSession","isSessionInCacheOutdated","expireSessionInCache","trackingType","isTracked","updateSessionState","partialSessionState","TrackingConsent","createTrackingConsentState","currentConsent","trackingConsent","jsonStringify","replacer","space","restoreObjectPrototypeToJson","detachToJsonMethod","restoreArrayPrototypeToJson","restoreValuePrototypeToJson","restoreValueToJson","objectToJson","normalizeUrl","buildUrl","isValidUrl","getPathName","pathname","base","supportedURL","getSupportedUrl","doc","anchorElement","baseElement","originalURL","isURLSupported","INTAKE_SITE_STAGING","INTAKE_SITE_FED_STAGING","INTAKE_SITE_US1","INTAKE_SITE_EU1","INTAKE_SITE_US1_FED","PCI_INTAKE_HOST_US1","INTAKE_URL_PARAMETERS","createEndpointBuilder","trackType","configurationTags","buildUrlWithParameters","createEndpointUrlWithParametersBuilder","api","buildEndpointParameters","proxy","normalizedProxyUrl","host","buildEndpointHost","site","internalAnalyticsSubdomain","domainParts","extension","clientToken","retry","encoding","TAG_SIZE_LIMIT","buildTags","env","datacenter","buildTag","rawValue","valueSizeLimit","hasForbiddenCharacters","sanitizedValue","supportUnicodePropertyEscapes","computeTransportConfiguration","endpointBuilders","computeEndpointBuilders","computeReplicaConfiguration","replicaConfiguration","replicaEndpointBuilders","isIntakeUrl","DefaultPrivacyLevel","TraceContextInjection","isString","tag","isDatadogSite","isSampleRate","validateAndBuildConfiguration","_b","_c","_d","_f","serializeConfiguration","ExperimentalFeature","enabledExperimentalFeatures","initFeatureFlags","enableExperimentalFeatures","addExperimentalFeatures","enabledFeatures","isExperimentalFeatureEnabled","featureName","getExperimentalFeatures","UNKNOWN_FUNCTION","computeStackTrace","stackProperty","tryToGetString","exString","stackFrame","parseChromeLine","parseChromeAnonymousLine","parseWinLine","parseGeckoLine","filePosition","CHROME_LINE_RE","CHROME_EVAL_RE","isNative","isEval","submatch","CHROME_ANONYMOUS_FUNCTION_RE","WINJS_LINE_RE","GECKO_LINE_RE","GECKO_EVAL_RE","property","computeStackTraceFromOnErrorMessage","messageObj","column","tryToParseMessage","ERROR_TYPES_RE","createHandlingStack","formattedStack","toStackTraceString","formatErrorMessage","func","instrumentMethod","targetPrototype","onPreCall","computeHandlingStack","stopped","instrumentation","postCallCallback","instrumentSetter","after","originalDescriptor","stoppedInstrumentation","instrumentationWrapper","SANITIZE_DEFAULT_MAX_CHARACTER_COUNT","JSON_PATH_ROOT_ELEMENT","KEY_DECORATION_LENGTH","sanitize","maxCharacterCount","containerQueue","visitedObjectsWithPath","sanitizedData","sanitizeProcessor","serializedSanitizedData","accumulatedCharacterCount","warnOverCharacterLimit","containerToProcess","separatorLength","targetData","parentPath","sourceToSanitize","tryToApplyToJSON","sanitizePrimitivesAndFunctions","sanitizedSource","sanitizeObjects","sourceAsObject","currentPath","sanitizeEvent","changeType","NO_ERROR_STACK_PRESENT_MESSAGE","computeRawError","originalError","handlingStack","componentStack","startClocks","nonErrorPrefix","handling","isErrorInstance","isError","computeMessage","hasUsableStack","causes","flattenErrorCauses","fingerprint","tryToGetFingerprint","getFileFromStackTraceString","parentSource","currentError","ErrorSource","trackRuntimeError","errorObservable","handleRuntimeError","rawError","stopInstrumentingOnError","instrumentOnError","stopInstrumentingOnUnhandledRejection","instrumentUnhandledRejection","errorObj","makePublicApi","stub","publicApi","defineGlobal","global","existingGlobalVariable","displayAlreadyInitializedError","sdkName","addEventListener","eventTarget","listener","addEventListeners","eventNames","once","capture","passive","listenerWithMonitor","stop","listenerTarget","add","remove","RawReportType","initReportObservable","apis","createCspViolationReportObservable","reportTypes","createReportObservable","handleReports","reports","report","buildRawReportErrorFromReport","buildRawReportErrorFromCspViolation","buildRawReportError","buildStack","partial","sourceFile","sendToExtension","mergeInto","circularReferenceChecker","createCircularReferenceChecker","merged","deepClone","combine","sources","set","has","getConnectivity","navigator","removeDuplicates","removeItem","BUFFER_LIMIT","createBoundedBuffer","arg","TelemetryType","ALLOWED_FRAME_URLS","TELEMETRY_EXCLUDED_SITES","preStartTelemetryBuffer","onRawTelemetryEventCollected","startTelemetry","telemetryService","contextProvider","alreadySentEvents","telemetryEnabled","telemetryEnabledPerType","runtimeEnvInfo","getRuntimeEnvInfo","rawEvent","stringifiedEvent","toTelemetryEvent","addTelemetryError","provider","drainPreStartTelemetry","isTelemetryReplicationAllowed","addTelemetryDebug","formatError","addTelemetryConfiguration","addTelemetryUsage","usage","scrubCustomerFrames","allowedFrameUrl","END_OF_TIMES","CLEAR_OLD_VALUES_INTERVAL","createValueHistory","maxEntries","clearOldValuesInterval","clearOldValues","oldTimeThreshold","find","closeActive","latestEntry","findAll","reset","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","startSessionManager","trackingConsentState","sessionContextHistory","buildSessionContext","trackActivity","trackVisibility","trackResume","expandOrRenewSession","expandSessionWhenVisible","isServerError","tryToClone","MAX_ONGOING_BYTES_COUNT","MAX_ONGOING_REQUESTS","MAX_QUEUE_BYTES_COUNT","MAX_BACKOFF_TIME","INITIAL_BACKOFF_TIME","sendWithRetryStrategy","sendStrategy","reportError","send","retryQueuedPayloads","scheduleRetry","onSuccess","onFailure","shouldRetryRequest","previousQueue","newPayloadQueue","newRetryState","newBandwidthMonitor","createHttpRequest","endpointBuilder","bytesLimit","retryState","sendStrategyForRetry","onResponse","fetchKeepAliveStrategy","sendBeaconStrategy","beaconUrl","reportBeaconError","xhrUrl","hasReportedBeaconError","fetchUrl","getEventBridge","eventBridgeGlobal","getEventBridgeGlobal","eventType","viewId","view","bridgeSupports","capability","bridge","canUseEventBridge","currentHost","allowedHost","PageExitReason","createPageExitObservable","stopListeners","stopBeforeUnloadListener","isPageExitReason","createBatch","encoder","flushController","messageBytesLimit","upsertBuffer","flushSubscription","flush","push","serializedMessage","estimatedMessageBytesCount","realMessageBytesCount","hasMessageFor","removedMessage","messageBytesCount","addOrUpdate","upsertMessages","isPageExit","encoderResult","formatPayloadFromEncoder","pendingMessages","createFlushController","messagesLimit","durationLimit","pageExitObservable","sessionExpireObservable","pageExitSubscription","sessionExpireSubscription","flushObservable","currentBytesCount","currentMessagesCount","flushReason","messagesCount","bytesCount","cancelDurationLimitTimeout","durationLimitTimeoutId","scheduleDurationLimitTimeout","messageBytesCountDiff","startBatchWithReplica","primary","replica","batchFactoryImp","primaryBatch","createBatchFromConfig","replicaBatch","replicated","createIdentityEncoder","outputBytesCount","additionalEncodedBytesCount","AbstractLifeCycle","eventCallbacks","createEventRateLimiter","onLimitReached","eventCount","allowNextEvent","runOnReadyState","expectedReadyState","asyncRunOnReadyState","xhrObservable","xhrContexts","initXhrObservable","createXhrObservable","stopInstrumentingStart","openXhr","stopInstrumentingSend","call","sendXhr","stopInstrumentingAbort","abortXhr","startContext","hasBeenReported","stopInstrumentingOnReadyStateChange","onEnd","unsubscribeLoadEndListener","completeContext","fetchObservable","initFetchObservable","createFetchObservable","onPostCall","methodFromParams","responsePromise","afterSend","reportFetch","partialContext","requestIdleCallback","requestIdleCallbackShim","MAX_TASK_TIME","IDLE_CALLBACK_TIMEOUT","MAX_EXECUTION_TIME_ON_TIMEOUT","createTaskQueue","pendingTasks","run","deadline","executionTimeRemaining","scheduleNextRun","consoleObservablesByApi","initConsoleObservable","consoleObservables","createConsoleObservable","originalConsoleApi","buildConsoleLog","formatConsoleParameters","firstErrorParam","createContextManager","customerDataTracker","changeObservable","contextManager","newContext","CONTEXT_STORE_KEY_PREFIX","storageListeners","storeContextManager","customerDataType","storageKey","buildStorageKey","synchronizeWithStorage","dumpToStorage","getFromStorage","rawContext","CUSTOMER_DATA_BYTES_LIMIT","CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT","BYTES_COMPUTATION_THROTTLING_DELAY","createCustomerDataTrackerManager","compressionStatus","customerDataTrackers","alreadyWarned","checkCustomerDataLimit","initialBytesCount","bytesCountLimit","displayCustomerDataLimitReachedWarning","createCustomerDataTracker","newCompressionStatus","bytesCountCache","computeBytesCountThrottled","cancelComputeBytesCount","resetBytesCount","readBytesFromStream","chunks","readBytesCount","readMore","onDone","bytes","limitExceeded","completeBuffer","chunk","SYNTHETICS_TEST_ID_COOKIE_NAME","SYNTHETICS_RESULT_ID_COOKIE_NAME","SYNTHETICS_INJECTS_RUM_COOKIE_NAME","willSyntheticsInjectRum","getSyntheticsTestId","getSyntheticsResultId","isMatchOption","itemType","matchList","useStartsWith","buildCommonContext","globalContextManager","userContextManager","recorderApi","createCustomVitalsState","startVitalCollection","lifeCycle","pageStateHistory","customVitalsState","vital","addDurationVital","processVital","startDurationVital","nameOrRef","stopDurationVital","vitalsByName","vitalsByReference","reference","stopCallback","vitalStart","buildDurationVital","stopOptions","stopClocks","valueComputedBySdk","rawRumEvent","callPluginsMethod","plugins","methodName","parameter","plugin","getCrypto","createTraceIdentifier","createIdentifier","createSpanIdentifier","createIdentifierImplementationCache","bits","areBigIntIdentifiersSupported","createIdentifierUsingBigInt","createIdentifierUsingUint32Array","radix","high","low","mod","toPaddedHexadecimalString","traceId","isTraceSampled","identifier","knuthFactor","twoPow64","hash","isTracingOption","expectedItem","clearTracingIfNeeded","startTracer","sessionManager","injectHeadersIfTracingAllowed","tracingHeaders","inject","isTracingSupported","tracingOption","makeTracingHeaders","spanId","traceSampled","propagatorTypes","propagatorType","DEFAULT_PROPAGATOR_TYPES","validateAndBuildRumConfiguration","allowedTracingUrls","validateAndBuildTracingOptions","baseConfiguration","sessionReplaySampleRate","tracingOptions","option","getSelectedTracingPropagators","usedTracingPropagators","serializeRumConfiguration","baseSerializedConfiguration","REMOTE_CONFIGURATION_URL","fetchAndApplyRemoteConfiguration","fetchRemoteConfiguration","remoteInitConfiguration","applyRemoteConfiguration","displayRemoteConfigurationFetchingError","createPreStartStrategy","ignoreInitIfSyntheticsWillInjectRum","startDeflateWorker","getCommonContext","doStartRum","bufferApiCalls","firstStartViewCall","deflateWorker","cachedInitConfiguration","cachedConfiguration","trackingConsentStateSubscription","tryStartRum","emptyContext","initialViewOptions","startRumResult","doInit","eventBridgeAvailable","overrideInitConfigurationForBridge","action","commonContext","providedError","RUM_STORAGE_KEY","makeRumPublicApi","startRumImpl","customerDataTrackerManager","strategy","streamId","createPostStartStrategy","startView","sanitizedOptions","rumPublicApi","sanitizedProperty","preStartStrategy","createDOMMutationObservable","MutationObserver","getMutationObserverConstructor","patchedInstance","originalInstance","createWindowOpenObservable","getSyntheticsContext","testId","resultId","limitModification","modifiableFieldPaths","modifier","clone","fieldPath","fieldType","get","newType","field","isValidObjectContaining","isValidObject","VIEW_MODIFIABLE_FIELD_PATHS","USER_CUSTOMIZABLE_FIELD_PATHS","ROOT_MODIFIABLE_FIELD_PATHS","modifiableFieldPathsByEvent","startRumAssembly","viewHistory","urlContexts","actionContexts","displayContext","ciVisibilityContext","featureFlagContexts","eventRateLimiters","syntheticsContext","domainContext","savedCommonContext","customerContext","viewHistoryEntry","urlContext","actionId","rumContext","findFeatureFlagsContext","needToAssembleWithAction","serverRumEvent","shouldSend","eventStartTime","trackFeatureFlagsForEvents","isTrackingEnforced","isListedInConfig","featureFlagContext","startInternalContext","applicationId","viewContext","LifeCycle","VIEW_CONTEXT_TIME_OUT_DELAY","startViewHistory","viewValueHistory","buildViewHistoryEntry","endClocks","viewUpdate","currentView","FAKE_INITIAL_DOCUMENT","RESOURCE_TYPES","computeResourceEntryType","isType","areInOrder","numbers","isResourceEntryRequestType","computeResourceEntryDuration","computeResourceEntryDetails","hasValidResourceEntryTimings","workerStart","redirectEnd","domainLookupStart","domainLookupEnd","connectStart","secureConnectionStart","connectEnd","requestStart","formatTiming","hasValidResourceEntryDuration","areCommonTimingsInOrder","areRedirectionTimingsInOrder","hasRedirection","computeResourceEntryProtocol","computeResourceEntryDeliveryType","computeResourceEntrySize","isAllowedRequestUrl","DATA_URL_REGEX","MAX_ATTRIBUTE_VALUE_CHAR_LENGTH","isLongDataUrl","sanitizeDataUrl","nextRequestIndex","startRequestCollection","tracer","trackXhr","trackFetch","getNextRequestIndex","waitForResponseToComplete","discardNegativeDuration","trackEventCounts","isChildEvent","eventCounts","retrieveFirstInputTiming","startTimeStamp","timingSent","removeEventListeners","evt","sendTimingIfPointerIsNotCancelled","sendTiming","RumPerformanceEntryType","createPerformanceObservable","handlePerformanceEntries","rumPerformanceEntries","filterRumPerformanceEntries","isObserverInitializing","manageResourceTimingBufferFull","stopFirstInputTiming","supportPerformanceTimingEvent","resourceTimingBufferFullListener","supportPerformanceObject","entryType","isForbiddenResource","PAGE_ACTIVITY_VALIDATION_DELAY","PAGE_ACTIVITY_END_DELAY","waitPageActivityEnd","domMutationObservable","windowOpenObservable","pageActivityEndCallback","maxDuration","pageActivityObservable","createPageActivityObservable","doWaitPageActivityEnd","pageActivityEndTimeoutId","hasCompleted","validationTimeoutId","complete","maxDurationTimeoutId","pageActivitySubscription","isBusy","lastChangeTime","firstRequestIndex","pendingRequestsCount","notifyPageActivity","isExcludedUrl","startEvent","isTextNode","isCommentNode","isElementNode","isNodeShadowHost","isNodeShadowRoot","shadowRoot","hasChildNodes","forEachChildNodes","child","getParentNode","NodePrivacyLevel","PRIVACY_ATTR_NAME","PRIVACY_ATTR_VALUE_HIDDEN","PRIVACY_CLASS_PREFIX","CENSORED_STRING_MARK","CENSORED_IMG_MARK","FORM_PRIVATE_TAG_NAMES","TEXT_MASKING_CHAR","getNodePrivacyLevel","defaultPrivacyLevel","cache","parentNode","parentNodePrivacyLevel","selfNodePrivacyLevel","getNodeSelfPrivacyLevel","nodePrivacyLevel","reducePrivacyLevel","childPrivacyLevel","inputElement","autocomplete","getPrivacySelector","shouldIgnoreElement","shouldMaskNode","privacyLevel","isFormElement","censorText","text","getTextContent","textNode","ignoreWhiteSpace","parentTagName","textContent","relAttribute","getLowerCaseAttribute","nameAttribute","propertyAttribute","DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE","ACTION_NAME_PLACEHOLDER","getActionNameFromElement","enablePrivacyForActionName","userProgrammaticAttribute","defaultActionName","getActionNameFromElementProgrammatically","getActionNameFromElementForStrategies","priorityStrategies","fallbackStrategies","targetElement","programmaticAttribute","elementWithAttribute","normalizeWhitespace","getActionNameFromTextualContent","privacyEnabledActionName","getActionNameFromStandardAttribute","labelledByAttribute","getElementById","label","getTextualContent","MAX_PARENTS_TO_CONSIDER","strategies","recursionCounter","actionName","nameSource","trimmedName","refElement","attribute","removeTextFromElements","textToReplace","STABLE_ATTRIBUTES","GLOBALLY_UNIQUE_SELECTOR_GETTERS","getStableAttributeSelector","getIDSelector","UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS","getClassSelector","getTagNameSelector","getSelectorFromElement","actionNameAttribute","isConnected","targetElementSelector","currentElement","globallyUniqueSelector","findSelector","isSelectorUniqueGlobally","isSelectorUniqueAmongSiblings","combineSelector","getPositionSelector","isGeneratedValue","classList","className","getAttributeSelector","attributeName","sibling","elementIndex","selectorGetters","childSelector","selectorGetter","elementSelector","currentElementSelector","isSiblingMatching","scopedSelector","supportScopeSelector","parent","supportScopeSelectorCache","MAX_DURATION_BETWEEN_CLICKS","MAX_DISTANCE_BETWEEN_CLICKS","createClickChain","firstClick","onFinalize","bufferedClicks","maxDurationBetweenClicksTimeoutId","appendClick","click","tryFinalize","dontAcceptMoreClick","areEventsSimilar","first","second","mouseEventDistance","listenActionEvents","onPointerDown","onPointerUp","selectionEmptyAtPointerDown","userActivity","clickContext","listeners","isValidPointerEvent","isSelectionEmpty","localUserActivity","selection","MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE","computeFrustration","clicks","rageClick","isRage","isDead","hasSelectionChanged","DEAD_CLICK_EXCLUDE_SELECTOR","CLICK_ACTION_MAX_DURATION","interactionSelectorCache","getInteractionSelector","relativeTimestamp","updateInteractionSelector","ACTION_CONTEXT_TIME_OUT_DELAY","trackClickActions","history","stopObservable","currentClickChain","stopClickChain","stopActionEventsListener","pointerDownEvent","processPointerDown","clickActionBase","hadActivityOnPointerDown","getUserActivity","startClickAction","appendClickToClickChain","finalizeClicks","computeClickActionBase","pageActivityEndEvent","newClick","stopWaitPageActivityEnd","viewEndedSubscription","stopSubscription","rect","historyEntry","eventCountsSubscription","activityEndTime","frustrationTypes","newActivityEndTime","frustrationType","domEvents","resourceCount","errorCount","longTaskCount","clickAction","startActionCollection","processAction","autoActionProperties","isAutoAction","actionEvent","trackConsoleError","consoleLog","trackReportError","startErrorCollection","doStartErrorCollection","processError","alreadyMatchedEntries","matchRequestResourceEntry","sameNameEntries","candidates","isBetween","INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD","getDocumentTraceId","document","getDocumentTraceDataFromMeta","getDocumentTraceDataFromComment","traceIdMeta","traceTimeMeta","createDocumentTraceData","comment","findTraceComment","rawTraceTime","traceTime","getTraceCommentFromNode","getNavigationEntry","navigationEntry","computeTimingsFromDeprecatedPerformanceTiming","numberKey","timingElement","retrieveInitialDocumentResourceTiming","startResourceCollection","taskQueue","retrieveInitialDocumentResourceTimingImpl","handleResource","processRequest","performanceResourceSubscription","processResourceEntry","computeRawEvent","matchingTiming","tracingInfo","computeRequestTracingInfo","correspondingTimingOverrides","computeResourceEntryMetrics","computeRequestDuration","resourceEvent","computeResourceEntryTracingInfo","entryMetrics","discardZeroStatus","renderBlockingStatus","trackViewEventCounts","onChange","FCP_MAXIMUM_DELAY","trackFirstContentfulPaint","firstHidden","trackFirstInput","performanceFirstInputSubscription","firstInputEntry","firstInputDelay","firstInputTargetSelector","trackNavigationTimings","getNavigationEntryImpl","waitAfterLoadEvent","isIncompleteNavigation","processNavigationEntry","stopOnReadyState","LCP_MAXIMUM_DELAY","trackLargestContentfulPaint","firstInteractionTimestamp","stopEventListener","biggestLcpSize","performanceLcpSubscription","lcpEntry","lcpTargetSelector","trackFirstHidden","trackInitialViewMetrics","setLoadEvent","scheduleViewUpdate","initialViewMetrics","stopNavigationTracking","navigationTimings","stopFCPTracking","firstContentfulPaint","stopLCPTracking","largestContentfulPaint","stopFIDTracking","trackCumulativeLayoutShift","viewStart","isLayoutShiftSupported","maxClsValue","biggestShift","window","slidingSessionWindow","performanceSubscription","cumulatedValue","isMaxValue","getFirstElementAttribution","asRumRect","width","height","MAX_WINDOW_DURATION","MAX_UPDATE_GAP","maxValue","shouldCreateNewWindow","interactionCountEstimate","minKnownInteractionId","maxKnownInteractionId","initInteractionCountPolyfill","getInteractionCount","MAX_INTERACTION_ENTRIES","MAX_INP_VALUE","trackInteractionToNextPaint","viewLoadingType","isInteractionToNextPaintSupported","getViewInteractionCount","stopViewInteractionCount","trackViewInteractionCount","viewEnd","longestInteractions","trackLongestInteractions","interactionToNextPaint","interactionToNextPaintTargetSelector","interactionToNextPaintStartTime","handleEntries","newInteraction","firstInputSubscription","eventSubscription","viewEndTime","sortAndTrimLongestInteractions","minLongestInteraction","previousInteractionCount","computeViewInteractionCount","trackLoadingTime","loadType","isWaitingForLoadEvent","isWaitingForActivityLoadingTime","loadingTimeCandidates","invokeCallbackIfAllCandidatesAreReceived","loadingTime","loadEvent","getScrollX","scrollX","visual","getScrollY","scrollY","viewportObservable","initViewportObservable","createViewportObservable","updateDimension","getViewportDimension","THROTTLE_SCROLL_DURATION","trackScrollMetrics","scrollValues","createScrollValuesObservable","maxScrollDepth","maxScrollHeight","maxScrollHeightTime","scrollDepth","scrollTop","scrollHeight","shouldUpdate","computeScrollValues","throttleDuration","notify","throttledNotify","observerTarget","resizeObserver","eventListener","trackCommonViewMetrics","loadingType","commonViewMetrics","stopLoadingTimeTracking","newLoadingTime","stopScrollMetricsTracking","newScrollMetrics","stopCLSTracking","cumulativeLayoutShift","stopINPTracking","getInteractionToNextPaint","setViewEnd","THROTTLE_VIEW_UPDATE_PERIOD","SESSION_KEEP_ALIVE_INTERVAL","KEEP_TRACKING_AFTER_VIEW_DELAY","trackViews","locationChangeObservable","areViewsTrackedAutomatically","activeViews","startNewView","startViewLifeCycle","locationChangeSubscription","renewViewOnLocationChange","viewOptions","newlyCreatedView","newView","pageExitEvent","oldLocation","newLocation","areDifferentLocation","initialLocation","customTimings","documentVersion","sessionIsActive","viewCreatedEvent","cancelScheduleViewUpdate","triggerViewUpdate","stopCommonViewMetricsTracking","getCommonViewMetrics","stopInitialViewMetricsTracking","stopEventCountsTracking","keepAliveIntervalId","currentEnd","sanitizeTiming","updatedName","sanitized","currentLocation","otherLocation","isHashAnAnchor","getPathFromHash","correspondingId","startViewCollection","pageOpenObserable","processViewUpdate","_g","_h","_j","_k","_l","_m","_p","_q","replayStats","pageStates","viewEvent","computeViewPerformanceData","startRumSessionManager","rawTrackingType","previousState","newState","sessionEntity","isTypeTracked","startRumSessionManagerStub","hasValidRumSession","rumSessionType","startRumBatch","telemetryEventObservable","createEncoder","batch","startRumEventBridge","URL_CONTEXT_TIME_OUT_DELAY","startUrlContexts","urlContextHistory","previousViewUrl","viewUrl","buildUrlContext","changeTime","referrer","createLocationChangeObservable","stopHistoryTracking","trackHistory","onLocationChange","stopHashTracking","trackHash","onHistoryChange","stopInstrumentingPushState","getHistoryInstrumentationTarget","stopInstrumentingReplaceState","removeListener","onHashChange","FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY","startFeatureFlagContexts","currentContext","MEASURES_PERIOD_DURATION","currentPeriodMeasures","currentBatchMeasures","batchHasRumEvent","startCustomerDataTelemetry","telemetry","batchFlushObservable","initCurrentPeriodMeasures","initCurrentBatchMeasures","updateMeasure","mergeMeasure","sendCurrentPeriodMeasures","createMeasure","measure","MAX_PAGE_STATE_ENTRIES","MAX_PAGE_STATE_ENTRIES_SELECTABLE","PAGE_STATE_CONTEXT_TIME_OUT_DELAY","startPageStateHistory","maxPageStateEntriesSelectable","pageStateEntryHistory","currentPageState","addPageState","getPageState","stopEventListeners","computePageState","nextPageState","pageStateEntries","pageStateServerEntries","pageState","relativeStartTime","startDisplayContext","viewport","animationFrameId","unsubscribeViewport","viewportDimension","createCookieObservable","cookieName","detectCookieChangeStrategy","listenToCookieStoreChange","watchCookieFallback","changeEvent","WATCH_COOKIE_INTERVAL_DELAY","previousCookieValue","watchCookieIntervalId","cookieValue","CI_VISIBILITY_TEST_ID_COOKIE_NAME","startCiVisibilityContext","cookieObservable","testExecutionId","cookieObservableSubscription","startLongAnimationFrameCollection","startLongTaskCollection","performanceLongTaskSubscription","startRum","cleanupTasks","startRumTelemetry","stopWindowOpen","addAction","stopRumEventCollection","startRumEventCollection","addTiming","setViewName","setViewContext","setViewContextProperty","getViewContext","stopViewCollection","stopResourceCollection","stopLongAnimationFrameCollection","addError","vitalCollection","internalContext","actionCollection","getSessionReplayUrl","sessionId","getDatadogSiteUrl","rumConfiguration","subdomain","getSiteDefaultSubdomain","MAX_STATS_HISTORY","statsPerView","getSegmentsCount","getOrCreateReplayStats","addSegment","addRecord","addWroteData","additionalBytesCount","getReplayStats","deleteOldestStats","toDelete","createDeflateEncoder","worker","rawBytesCount","compressedData","compressedDataTrailer","nextWriteActionId","pendingWriteActions","removeMessageListener","workerResponse","nextPendingAction","consumeResult","sendResetIfNeeded","pendingWriteAction","pendingData","INITIALIZATION_TIME_OUT_DELAY","createDeflateWorker","onInitializationFailure","createDeflateWorkerImpl","doStartDeflateWorker","getDeflateWorkerStatus","removeErrorListener","onError","onInitialized","onTimeout","isMessageCspRelated","baseMessage","isBrowserSupported","getSessionReplayLink","isRecordingStarted","getErrorType","loadRecorder","getOrCreateDeflateEncoder","stopRecording","doStart","startRecordingImpl","deflateEncoder","canStartRecording","isRecordingInProgress","shouldForceReplay","makeRecorderApi","shouldStartImmediately","onRumStart","getReplayStatsImpl","cachedDeflateEncoder","lazyLoadRecorder","__vitePreload","datadogRum","isAuthorized","handlerType","loggerHandler","sanitizedHandlerType","STATUS_PRIORITIES","StatusType","createErrorFieldFromRawError","includeMessage","__decorate","decorators","HandlerType","STATUSES","Logger","handleLogStrategy","loggerContext","messageContext","sanitizedMessageContext","handler","createLoggerMethod","DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT","validateAndBuildLogsConfiguration","forwardConsoleLogs","validateAndBuildForwardOption","forwardReports","allowedValues","serializeLogsConfiguration","baseSerializedInitConfiguration","doStartLogs","tryStartLogs","startLogsResult","statusType","LOGS_STORAGE_KEY","makeLogsPublicApi","startLogsImpl","customLoggers","mainLogger","conf","startLogsSessionManager","startLogsSessionManagerStub","computeTrackingType","rawSessionType","hasValidLoggerSession","logsSentBeforeRumInjectionTelemetryAdded","getRUMInternalContext","getInternalContextFromRumGlobal","rumGlobal","startLogsAssembly","statusWithCustom","logRateLimiters","rawLogsEvent","LogStatusForApi","startConsoleCollection","consoleSubscription","collectedData","startReportCollection","reportSubscription","startNetworkErrorCollection","xhrSubscription","handleResponse","fetchSubscription","isRejected","computeXhrResponseData","onResponseDataAvailable","computeFetchResponseText","computeFetchErrorText","responseData","format","truncateResponseText","truncateResponseStream","startRuntimeErrorCollection","rawErrorObservable","stopRuntimeErrorTracking","rawErrorSubscription","startLoggerCollection","handleLog","logsMessage","savedDate","displayInConsole","rawLogEventData","loggerToConsoleApiName","startLogsBatch","serverLogsEvent","startLogsBridge","trackedSession","startReportError","startLogsTelemetry","telemetrySubscription","telemetryBatch","startLogs","stopLogsTelemetry","stopLogsBatch","datadogLogs","DatadogTracker","rum","logs","commonInitData","datadogUser","closestAttribute","findTrackerContext","rawJson","getEventPayload","trackValue","pickBy","extractValue","extractText","AutoTracking","Intercom","intercomInstance","intercomInstanceValid","runIntercomAction","IntercomTracker","Tracker","pick","LocalTracker"],"sources":["../../../../../../app/node_modules/ahoy.js/dist/ahoy.esm.js","../../../app/javascript/analytics/OmniTracker/AhoyTracker.ts","../../../app/javascript/analytics/ahoy.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/error-logging/stack-trace.js","../../../../../../app/node_modules/promise-polyfill/src/finally.js","../../../../../../app/node_modules/promise-polyfill/src/allSettled.js","../../../../../../app/node_modules/promise-polyfill/src/any.js","../../../../../../app/node_modules/promise-polyfill/src/index.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/polyfills.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/utils.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/url.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/constants.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/context.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/truncate.js","../../../../../../app/node_modules/stackframe/stackframe.js","../../../../../../app/node_modules/error-stack-parser/error-stack-parser.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/error-logging/error-logging.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/queue.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/throttle.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/ndjson.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/marks.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/compress.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/state.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/http/response-status.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/http/fetch.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/patching/patch-utils.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/http/xhr.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/apm-server.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/event-handler.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/config-service.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/logging-service.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/service-factory.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/error-logging/index.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/patching/xhr-patch.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/patching/fetch-patch.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/patching/history-patch.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/patching/index.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/performance-monitoring.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/span-base.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/span.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/breakdown.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/transaction.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/metrics/metrics.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/utils.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/navigation-timing.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/user-timing.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/resource-timing.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/navigation/capture-navigation.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/transaction-service.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/metrics/inp/process.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/metrics/inp/report.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/performance-monitoring/index.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/observers/page-visibility.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/observers/page-clicks.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/common/instrument.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/bootstrap.js","../../../../../../app/node_modules/@elastic/apm-rum-core/dist/es/index.js","../../../../../../app/node_modules/@elastic/apm-rum/dist/es/apm-base.js","../../../../../../app/node_modules/@elastic/apm-rum/dist/es/index.js","../../../app/javascript/analytics/elastic_apm_rum.ts","../../../../../../app/node_modules/posthog-js/dist/module.js","../../../app/javascript/analytics/OmniTracker/PosthogTracker.ts","../../../app/javascript/analytics/posthog.ts","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/display.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/monitor.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/timer.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/observable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/cookie.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/user/user.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionStateValidation.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/trackingConsent.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/stackTrace/computeStackTrace.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/stackTrace/handlingStack.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/error/error.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/error/error.types.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","../../../../../../app/node_modules/@datadog/browser-core/esm/boot/init.js","../../../../../../app/node_modules/@datadog/browser-core/esm/boot/displayAlreadyInitializedError.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/addEventListener.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/mergeInto.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/connectivity/connectivity.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/arrayUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/valueHistory.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/httpRequest.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/eventBridge.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/batch.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/flushController.js","../../../../../../app/node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/encoder.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/requestIdleCallback.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/taskQueue.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/context/storeContextManager.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/context/customerDataTracker.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","../../../../../../app/node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","../../../../../../app/node_modules/@datadog/browser-core/esm/tools/matchOption.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/vital/vitalCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/plugins.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/crypto.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/tracing/identifier.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/tracing/sampler.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/configuration/configuration.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/configuration/remoteConfiguration.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/boot/preStartRum.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/windowOpenObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewHistory.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/discardNegativeDuration.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/firstInputPolyfill.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/performanceObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/privacy.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/interactionSelectorCache.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestResourceEntry.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/performanceUtils.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/resource/retrieveInitialDocumentResourceTiming.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/browser/cookieObservable.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciVisibilityContext.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/longAnimationFrame/longAnimationFrameCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","../../../../../../app/node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/domain/replayStats.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/boot/postStartStrategy.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/boot/preStartStrategy.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/boot/lazyLoadRecorder.js","../../../../../../app/node_modules/@datadog/browser-rum/esm/entries/main.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/logger/isAuthorized.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/createErrorFieldFromRawError.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/logger.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/contexts/commonContext.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/configuration.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/boot/preStartLogs.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/boot/logsPublicApi.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/logsSessionManager.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/contexts/rumInternalContext.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/assembly.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/console/consoleCollection.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/report/reportCollection.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/networkError/networkErrorCollection.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/runtimeError/runtimeErrorCollection.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/lifeCycle.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/logger/loggerCollection.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/transport/startLogsBatch.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/transport/startLogsBridge.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/contexts/internalContext.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/reportError.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/domain/logsTelemetry.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/boot/startLogs.js","../../../../../../app/node_modules/@datadog/browser-logs/esm/entries/main.js","../../../app/javascript/analytics/OmniTracker/DatadogTracker.ts","../../../app/javascript/analytics/datadog.ts","../../../app/javascript/analytics/OmniTracker/AutoTracking.ts","../../../app/javascript/analytics/OmniTracker/IntercomTracker.ts","../../../app/javascript/packs/analytics.js"],"sourcesContent":["/*!\n * Ahoy.js\n * Simple, powerful JavaScript analytics\n * https://github.com/ankane/ahoy.js\n * v0.4.0\n * MIT License\n */\n\n// https://www.quirksmode.org/js/cookies.html\n\nvar Cookies = {\n set: function (name, value, ttl, domain) {\n var expires = \"\";\n var cookieDomain = \"\";\n if (ttl) {\n var date = new Date();\n date.setTime(date.getTime() + (ttl * 60 * 1000));\n expires = \"; expires=\" + date.toGMTString();\n }\n if (domain) {\n cookieDomain = \"; domain=\" + domain;\n }\n document.cookie = name + \"=\" + escape(value) + expires + cookieDomain + \"; path=/; samesite=lax\";\n },\n get: function (name) {\n var i, c;\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for (i = 0; i < ca.length; i++) {\n c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return unescape(c.substring(nameEQ.length, c.length));\n }\n }\n return null;\n }\n};\n\nvar config = {\n urlPrefix: \"\",\n visitsUrl: \"/ahoy/visits\",\n eventsUrl: \"/ahoy/events\",\n page: null,\n platform: \"Web\",\n useBeacon: true,\n startOnReady: true,\n trackVisits: true,\n cookies: true,\n cookieDomain: null,\n headers: {},\n visitParams: {},\n withCredentials: false,\n visitDuration: 4 * 60, // default 4 hours\n visitorDuration: 2 * 365 * 24 * 60 // default 2 years\n};\n\nvar ahoy = window.ahoy || window.Ahoy || {};\n\nahoy.configure = function (options) {\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n config[key] = options[key];\n }\n }\n};\n\n// legacy\nahoy.configure(ahoy);\n\nvar $ = window.jQuery || window.Zepto || window.$;\nvar visitId, visitorId, track;\nvar isReady = false;\nvar queue = [];\nvar canStringify = typeof(JSON) !== \"undefined\" && typeof(JSON.stringify) !== \"undefined\";\nvar eventQueue = [];\n\nfunction visitsUrl() {\n return config.urlPrefix + config.visitsUrl;\n}\n\nfunction eventsUrl() {\n return config.urlPrefix + config.eventsUrl;\n}\n\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction canTrackNow() {\n return (config.useBeacon || config.trackNow) && isEmpty(config.headers) && canStringify && typeof(window.navigator.sendBeacon) !== \"undefined\" && !config.withCredentials;\n}\n\nfunction serialize(object) {\n var data = new FormData();\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n data.append(key, object[key]);\n }\n }\n return data;\n}\n\n// cookies\n\nfunction setCookie(name, value, ttl) {\n Cookies.set(name, value, ttl, config.cookieDomain || config.domain);\n}\n\nfunction getCookie(name) {\n return Cookies.get(name);\n}\n\nfunction destroyCookie(name) {\n Cookies.set(name, \"\", -1);\n}\n\nfunction log(message) {\n if (getCookie(\"ahoy_debug\")) {\n window.console.log(message);\n }\n}\n\nfunction setReady() {\n var callback;\n while ((callback = queue.shift())) {\n callback();\n }\n isReady = true;\n}\n\nahoy.ready = function (callback) {\n if (isReady) {\n callback();\n } else {\n queue.push(callback);\n }\n};\n\nfunction matchesSelector(element, selector) {\n var matches = element.matches ||\n element.matchesSelector ||\n element.mozMatchesSelector ||\n element.msMatchesSelector ||\n element.oMatchesSelector ||\n element.webkitMatchesSelector;\n\n if (matches) {\n if (matches.apply(element, [selector])) {\n return element;\n } else if (element.parentElement) {\n return matchesSelector(element.parentElement, selector);\n }\n return null;\n } else {\n log(\"Unable to match\");\n return null;\n }\n}\n\nfunction onEvent(eventName, selector, callback) {\n document.addEventListener(eventName, function (e) {\n var matchedElement = matchesSelector(e.target, selector);\n if (matchedElement) {\n callback.call(matchedElement, e);\n }\n });\n}\n\n// http://beeker.io/jquery-document-ready-equivalent-vanilla-javascript\nfunction documentReady(callback) {\n if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n setTimeout(callback, 0);\n } else {\n document.addEventListener(\"DOMContentLoaded\", callback);\n }\n}\n\n// https://stackoverflow.com/a/2117523/1177228\nfunction generateId() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);\n return v.toString(16);\n });\n}\n\nfunction saveEventQueue() {\n if (config.cookies && canStringify) {\n setCookie(\"ahoy_events\", JSON.stringify(eventQueue), 1);\n }\n}\n\n// from rails-ujs\n\nfunction csrfToken() {\n var meta = document.querySelector(\"meta[name=csrf-token]\");\n return meta && meta.content;\n}\n\nfunction csrfParam() {\n var meta = document.querySelector(\"meta[name=csrf-param]\");\n return meta && meta.content;\n}\n\nfunction CSRFProtection(xhr) {\n var token = csrfToken();\n if (token) { xhr.setRequestHeader(\"X-CSRF-Token\", token); }\n}\n\nfunction sendRequest(url, data, success) {\n if (canStringify) {\n if ($ && $.ajax) {\n $.ajax({\n type: \"POST\",\n url: url,\n data: JSON.stringify(data),\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n beforeSend: CSRFProtection,\n success: success,\n headers: config.headers,\n xhrFields: {\n withCredentials: config.withCredentials\n }\n });\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", url, true);\n xhr.withCredentials = config.withCredentials;\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n for (var header in config.headers) {\n if (config.headers.hasOwnProperty(header)) {\n xhr.setRequestHeader(header, config.headers[header]);\n }\n }\n xhr.onload = function() {\n if (xhr.status === 200) {\n success();\n }\n };\n CSRFProtection(xhr);\n xhr.send(JSON.stringify(data));\n }\n }\n}\n\nfunction eventData(event) {\n var data = {\n events: [event]\n };\n if (config.cookies) {\n data.visit_token = event.visit_token;\n data.visitor_token = event.visitor_token;\n }\n delete event.visit_token;\n delete event.visitor_token;\n return data;\n}\n\nfunction trackEvent(event) {\n ahoy.ready( function () {\n sendRequest(eventsUrl(), eventData(event), function() {\n // remove from queue\n for (var i = 0; i < eventQueue.length; i++) {\n if (eventQueue[i].id == event.id) {\n eventQueue.splice(i, 1);\n break;\n }\n }\n saveEventQueue();\n });\n });\n}\n\nfunction trackEventNow(event) {\n ahoy.ready( function () {\n var data = eventData(event);\n var param = csrfParam();\n var token = csrfToken();\n if (param && token) { data[param] = token; }\n // stringify so we keep the type\n data.events_json = JSON.stringify(data.events);\n delete data.events;\n window.navigator.sendBeacon(eventsUrl(), serialize(data));\n });\n}\n\nfunction page() {\n return config.page || window.location.pathname;\n}\n\nfunction presence(str) {\n return (str && str.length > 0) ? str : null;\n}\n\nfunction cleanObject(obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (obj[key] === null) {\n delete obj[key];\n }\n }\n }\n return obj;\n}\n\nfunction eventProperties() {\n return cleanObject({\n tag: this.tagName.toLowerCase(),\n id: presence(this.id),\n \"class\": presence(this.className),\n page: page(),\n section: getClosestSection(this)\n });\n}\n\nfunction getClosestSection(element) {\n for ( ; element && element !== document; element = element.parentNode) {\n if (element.hasAttribute('data-section')) {\n return element.getAttribute('data-section');\n }\n }\n\n return null;\n}\n\nfunction createVisit() {\n isReady = false;\n\n visitId = ahoy.getVisitId();\n visitorId = ahoy.getVisitorId();\n track = getCookie(\"ahoy_track\");\n\n if (config.cookies === false || config.trackVisits === false) {\n log(\"Visit tracking disabled\");\n setReady();\n } else if (visitId && visitorId && !track) {\n // TODO keep visit alive?\n log(\"Active visit\");\n setReady();\n } else {\n if (!visitId) {\n visitId = generateId();\n setCookie(\"ahoy_visit\", visitId, config.visitDuration);\n }\n\n // make sure cookies are enabled\n if (getCookie(\"ahoy_visit\")) {\n log(\"Visit started\");\n\n if (!visitorId) {\n visitorId = generateId();\n setCookie(\"ahoy_visitor\", visitorId, config.visitorDuration);\n }\n\n var data = {\n visit_token: visitId,\n visitor_token: visitorId,\n platform: config.platform,\n landing_page: window.location.href,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n js: true\n };\n\n // referrer\n if (document.referrer.length > 0) {\n data.referrer = document.referrer;\n }\n\n for (var key in config.visitParams) {\n if (config.visitParams.hasOwnProperty(key)) {\n data[key] = config.visitParams[key];\n }\n }\n\n log(data);\n\n sendRequest(visitsUrl(), data, function () {\n // wait until successful to destroy\n destroyCookie(\"ahoy_track\");\n setReady();\n });\n } else {\n log(\"Cookies disabled\");\n setReady();\n }\n }\n}\n\nahoy.getVisitId = ahoy.getVisitToken = function () {\n return getCookie(\"ahoy_visit\");\n};\n\nahoy.getVisitorId = ahoy.getVisitorToken = function () {\n return getCookie(\"ahoy_visitor\");\n};\n\nahoy.reset = function () {\n destroyCookie(\"ahoy_visit\");\n destroyCookie(\"ahoy_visitor\");\n destroyCookie(\"ahoy_events\");\n destroyCookie(\"ahoy_track\");\n return true;\n};\n\nahoy.debug = function (enabled) {\n if (enabled === false) {\n destroyCookie(\"ahoy_debug\");\n } else {\n setCookie(\"ahoy_debug\", \"t\", 365 * 24 * 60); // 1 year\n }\n return true;\n};\n\nahoy.track = function (name, properties) {\n // generate unique id\n var event = {\n name: name,\n properties: properties || {},\n time: (new Date()).getTime() / 1000.0,\n id: generateId(),\n js: true\n };\n\n ahoy.ready( function () {\n if (config.cookies && !ahoy.getVisitId()) {\n createVisit();\n }\n\n ahoy.ready( function () {\n log(event);\n\n event.visit_token = ahoy.getVisitId();\n event.visitor_token = ahoy.getVisitorId();\n\n if (canTrackNow()) {\n trackEventNow(event);\n } else {\n eventQueue.push(event);\n saveEventQueue();\n\n // wait in case navigating to reduce duplicate events\n setTimeout( function () {\n trackEvent(event);\n }, 1000);\n }\n });\n });\n\n return true;\n};\n\nahoy.trackView = function (additionalProperties) {\n var properties = {\n url: window.location.href,\n title: document.title,\n page: page()\n };\n\n if (additionalProperties) {\n for(var propName in additionalProperties) {\n if (additionalProperties.hasOwnProperty(propName)) {\n properties[propName] = additionalProperties[propName];\n }\n }\n }\n ahoy.track(\"$view\", properties);\n};\n\nahoy.trackClicks = function (selector) {\n if (selector === undefined) {\n throw new Error(\"Missing selector\");\n }\n onEvent(\"click\", selector, function (e) {\n var properties = eventProperties.call(this, e);\n properties.text = properties.tag == \"input\" ? this.value : (this.textContent || this.innerText || this.innerHTML).replace(/[\\s\\r\\n]+/g, \" \").trim();\n properties.href = this.href;\n ahoy.track(\"$click\", properties);\n });\n};\n\nahoy.trackSubmits = function (selector) {\n if (selector === undefined) {\n throw new Error(\"Missing selector\");\n }\n onEvent(\"submit\", selector, function (e) {\n var properties = eventProperties.call(this, e);\n ahoy.track(\"$submit\", properties);\n });\n};\n\nahoy.trackChanges = function (selector) {\n log(\"trackChanges is deprecated and will be removed in 0.5.0\");\n if (selector === undefined) {\n throw new Error(\"Missing selector\");\n }\n onEvent(\"change\", selector, function (e) {\n var properties = eventProperties.call(this, e);\n ahoy.track(\"$change\", properties);\n });\n};\n\n// push events from queue\ntry {\n eventQueue = JSON.parse(getCookie(\"ahoy_events\") || \"[]\");\n} catch (e) {\n // do nothing\n}\n\nfor (var i = 0; i < eventQueue.length; i++) {\n trackEvent(eventQueue[i]);\n}\n\nahoy.start = function () {\n createVisit();\n\n ahoy.start = function () {};\n};\n\ndocumentReady(function() {\n if (config.startOnReady) {\n ahoy.start();\n }\n});\n\nexport default ahoy;\n","import { PlainObject } from 'shared/util/types.util'\nimport Tracker from 'analytics/OmniTracker/Tracker'\nimport Ahoy from 'analytics/ahoy.type'\n\nexport default class AhoyTracker implements Tracker {\n private ahoy: Ahoy\n\n constructor(ahoy: Ahoy) {\n this.ahoy = ahoy\n }\n\n trackEvent(name: string, payload: PlainObject): void {\n const eventProperties = {\n page: window.location.pathname,\n url: window.location.href,\n ...payload,\n }\n\n this.ahoy.track(name, eventProperties)\n }\n\n trackView(payload: PlainObject) {\n this.trackEvent('$view', { ...payload, title: window.document.title })\n }\n\n trackError() {\n // Ahoy doesn't support tracking errors\n }\n\n resetSession(): void {\n this.ahoy.reset()\n }\n}\n","import ahoy from 'ahoy.js'\nimport tracker from 'analytics/tracker'\nimport AhoyTracker from 'analytics/OmniTracker/AhoyTracker'\n\nahoy.initialized = true\nahoy.trackView()\n\ntracker.addTracker(new AhoyTracker(ahoy))\n","function filePathToFileName(fileUrl) {\n var origin = window.location.origin || window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\n\n if (fileUrl.indexOf(origin) > -1) {\n fileUrl = fileUrl.replace(origin + '/', '');\n }\n\n return fileUrl;\n}\n\nfunction cleanFilePath(filePath) {\n if (filePath === void 0) {\n filePath = '';\n }\n\n if (filePath === '') {\n filePath = '';\n }\n\n return filePath;\n}\n\nfunction isFileInline(fileUrl) {\n if (fileUrl) {\n return window.location.href.indexOf(fileUrl) === 0;\n }\n\n return false;\n}\n\nfunction normalizeStackFrames(stackFrames) {\n return stackFrames.map(function (frame) {\n if (frame.functionName) {\n frame.functionName = normalizeFunctionName(frame.functionName);\n }\n\n return frame;\n });\n}\n\nfunction normalizeFunctionName(fnName) {\n var parts = fnName.split('/');\n\n if (parts.length > 1) {\n fnName = ['Object', parts[parts.length - 1]].join('.');\n } else {\n fnName = parts[0];\n }\n\n fnName = fnName.replace(/.<$/gi, '.');\n fnName = fnName.replace(/^Anonymous function$/, '');\n parts = fnName.split('.');\n\n if (parts.length > 1) {\n fnName = parts[parts.length - 1];\n } else {\n fnName = parts[0];\n }\n\n return fnName;\n}\n\nfunction isValidStackTrace(stackTraces) {\n if (stackTraces.length === 0) {\n return false;\n }\n\n if (stackTraces.length === 1) {\n var stackTrace = stackTraces[0];\n return 'lineNumber' in stackTrace;\n }\n\n return true;\n}\n\nexport function createStackTraces(stackParser, errorEvent) {\n var error = errorEvent.error,\n filename = errorEvent.filename,\n lineno = errorEvent.lineno,\n colno = errorEvent.colno;\n var stackTraces = [];\n\n if (error) {\n try {\n stackTraces = stackParser.parse(error);\n } catch (e) {}\n }\n\n if (!isValidStackTrace(stackTraces)) {\n stackTraces = [{\n fileName: filename,\n lineNumber: lineno,\n columnNumber: colno\n }];\n }\n\n var normalizedStackTraces = normalizeStackFrames(stackTraces);\n return normalizedStackTraces.map(function (stack) {\n var fileName = stack.fileName,\n lineNumber = stack.lineNumber,\n columnNumber = stack.columnNumber,\n _stack$functionName = stack.functionName,\n functionName = _stack$functionName === void 0 ? '' : _stack$functionName;\n\n if (!fileName && !lineNumber) {\n return {};\n }\n\n if (!columnNumber && !lineNumber) {\n return {};\n }\n\n var filePath = cleanFilePath(fileName);\n var cleanedFileName = filePathToFileName(filePath);\n\n if (isFileInline(filePath)) {\n cleanedFileName = '(inline script)';\n }\n\n return {\n abs_path: fileName,\n filename: cleanedFileName,\n function: functionName,\n lineno: lineNumber,\n colno: columnNumber\n };\n });\n}\nexport function filterInvalidFrames(frames) {\n return frames.filter(function (_ref) {\n var filename = _ref.filename,\n lineno = _ref.lineno;\n return typeof filename !== 'undefined' && typeof lineno !== 'undefined';\n });\n}","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","function allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\nexport default allSettled;\n","/**\n * @constructor\n */\nfunction AggregateError(errors, message) {\n (this.name = 'AggregateError'), (this.errors = errors);\n this.message = message || '';\n}\nAggregateError.prototype = Error.prototype;\n\nfunction any(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(new TypeError('Promise.any accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return reject();\n\n var rejectionReasons = [];\n for (var i = 0; i < args.length; i++) {\n try {\n P.resolve(args[i])\n .then(resolve)\n .catch(function(error) {\n rejectionReasons.push(error);\n if (rejectionReasons.length === args.length) {\n reject(\n new AggregateError(\n rejectionReasons,\n 'All promises were rejected'\n )\n );\n }\n });\n } catch (ex) {\n reject(ex);\n }\n }\n });\n}\n\nexport default any;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\nimport any from './any';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.any = any;\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import PromisePollyfill from 'promise-polyfill';\nimport { isBrowser } from './utils';\nvar local = {};\n\nif (isBrowser) {\n local = window;\n} else if (typeof self !== 'undefined') {\n local = self;\n}\n\nvar Promise = 'Promise' in local ? local.Promise : PromisePollyfill;\nexport { Promise };","import { Promise } from './polyfills';\nvar slice = [].slice;\nvar isBrowser = typeof window !== 'undefined';\nvar PERF = isBrowser && typeof performance !== 'undefined' ? performance : {};\n\nfunction isCORSSupported() {\n var xhr = new window.XMLHttpRequest();\n return 'withCredentials' in xhr;\n}\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToHex(buffer) {\n var hexOctets = [];\n\n for (var _i = 0; _i < buffer.length; _i++) {\n hexOctets.push(byteToHex[buffer[_i]]);\n }\n\n return hexOctets.join('');\n}\n\nvar destination = new Uint8Array(16);\n\nfunction rng() {\n if (typeof crypto != 'undefined' && typeof crypto.getRandomValues == 'function') {\n return crypto.getRandomValues(destination);\n } else if (typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function') {\n return msCrypto.getRandomValues(destination);\n }\n\n return destination;\n}\n\nfunction generateRandomId(length) {\n var id = bytesToHex(rng());\n return id.substr(0, length);\n}\n\nfunction getDtHeaderValue(span) {\n var dtVersion = '00';\n var dtUnSampledFlags = '00';\n var dtSampledFlags = '01';\n\n if (span && span.traceId && span.id && span.parentId) {\n var flags = span.sampled ? dtSampledFlags : dtUnSampledFlags;\n var id = span.sampled ? span.id : span.parentId;\n return dtVersion + '-' + span.traceId + '-' + id + '-' + flags;\n }\n}\n\nfunction parseDtHeaderValue(value) {\n var parsed = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})$/.exec(value);\n\n if (parsed) {\n var flags = parsed[4];\n var sampled = flags !== '00';\n return {\n traceId: parsed[2],\n id: parsed[3],\n sampled: sampled\n };\n }\n}\n\nfunction isDtHeaderValid(header) {\n return /^[\\da-f]{2}-[\\da-f]{32}-[\\da-f]{16}-[\\da-f]{2}$/.test(header) && header.slice(3, 35) !== '00000000000000000000000000000000' && header.slice(36, 52) !== '0000000000000000';\n}\n\nfunction getTSHeaderValue(_ref) {\n var sampleRate = _ref.sampleRate;\n\n if (typeof sampleRate !== 'number' || String(sampleRate).length > 256) {\n return;\n }\n\n var NAMESPACE = 'es';\n var SEPARATOR = '=';\n return \"\" + NAMESPACE + SEPARATOR + \"s:\" + sampleRate;\n}\n\nfunction setRequestHeader(target, name, value) {\n if (typeof target.setRequestHeader === 'function') {\n target.setRequestHeader(name, value);\n } else if (target.headers && typeof target.headers.append === 'function') {\n target.headers.append(name, value);\n } else {\n target[name] = value;\n }\n}\n\nfunction checkSameOrigin(source, target) {\n var isSame = false;\n\n if (typeof target === 'string') {\n isSame = source === target;\n } else if (target && typeof target.test === 'function') {\n isSame = target.test(source);\n } else if (Array.isArray(target)) {\n target.forEach(function (t) {\n if (!isSame) {\n isSame = checkSameOrigin(source, t);\n }\n });\n }\n\n return isSame;\n}\n\nfunction isPlatformSupported() {\n return isBrowser && typeof Set === 'function' && typeof JSON.stringify === 'function' && PERF && typeof PERF.now === 'function' && isCORSSupported();\n}\n\nfunction setLabel(key, value, obj) {\n if (!obj || !key) return;\n var skey = removeInvalidChars(key);\n var valueType = typeof value;\n\n if (value != undefined && valueType !== 'boolean' && valueType !== 'number') {\n value = String(value);\n }\n\n obj[skey] = value;\n return obj;\n}\n\nfunction getServerTimingInfo(serverTimingEntries) {\n if (serverTimingEntries === void 0) {\n serverTimingEntries = [];\n }\n\n var serverTimingInfo = [];\n var entrySeparator = ', ';\n var valueSeparator = ';';\n\n for (var _i2 = 0; _i2 < serverTimingEntries.length; _i2++) {\n var _serverTimingEntries$ = serverTimingEntries[_i2],\n name = _serverTimingEntries$.name,\n duration = _serverTimingEntries$.duration,\n description = _serverTimingEntries$.description;\n var timingValue = name;\n\n if (description) {\n timingValue += valueSeparator + 'desc=' + description;\n }\n\n if (duration) {\n timingValue += valueSeparator + 'dur=' + duration;\n }\n\n serverTimingInfo.push(timingValue);\n }\n\n return serverTimingInfo.join(entrySeparator);\n}\n\nfunction getTimeOrigin() {\n return PERF.timing.fetchStart;\n}\n\nfunction stripQueryStringFromUrl(url) {\n return url && url.split('?')[0];\n}\n\nfunction isObject(value) {\n return value !== null && typeof value === 'object';\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction baseExtend(dst, objs, deep) {\n for (var i = 0, ii = objs.length; i < ii; ++i) {\n var obj = objs[i];\n if (!isObject(obj) && !isFunction(obj)) continue;\n var keys = Object.keys(obj);\n\n for (var j = 0, jj = keys.length; j < jj; j++) {\n var key = keys[j];\n var src = obj[key];\n\n if (deep && isObject(src)) {\n if (!isObject(dst[key])) dst[key] = Array.isArray(src) ? [] : {};\n baseExtend(dst[key], [src], false);\n } else {\n dst[key] = src;\n }\n }\n }\n\n return dst;\n}\n\nfunction getElasticScript() {\n if (typeof document !== 'undefined') {\n var scripts = document.getElementsByTagName('script');\n\n for (var i = 0, l = scripts.length; i < l; i++) {\n var sc = scripts[i];\n\n if (sc.src.indexOf('elastic') > 0) {\n return sc;\n }\n }\n }\n}\n\nfunction getCurrentScript() {\n if (typeof document !== 'undefined') {\n var currentScript = document.currentScript;\n\n if (!currentScript) {\n return getElasticScript();\n }\n\n return currentScript;\n }\n}\n\nfunction extend(dst) {\n return baseExtend(dst, slice.call(arguments, 1), false);\n}\n\nfunction merge(dst) {\n return baseExtend(dst, slice.call(arguments, 1), true);\n}\n\nfunction isUndefined(obj) {\n return typeof obj === 'undefined';\n}\n\nfunction noop() {}\n\nfunction find(array, predicate, thisArg) {\n if (array == null) {\n throw new TypeError('array is null or not defined');\n }\n\n var o = Object(array);\n var len = o.length >>> 0;\n\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n var k = 0;\n\n while (k < len) {\n var kValue = o[k];\n\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n\n k++;\n }\n\n return undefined;\n}\n\nfunction removeInvalidChars(key) {\n return key.replace(/[.*\"]/g, '_');\n}\n\nfunction getLatestSpan(spans, typeFilter) {\n var latestSpan = null;\n\n for (var _i3 = 0; _i3 < spans.length; _i3++) {\n var span = spans[_i3];\n\n if (typeFilter && typeFilter(span.type) && (!latestSpan || latestSpan._end < span._end)) {\n latestSpan = span;\n }\n }\n\n return latestSpan;\n}\n\nfunction getLatestNonXHRSpan(spans) {\n return getLatestSpan(spans, function (type) {\n return String(type).indexOf('external') === -1;\n });\n}\n\nfunction getLatestXHRSpan(spans) {\n return getLatestSpan(spans, function (type) {\n return String(type).indexOf('external') !== -1;\n });\n}\n\nfunction getEarliestSpan(spans) {\n var earliestSpan = spans[0];\n\n for (var _i4 = 1; _i4 < spans.length; _i4++) {\n var span = spans[_i4];\n\n if (earliestSpan._start > span._start) {\n earliestSpan = span;\n }\n }\n\n return earliestSpan;\n}\n\nfunction now() {\n return PERF.now();\n}\n\nfunction getTime(time) {\n return typeof time === 'number' && time >= 0 ? time : now();\n}\n\nfunction getDuration(start, end) {\n if (isUndefined(end) || isUndefined(start)) {\n return null;\n }\n\n return parseInt(end - start);\n}\n\nfunction scheduleMacroTask(callback) {\n setTimeout(callback, 0);\n}\n\nfunction scheduleMicroTask(callback) {\n Promise.resolve().then(callback);\n}\n\nfunction isPerfTimelineSupported() {\n return typeof PERF.getEntriesByType === 'function';\n}\n\nfunction isPerfTypeSupported(type) {\n return typeof PerformanceObserver !== 'undefined' && PerformanceObserver.supportedEntryTypes && PerformanceObserver.supportedEntryTypes.indexOf(type) >= 0;\n}\n\nfunction isPerfInteractionCountSupported() {\n return 'interactionCount' in performance;\n}\n\nfunction isBeaconInspectionEnabled() {\n var flagName = '_elastic_inspect_beacon_';\n\n if (sessionStorage.getItem(flagName) != null) {\n return true;\n }\n\n if (!window.URL || !window.URLSearchParams) {\n return false;\n }\n\n try {\n var parsedUrl = new URL(window.location.href);\n var isFlagSet = parsedUrl.searchParams.has(flagName);\n\n if (isFlagSet) {\n sessionStorage.setItem(flagName, true);\n }\n\n return isFlagSet;\n } catch (e) {}\n\n return false;\n}\n\nfunction isRedirectInfoAvailable(timing) {\n return timing.redirectStart > 0;\n}\n\nexport { extend, merge, isUndefined, noop, baseExtend, bytesToHex, isCORSSupported, isObject, isFunction, isPlatformSupported, isDtHeaderValid, parseDtHeaderValue, getServerTimingInfo, getDtHeaderValue, getTSHeaderValue, getCurrentScript, getElasticScript, getTimeOrigin, generateRandomId, getEarliestSpan, getLatestNonXHRSpan, getLatestXHRSpan, getDuration, getTime, now, rng, checkSameOrigin, scheduleMacroTask, scheduleMicroTask, setLabel, setRequestHeader, stripQueryStringFromUrl, find, removeInvalidChars, PERF, isPerfTimelineSupported, isBrowser, isPerfTypeSupported, isPerfInteractionCountSupported, isBeaconInspectionEnabled, isRedirectInfoAvailable };","import { isBrowser } from './utils';\n\nfunction isDefaultPort(port, protocol) {\n switch (protocol) {\n case 'http:':\n return port === '80';\n\n case 'https:':\n return port === '443';\n }\n\n return true;\n}\n\nvar RULES = [['#', 'hash'], ['?', 'query'], ['/', 'path'], ['@', 'auth', 1], [NaN, 'host', undefined, 1]];\nvar PROTOCOL_REGEX = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i;\nexport var Url = function () {\n function Url(url) {\n var _this$extractProtocol = this.extractProtocol(url || ''),\n protocol = _this$extractProtocol.protocol,\n address = _this$extractProtocol.address,\n slashes = _this$extractProtocol.slashes;\n\n var relative = !protocol && !slashes;\n var location = this.getLocation();\n var instructions = RULES.slice();\n address = address.replace('\\\\', '/');\n\n if (!slashes) {\n instructions[2] = [NaN, 'path'];\n }\n\n var index;\n\n for (var i = 0; i < instructions.length; i++) {\n var instruction = instructions[i];\n var parse = instruction[0];\n var key = instruction[1];\n\n if (typeof parse === 'string') {\n index = address.indexOf(parse);\n\n if (~index) {\n var instLength = instruction[2];\n\n if (instLength) {\n var newIndex = address.lastIndexOf(parse);\n index = Math.max(index, newIndex);\n this[key] = address.slice(0, index);\n address = address.slice(index + instLength);\n } else {\n this[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else {\n this[key] = address;\n address = '';\n }\n\n this[key] = this[key] || (relative && instruction[3] ? location[key] || '' : '');\n if (instruction[3]) this[key] = this[key].toLowerCase();\n }\n\n if (relative && this.path.charAt(0) !== '/') {\n this.path = '/' + this.path;\n }\n\n this.relative = relative;\n this.protocol = protocol || location.protocol;\n this.hostname = this.host;\n this.port = '';\n\n if (/:\\d+$/.test(this.host)) {\n var value = this.host.split(':');\n var port = value.pop();\n var hostname = value.join(':');\n\n if (isDefaultPort(port, this.protocol)) {\n this.host = hostname;\n } else {\n this.port = port;\n }\n\n this.hostname = hostname;\n }\n\n this.origin = this.protocol && this.host && this.protocol !== 'file:' ? this.protocol + '//' + this.host : 'null';\n this.href = this.toString();\n }\n\n var _proto = Url.prototype;\n\n _proto.toString = function toString() {\n var result = this.protocol;\n result += '//';\n\n if (this.auth) {\n var REDACTED = '[REDACTED]';\n var userpass = this.auth.split(':');\n var username = userpass[0] ? REDACTED : '';\n var password = userpass[1] ? ':' + REDACTED : '';\n result += username + password + '@';\n }\n\n result += this.host;\n result += this.path;\n result += this.query;\n result += this.hash;\n return result;\n };\n\n _proto.getLocation = function getLocation() {\n var globalVar = {};\n\n if (isBrowser) {\n globalVar = window;\n }\n\n return globalVar.location;\n };\n\n _proto.extractProtocol = function extractProtocol(url) {\n var match = PROTOCOL_REGEX.exec(url);\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n address: match[3]\n };\n };\n\n return Url;\n}();\nexport function slugifyUrl(urlStr, depth) {\n if (depth === void 0) {\n depth = 2;\n }\n\n var parsedUrl = new Url(urlStr);\n var query = parsedUrl.query,\n path = parsedUrl.path;\n var pathParts = path.substring(1).split('/');\n var redactString = ':id';\n var wildcard = '*';\n var specialCharsRegex = /\\W|_/g;\n var digitsRegex = /[0-9]/g;\n var lowerCaseRegex = /[a-z]/g;\n var upperCaseRegex = /[A-Z]/g;\n var redactedParts = [];\n var redactedBefore = false;\n\n for (var index = 0; index < pathParts.length; index++) {\n var part = pathParts[index];\n\n if (redactedBefore || index > depth - 1) {\n if (part) {\n redactedParts.push(wildcard);\n }\n\n break;\n }\n\n var numberOfSpecialChars = (part.match(specialCharsRegex) || []).length;\n\n if (numberOfSpecialChars >= 2) {\n redactedParts.push(redactString);\n redactedBefore = true;\n continue;\n }\n\n var numberOfDigits = (part.match(digitsRegex) || []).length;\n\n if (numberOfDigits > 3 || part.length > 3 && numberOfDigits / part.length >= 0.3) {\n redactedParts.push(redactString);\n redactedBefore = true;\n continue;\n }\n\n var numberofUpperCase = (part.match(upperCaseRegex) || []).length;\n var numberofLowerCase = (part.match(lowerCaseRegex) || []).length;\n var lowerCaseRate = numberofLowerCase / part.length;\n var upperCaseRate = numberofUpperCase / part.length;\n\n if (part.length > 5 && (upperCaseRate > 0.3 && upperCaseRate < 0.6 || lowerCaseRate > 0.3 && lowerCaseRate < 0.6)) {\n redactedParts.push(redactString);\n redactedBefore = true;\n continue;\n }\n\n part && redactedParts.push(part);\n }\n\n var redacted = '/' + (redactedParts.length >= 2 ? redactedParts.join('/') : redactedParts.join('')) + (query ? '?{query}' : '');\n return redacted;\n}","var SCHEDULE = 'schedule';\nvar INVOKE = 'invoke';\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\nvar RESOURCE_INITIATOR_TYPES = ['link', 'css', 'script', 'img', 'xmlhttprequest', 'fetch', 'beacon', 'iframe'];\nvar REUSABILITY_THRESHOLD = 5000;\nvar MAX_SPAN_DURATION = 5 * 60 * 1000;\nvar PAGE_LOAD_DELAY = 1000;\nvar PAGE_LOAD = 'page-load';\nvar ROUTE_CHANGE = 'route-change';\nvar TYPE_CUSTOM = 'custom';\nvar USER_INTERACTION = 'user-interaction';\nvar HTTP_REQUEST_TYPE = 'http-request';\nvar TEMPORARY_TYPE = 'temporary';\nvar NAME_UNKNOWN = 'Unknown';\nvar PAGE_EXIT = 'page-exit';\nvar TRANSACTION_TYPE_ORDER = [PAGE_LOAD, ROUTE_CHANGE, USER_INTERACTION, HTTP_REQUEST_TYPE, TYPE_CUSTOM, TEMPORARY_TYPE];\nvar OUTCOME_SUCCESS = 'success';\nvar OUTCOME_FAILURE = 'failure';\nvar OUTCOME_UNKNOWN = 'unknown';\nvar USER_TIMING_THRESHOLD = 60;\nvar TRANSACTION_START = 'transaction:start';\nvar TRANSACTION_END = 'transaction:end';\nvar CONFIG_CHANGE = 'config:change';\nvar QUEUE_FLUSH = 'queue:flush';\nvar QUEUE_ADD_TRANSACTION = 'queue:add_transaction';\nvar TRANSACTION_IGNORE = 'transaction:ignore';\nvar XMLHTTPREQUEST = 'xmlhttprequest';\nvar FETCH = 'fetch';\nvar HISTORY = 'history';\nvar EVENT_TARGET = 'eventtarget';\nvar CLICK = 'click';\nvar ERROR = 'error';\nvar BEFORE_EVENT = ':before';\nvar AFTER_EVENT = ':after';\nvar LOCAL_CONFIG_KEY = 'elastic_apm_config';\nvar LONG_TASK = 'longtask';\nvar PAINT = 'paint';\nvar MEASURE = 'measure';\nvar NAVIGATION = 'navigation';\nvar RESOURCE = 'resource';\nvar FIRST_CONTENTFUL_PAINT = 'first-contentful-paint';\nvar LARGEST_CONTENTFUL_PAINT = 'largest-contentful-paint';\nvar FIRST_INPUT = 'first-input';\nvar LAYOUT_SHIFT = 'layout-shift';\nvar EVENT = 'event';\nvar ERRORS = 'errors';\nvar TRANSACTIONS = 'transactions';\nvar CONFIG_SERVICE = 'ConfigService';\nvar LOGGING_SERVICE = 'LoggingService';\nvar TRANSACTION_SERVICE = 'TransactionService';\nvar APM_SERVER = 'ApmServer';\nvar PERFORMANCE_MONITORING = 'PerformanceMonitoring';\nvar ERROR_LOGGING = 'ErrorLogging';\nvar TRUNCATED_TYPE = '.truncated';\nvar KEYWORD_LIMIT = 1024;\nvar SESSION_TIMEOUT = 30 * 60000;\nvar HTTP_REQUEST_TIMEOUT = 10000;\nexport { SCHEDULE, INVOKE, ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, RESOURCE_INITIATOR_TYPES, REUSABILITY_THRESHOLD, MAX_SPAN_DURATION, PAGE_LOAD_DELAY, PAGE_LOAD, ROUTE_CHANGE, NAME_UNKNOWN, PAGE_EXIT, TYPE_CUSTOM, USER_TIMING_THRESHOLD, TRANSACTION_START, TRANSACTION_END, CONFIG_CHANGE, QUEUE_FLUSH, QUEUE_ADD_TRANSACTION, TRANSACTION_IGNORE, XMLHTTPREQUEST, FETCH, HISTORY, EVENT_TARGET, CLICK, ERROR, BEFORE_EVENT, AFTER_EVENT, LOCAL_CONFIG_KEY, HTTP_REQUEST_TYPE, LONG_TASK, PAINT, MEASURE, NAVIGATION, RESOURCE, FIRST_CONTENTFUL_PAINT, LARGEST_CONTENTFUL_PAINT, KEYWORD_LIMIT, TEMPORARY_TYPE, USER_INTERACTION, TRANSACTION_TYPE_ORDER, ERRORS, TRANSACTIONS, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE, APM_SERVER, PERFORMANCE_MONITORING, ERROR_LOGGING, TRUNCATED_TYPE, FIRST_INPUT, LAYOUT_SHIFT, EVENT, OUTCOME_SUCCESS, OUTCOME_FAILURE, OUTCOME_UNKNOWN, SESSION_TIMEOUT, HTTP_REQUEST_TIMEOUT };","var _excluded = [\"tags\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { Url } from './url';\nimport { PAGE_LOAD, PAGE_EXIT, NAVIGATION } from './constants';\nimport { getServerTimingInfo, PERF, isPerfTimelineSupported } from './utils';\nvar LEFT_SQUARE_BRACKET = 91;\nvar RIGHT_SQUARE_BRACKET = 93;\nvar EXTERNAL = 'external';\nvar RESOURCE = 'resource';\nvar HARD_NAVIGATION = 'hard-navigation';\n\nfunction getPortNumber(port, protocol) {\n if (port === '') {\n port = protocol === 'http:' ? '80' : protocol === 'https:' ? '443' : '';\n }\n\n return port;\n}\n\nfunction getResponseContext(perfTimingEntry) {\n var transferSize = perfTimingEntry.transferSize,\n encodedBodySize = perfTimingEntry.encodedBodySize,\n decodedBodySize = perfTimingEntry.decodedBodySize,\n serverTiming = perfTimingEntry.serverTiming;\n var respContext = {\n transfer_size: transferSize,\n encoded_body_size: encodedBodySize,\n decoded_body_size: decodedBodySize\n };\n var serverTimingStr = getServerTimingInfo(serverTiming);\n\n if (serverTimingStr) {\n respContext.headers = {\n 'server-timing': serverTimingStr\n };\n }\n\n return respContext;\n}\n\nfunction getDestination(parsedUrl) {\n var port = parsedUrl.port,\n protocol = parsedUrl.protocol,\n hostname = parsedUrl.hostname;\n var portNumber = getPortNumber(port, protocol);\n var ipv6Hostname = hostname.charCodeAt(0) === LEFT_SQUARE_BRACKET && hostname.charCodeAt(hostname.length - 1) === RIGHT_SQUARE_BRACKET;\n var address = hostname;\n\n if (ipv6Hostname) {\n address = hostname.slice(1, -1);\n }\n\n return {\n service: {\n resource: hostname + ':' + portNumber,\n name: '',\n type: ''\n },\n address: address,\n port: Number(portNumber)\n };\n}\n\nfunction getResourceContext(data) {\n var entry = data.entry,\n url = data.url;\n var parsedUrl = new Url(url);\n var destination = getDestination(parsedUrl);\n return {\n http: {\n url: url,\n response: getResponseContext(entry)\n },\n destination: destination\n };\n}\n\nfunction getExternalContext(data) {\n var url = data.url,\n method = data.method,\n target = data.target,\n response = data.response;\n var parsedUrl = new Url(url);\n var destination = getDestination(parsedUrl);\n var context = {\n http: {\n method: method,\n url: parsedUrl.href\n },\n destination: destination\n };\n var statusCode;\n\n if (target && typeof target.status !== 'undefined') {\n statusCode = target.status;\n } else if (response) {\n statusCode = response.status;\n }\n\n context.http.status_code = statusCode;\n return context;\n}\n\nfunction getNavigationContext(data) {\n var url = data.url;\n var parsedUrl = new Url(url);\n var destination = getDestination(parsedUrl);\n return {\n destination: destination\n };\n}\n\nexport function getPageContext() {\n return {\n page: {\n referer: document.referrer,\n url: location.href\n }\n };\n}\nexport function addSpanContext(span, data) {\n if (!data) {\n return;\n }\n\n var type = span.type;\n var context;\n\n switch (type) {\n case EXTERNAL:\n context = getExternalContext(data);\n break;\n\n case RESOURCE:\n context = getResourceContext(data);\n break;\n\n case HARD_NAVIGATION:\n context = getNavigationContext(data);\n break;\n }\n\n span.addContext(context);\n}\nexport function addTransactionContext(transaction, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n tags = _ref.tags,\n configContext = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var pageContext = getPageContext();\n var responseContext = {};\n\n if (transaction.type === PAGE_EXIT) {\n transaction.ensureContext();\n\n if (transaction.context.page && transaction.context.page.url) {\n pageContext.page.url = transaction.context.page.url;\n }\n } else if (transaction.type === PAGE_LOAD && isPerfTimelineSupported()) {\n var entries = PERF.getEntriesByType(NAVIGATION);\n\n if (entries && entries.length > 0) {\n responseContext = {\n response: getResponseContext(entries[0])\n };\n }\n }\n\n transaction.addContext(pageContext, responseContext, configContext);\n}","import { KEYWORD_LIMIT } from './constants';\nvar METADATA_MODEL = {\n service: {\n name: [KEYWORD_LIMIT, true],\n version: true,\n agent: {\n version: [KEYWORD_LIMIT, true]\n },\n environment: true\n },\n labels: {\n '*': true\n }\n};\nvar RESPONSE_MODEL = {\n '*': true,\n headers: {\n '*': true\n }\n};\nvar DESTINATION_MODEL = {\n address: [KEYWORD_LIMIT],\n service: {\n '*': [KEYWORD_LIMIT, true]\n }\n};\nvar CONTEXT_MODEL = {\n user: {\n id: true,\n email: true,\n username: true\n },\n tags: {\n '*': true\n },\n http: {\n response: RESPONSE_MODEL\n },\n destination: DESTINATION_MODEL,\n response: RESPONSE_MODEL\n};\nvar SPAN_MODEL = {\n name: [KEYWORD_LIMIT, true],\n type: [KEYWORD_LIMIT, true],\n id: [KEYWORD_LIMIT, true],\n trace_id: [KEYWORD_LIMIT, true],\n parent_id: [KEYWORD_LIMIT, true],\n transaction_id: [KEYWORD_LIMIT, true],\n subtype: true,\n action: true,\n context: CONTEXT_MODEL\n};\nvar TRANSACTION_MODEL = {\n name: true,\n parent_id: true,\n type: [KEYWORD_LIMIT, true],\n id: [KEYWORD_LIMIT, true],\n trace_id: [KEYWORD_LIMIT, true],\n span_count: {\n started: [KEYWORD_LIMIT, true]\n },\n context: CONTEXT_MODEL\n};\nvar ERROR_MODEL = {\n id: [KEYWORD_LIMIT, true],\n trace_id: true,\n transaction_id: true,\n parent_id: true,\n culprit: true,\n exception: {\n type: true\n },\n transaction: {\n type: true\n },\n context: CONTEXT_MODEL\n};\n\nfunction truncate(value, limit, required, placeholder) {\n if (limit === void 0) {\n limit = KEYWORD_LIMIT;\n }\n\n if (required === void 0) {\n required = false;\n }\n\n if (placeholder === void 0) {\n placeholder = 'N/A';\n }\n\n if (required && isEmpty(value)) {\n value = placeholder;\n }\n\n if (typeof value === 'string') {\n return value.substring(0, limit);\n }\n\n return value;\n}\n\nfunction isEmpty(value) {\n return value == null || value === '' || typeof value === 'undefined';\n}\n\nfunction replaceValue(target, key, currModel) {\n var value = truncate(target[key], currModel[0], currModel[1]);\n\n if (isEmpty(value)) {\n delete target[key];\n return;\n }\n\n target[key] = value;\n}\n\nfunction truncateModel(model, target, childTarget) {\n if (model === void 0) {\n model = {};\n }\n\n if (childTarget === void 0) {\n childTarget = target;\n }\n\n var keys = Object.keys(model);\n var emptyArr = [];\n\n var _loop = function _loop(i) {\n var currKey = keys[i];\n var currModel = model[currKey] === true ? emptyArr : model[currKey];\n\n if (!Array.isArray(currModel)) {\n truncateModel(currModel, target, childTarget[currKey]);\n } else {\n if (currKey === '*') {\n Object.keys(childTarget).forEach(function (key) {\n return replaceValue(childTarget, key, currModel);\n });\n } else {\n replaceValue(childTarget, currKey, currModel);\n }\n }\n };\n\n for (var i = 0; i < keys.length; i++) {\n _loop(i);\n }\n\n return target;\n}\n\nexport { truncate, truncateModel, SPAN_MODEL, TRANSACTION_MODEL, ERROR_MODEL, METADATA_MODEL, RESPONSE_MODEL };","(function (root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function () {\n 'use strict';\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function StackFrame(functionName, args, fileName, lineNumber, columnNumber, source) {\n if (functionName !== undefined) {\n this.setFunctionName(functionName);\n }\n if (args !== undefined) {\n this.setArgs(args);\n }\n if (fileName !== undefined) {\n this.setFileName(fileName);\n }\n if (lineNumber !== undefined) {\n this.setLineNumber(lineNumber);\n }\n if (columnNumber !== undefined) {\n this.setColumnNumber(columnNumber);\n }\n if (source !== undefined) {\n this.setSource(source);\n }\n }\n\n StackFrame.prototype = {\n getFunctionName: function () {\n return this.functionName;\n },\n setFunctionName: function (v) {\n this.functionName = String(v);\n },\n\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n\n // NOTE: Property name may be misleading as it includes the path,\n // but it somewhat mirrors V8's JavaScriptStackTraceApi\n // https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi and Gecko's\n // http://mxr.mozilla.org/mozilla-central/source/xpcom/base/nsIException.idl#14\n getFileName: function () {\n return this.fileName;\n },\n setFileName: function (v) {\n this.fileName = String(v);\n },\n\n getLineNumber: function () {\n return this.lineNumber;\n },\n setLineNumber: function (v) {\n if (!_isNumber(v)) {\n throw new TypeError('Line Number must be a Number');\n }\n this.lineNumber = Number(v);\n },\n\n getColumnNumber: function () {\n return this.columnNumber;\n },\n setColumnNumber: function (v) {\n if (!_isNumber(v)) {\n throw new TypeError('Column Number must be a Number');\n }\n this.columnNumber = Number(v);\n },\n\n getSource: function () {\n return this.source;\n },\n setSource: function (v) {\n this.source = String(v);\n },\n\n toString: function() {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? ('@' + this.getFileName()) : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n\n return StackFrame;\n}));\n","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n\n function _map(array, fn, thisArg) {\n if (typeof Array.prototype.map === 'function') {\n return array.map(fn, thisArg);\n } else {\n var output = new Array(array.length);\n for (var i = 0; i < array.length; i++) {\n output[i] = fn.call(thisArg, array[i]);\n }\n return output;\n }\n }\n\n function _filter(array, fn, thisArg) {\n if (typeof Array.prototype.filter === 'function') {\n return array.filter(fn, thisArg);\n } else {\n var output = [];\n for (var i = 0; i < array.length; i++) {\n if (fn.call(thisArg, array[i])) {\n output.push(array[i]);\n }\n }\n return output;\n }\n }\n\n function _indexOf(array, target) {\n if (typeof Array.prototype.indexOf === 'function') {\n return array.indexOf(target);\n } else {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === target) {\n return i;\n }\n }\n return -1;\n }\n }\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var tokens = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').split(/\\s+/).slice(1);\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = _indexOf(['eval', ''], locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame(functionName, undefined, fileName, locationParts[1], locationParts[2], line);\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return _map(filtered, function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame(line);\n } else {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join('@') || undefined;\n return new StackFrame(functionName,\n undefined,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame(undefined, undefined, match[2], match[1], undefined, lines[i]));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame(\n match[3] || undefined,\n undefined,\n match[2],\n match[1],\n undefined,\n lines[i]\n )\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = _filter(error.stack.split('\\n'), function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return _map(filtered, function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n return new StackFrame(\n functionName,\n args,\n locationParts[0],\n locationParts[1],\n locationParts[2],\n line);\n }, this);\n }\n };\n}));\n\n","var _excluded = [\"tags\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { createStackTraces, filterInvalidFrames } from './stack-trace';\nimport { generateRandomId, merge, extend } from '../common/utils';\nimport { getPageContext } from '../common/context';\nimport { truncateModel, ERROR_MODEL } from '../common/truncate';\nimport stackParser from 'error-stack-parser';\nvar IGNORE_KEYS = ['stack', 'message'];\nvar PROMISE_REJECTION_PREFIX = 'Unhandled promise rejection: ';\n\nfunction getErrorProperties(error) {\n var propertyFound = false;\n var properties = {};\n Object.keys(error).forEach(function (key) {\n if (IGNORE_KEYS.indexOf(key) >= 0) {\n return;\n }\n\n var val = error[key];\n\n if (val == null || typeof val === 'function') {\n return;\n }\n\n if (typeof val === 'object') {\n if (typeof val.toISOString !== 'function') return;\n val = val.toISOString();\n }\n\n properties[key] = val;\n propertyFound = true;\n });\n\n if (propertyFound) {\n return properties;\n }\n}\n\nvar ErrorLogging = function () {\n function ErrorLogging(apmServer, configService, transactionService) {\n this._apmServer = apmServer;\n this._configService = configService;\n this._transactionService = transactionService;\n }\n\n var _proto = ErrorLogging.prototype;\n\n _proto.createErrorDataModel = function createErrorDataModel(errorEvent) {\n var frames = createStackTraces(stackParser, errorEvent);\n var filteredFrames = filterInvalidFrames(frames);\n var culprit = '(inline script)';\n var lastFrame = filteredFrames[filteredFrames.length - 1];\n\n if (lastFrame && lastFrame.filename) {\n culprit = lastFrame.filename;\n }\n\n var message = errorEvent.message,\n error = errorEvent.error;\n var errorMessage = message;\n var errorType = '';\n var errorContext = {};\n\n if (error && typeof error === 'object') {\n errorMessage = errorMessage || error.message;\n errorType = error.name;\n var customProperties = getErrorProperties(error);\n\n if (customProperties) {\n errorContext.custom = customProperties;\n }\n }\n\n if (!errorType) {\n if (errorMessage && errorMessage.indexOf(':') > -1) {\n errorType = errorMessage.split(':')[0];\n }\n }\n\n var currentTransaction = this._transactionService.getCurrentTransaction();\n\n var transactionContext = currentTransaction ? currentTransaction.context : {};\n\n var _this$_configService$ = this._configService.get('context'),\n tags = _this$_configService$.tags,\n configContext = _objectWithoutPropertiesLoose(_this$_configService$, _excluded);\n\n var pageContext = getPageContext();\n var context = merge({}, pageContext, transactionContext, configContext, errorContext);\n var errorObject = {\n id: generateRandomId(),\n culprit: culprit,\n exception: {\n message: errorMessage,\n stacktrace: filteredFrames,\n type: errorType\n },\n context: context\n };\n\n if (currentTransaction) {\n errorObject = extend(errorObject, {\n trace_id: currentTransaction.traceId,\n parent_id: currentTransaction.id,\n transaction_id: currentTransaction.id,\n transaction: {\n type: currentTransaction.type,\n sampled: currentTransaction.sampled\n }\n });\n }\n\n return truncateModel(ERROR_MODEL, errorObject);\n };\n\n _proto.logErrorEvent = function logErrorEvent(errorEvent) {\n if (typeof errorEvent === 'undefined') {\n return;\n }\n\n var errorObject = this.createErrorDataModel(errorEvent);\n\n if (typeof errorObject.exception.message === 'undefined') {\n return;\n }\n\n this._apmServer.addError(errorObject);\n };\n\n _proto.registerListeners = function registerListeners() {\n var _this = this;\n\n window.addEventListener('error', function (errorEvent) {\n return _this.logErrorEvent(errorEvent);\n });\n window.addEventListener('unhandledrejection', function (promiseRejectionEvent) {\n return _this.logPromiseEvent(promiseRejectionEvent);\n });\n };\n\n _proto.logPromiseEvent = function logPromiseEvent(promiseRejectionEvent) {\n var reason = promiseRejectionEvent.reason;\n\n if (reason == null) {\n reason = '';\n }\n\n var errorEvent;\n\n if (typeof reason.message === 'string') {\n var name = reason.name ? reason.name + ': ' : '';\n errorEvent = {\n error: reason,\n message: PROMISE_REJECTION_PREFIX + name + reason.message\n };\n } else {\n errorEvent = this._parseRejectReason(reason);\n }\n\n this.logErrorEvent(errorEvent);\n };\n\n _proto.logError = function logError(messageOrError) {\n var errorEvent = {};\n\n if (typeof messageOrError === 'string') {\n errorEvent.message = messageOrError;\n } else {\n errorEvent.error = messageOrError;\n }\n\n return this.logErrorEvent(errorEvent);\n };\n\n _proto._parseRejectReason = function _parseRejectReason(reason) {\n var errorEvent = {\n message: PROMISE_REJECTION_PREFIX\n };\n\n if (Array.isArray(reason)) {\n errorEvent.message += '';\n } else if (typeof reason === 'object') {\n try {\n errorEvent.message += JSON.stringify(reason);\n errorEvent.error = reason;\n } catch (error) {\n errorEvent.message += '';\n }\n } else if (typeof reason === 'function') {\n errorEvent.message += '';\n } else {\n errorEvent.message += reason;\n }\n\n return errorEvent;\n };\n\n return ErrorLogging;\n}();\n\nexport default ErrorLogging;","var Queue = function () {\n function Queue(onFlush, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n this.onFlush = onFlush;\n this.items = [];\n this.queueLimit = opts.queueLimit || -1;\n this.flushInterval = opts.flushInterval || 0;\n this.timeoutId = undefined;\n }\n\n var _proto = Queue.prototype;\n\n _proto._setTimer = function _setTimer() {\n var _this = this;\n\n this.timeoutId = setTimeout(function () {\n return _this.flush();\n }, this.flushInterval);\n };\n\n _proto._clear = function _clear() {\n if (typeof this.timeoutId !== 'undefined') {\n clearTimeout(this.timeoutId);\n this.timeoutId = undefined;\n }\n\n this.items = [];\n };\n\n _proto.flush = function flush() {\n this.onFlush(this.items);\n\n this._clear();\n };\n\n _proto.add = function add(item) {\n this.items.push(item);\n\n if (this.queueLimit !== -1 && this.items.length >= this.queueLimit) {\n this.flush();\n } else {\n if (typeof this.timeoutId === 'undefined') {\n this._setTimer();\n }\n }\n };\n\n return Queue;\n}();\n\nexport default Queue;","export default function throttle(fn, onThrottle, opts) {\n var context = this;\n var limit = opts.limit;\n var interval = opts.interval;\n var counter = 0;\n var timeoutId;\n return function () {\n counter++;\n\n if (typeof timeoutId === 'undefined') {\n timeoutId = setTimeout(function () {\n counter = 0;\n timeoutId = undefined;\n }, interval);\n }\n\n if (counter > limit && typeof onThrottle === 'function') {\n return onThrottle.apply(context, arguments);\n } else {\n return fn.apply(context, arguments);\n }\n };\n}","var NDJSON = function () {\n function NDJSON() {}\n\n NDJSON.stringify = function stringify(object) {\n return JSON.stringify(object) + '\\n';\n };\n\n return NDJSON;\n}();\n\nexport default NDJSON;","import { isRedirectInfoAvailable } from '../../common/utils';\nvar NAVIGATION_TIMING_MARKS = ['fetchStart', 'domainLookupStart', 'domainLookupEnd', 'connectStart', 'connectEnd', 'requestStart', 'responseStart', 'responseEnd', 'domLoading', 'domInteractive', 'domContentLoadedEventStart', 'domContentLoadedEventEnd', 'domComplete', 'loadEventStart', 'loadEventEnd'];\nvar COMPRESSED_NAV_TIMING_MARKS = ['fs', 'ls', 'le', 'cs', 'ce', 'qs', 'rs', 're', 'dl', 'di', 'ds', 'de', 'dc', 'es', 'ee'];\n\nfunction getPageLoadMarks(timing) {\n var marks = getNavigationTimingMarks(timing);\n\n if (marks == null) {\n return null;\n }\n\n return {\n navigationTiming: marks,\n agent: {\n timeToFirstByte: marks.responseStart,\n domInteractive: marks.domInteractive,\n domComplete: marks.domComplete\n }\n };\n}\n\nfunction getNavigationTimingMarks(timing) {\n var redirectStart = timing.redirectStart,\n fetchStart = timing.fetchStart,\n navigationStart = timing.navigationStart,\n responseStart = timing.responseStart,\n responseEnd = timing.responseEnd;\n\n if (fetchStart >= navigationStart && responseStart >= fetchStart && responseEnd >= responseStart) {\n var marks = {};\n NAVIGATION_TIMING_MARKS.forEach(function (timingKey) {\n var m = timing[timingKey];\n\n if (m && m >= fetchStart) {\n if (isRedirectInfoAvailable(timing)) {\n marks[timingKey] = parseInt(m - redirectStart);\n } else {\n marks[timingKey] = parseInt(m - fetchStart);\n }\n }\n });\n return marks;\n }\n\n return null;\n}\n\nexport { getPageLoadMarks, NAVIGATION_TIMING_MARKS, COMPRESSED_NAV_TIMING_MARKS };","import { Promise } from './polyfills';\nimport { NAVIGATION_TIMING_MARKS, COMPRESSED_NAV_TIMING_MARKS } from '../performance-monitoring/navigation/marks';\nimport { isBeaconInspectionEnabled } from './utils';\n\nfunction compressStackFrames(frames) {\n return frames.map(function (frame) {\n return {\n ap: frame.abs_path,\n f: frame.filename,\n fn: frame.function,\n li: frame.lineno,\n co: frame.colno\n };\n });\n}\n\nfunction compressResponse(response) {\n return {\n ts: response.transfer_size,\n ebs: response.encoded_body_size,\n dbs: response.decoded_body_size\n };\n}\n\nfunction compressHTTP(http) {\n var compressed = {};\n var method = http.method,\n status_code = http.status_code,\n url = http.url,\n response = http.response;\n compressed.url = url;\n\n if (method) {\n compressed.mt = method;\n }\n\n if (status_code) {\n compressed.sc = status_code;\n }\n\n if (response) {\n compressed.r = compressResponse(response);\n }\n\n return compressed;\n}\n\nfunction compressContext(context) {\n if (!context) {\n return null;\n }\n\n var compressed = {};\n var page = context.page,\n http = context.http,\n response = context.response,\n destination = context.destination,\n user = context.user,\n custom = context.custom;\n\n if (page) {\n compressed.p = {\n rf: page.referer,\n url: page.url\n };\n }\n\n if (http) {\n compressed.h = compressHTTP(http);\n }\n\n if (response) {\n compressed.r = compressResponse(response);\n }\n\n if (destination) {\n var service = destination.service;\n compressed.dt = {\n se: {\n n: service.name,\n t: service.type,\n rc: service.resource\n },\n ad: destination.address,\n po: destination.port\n };\n }\n\n if (user) {\n compressed.u = {\n id: user.id,\n un: user.username,\n em: user.email\n };\n }\n\n if (custom) {\n compressed.cu = custom;\n }\n\n return compressed;\n}\n\nfunction compressMarks(marks) {\n if (!marks) {\n return null;\n }\n\n var compressedNtMarks = compressNavigationTimingMarks(marks.navigationTiming);\n var compressed = {\n nt: compressedNtMarks,\n a: compressAgentMarks(compressedNtMarks, marks.agent)\n };\n return compressed;\n}\n\nfunction compressNavigationTimingMarks(ntMarks) {\n if (!ntMarks) {\n return null;\n }\n\n var compressed = {};\n COMPRESSED_NAV_TIMING_MARKS.forEach(function (mark, index) {\n var mapping = NAVIGATION_TIMING_MARKS[index];\n compressed[mark] = ntMarks[mapping];\n });\n return compressed;\n}\n\nfunction compressAgentMarks(compressedNtMarks, agentMarks) {\n var compressed = {};\n\n if (compressedNtMarks) {\n compressed = {\n fb: compressedNtMarks.rs,\n di: compressedNtMarks.di,\n dc: compressedNtMarks.dc\n };\n }\n\n if (agentMarks) {\n var fp = agentMarks.firstContentfulPaint;\n var lp = agentMarks.largestContentfulPaint;\n\n if (fp) {\n compressed.fp = fp;\n }\n\n if (lp) {\n compressed.lp = lp;\n }\n }\n\n if (Object.keys(compressed).length === 0) {\n return null;\n }\n\n return compressed;\n}\n\nexport function compressMetadata(metadata) {\n var service = metadata.service,\n labels = metadata.labels;\n var agent = service.agent,\n language = service.language;\n return {\n se: {\n n: service.name,\n ve: service.version,\n a: {\n n: agent.name,\n ve: agent.version\n },\n la: {\n n: language.name\n },\n en: service.environment\n },\n l: labels\n };\n}\nexport function compressTransaction(transaction) {\n var spans = transaction.spans.map(function (span) {\n var spanData = {\n id: span.id,\n n: span.name,\n t: span.type,\n s: span.start,\n d: span.duration,\n c: compressContext(span.context),\n o: span.outcome,\n sr: span.sample_rate\n };\n\n if (span.parent_id !== transaction.id) {\n spanData.pid = span.parent_id;\n }\n\n if (span.sync === true) {\n spanData.sy = true;\n }\n\n if (span.subtype) {\n spanData.su = span.subtype;\n }\n\n if (span.action) {\n spanData.ac = span.action;\n }\n\n return spanData;\n });\n var tr = {\n id: transaction.id,\n tid: transaction.trace_id,\n n: transaction.name,\n t: transaction.type,\n d: transaction.duration,\n c: compressContext(transaction.context),\n k: compressMarks(transaction.marks),\n me: compressMetricsets(transaction.breakdown),\n y: spans,\n yc: {\n sd: spans.length\n },\n sm: transaction.sampled,\n sr: transaction.sample_rate,\n o: transaction.outcome\n };\n\n if (transaction.experience) {\n var _transaction$experien = transaction.experience,\n cls = _transaction$experien.cls,\n fid = _transaction$experien.fid,\n tbt = _transaction$experien.tbt,\n longtask = _transaction$experien.longtask;\n tr.exp = {\n cls: cls,\n fid: fid,\n tbt: tbt,\n lt: longtask\n };\n }\n\n if (transaction.session) {\n var _transaction$session = transaction.session,\n id = _transaction$session.id,\n sequence = _transaction$session.sequence;\n tr.ses = {\n id: id,\n seq: sequence\n };\n }\n\n return tr;\n}\nexport function compressError(error) {\n var exception = error.exception;\n var compressed = {\n id: error.id,\n cl: error.culprit,\n ex: {\n mg: exception.message,\n st: compressStackFrames(exception.stacktrace),\n t: error.type\n },\n c: compressContext(error.context)\n };\n var transaction = error.transaction;\n\n if (transaction) {\n compressed.tid = error.trace_id;\n compressed.pid = error.parent_id;\n compressed.xid = error.transaction_id;\n compressed.x = {\n t: transaction.type,\n sm: transaction.sampled\n };\n }\n\n return compressed;\n}\nexport function compressMetricsets(breakdowns) {\n return breakdowns.map(function (_ref) {\n var span = _ref.span,\n samples = _ref.samples;\n return {\n y: {\n t: span.type\n },\n sa: {\n ysc: {\n v: samples['span.self_time.count'].value\n },\n yss: {\n v: samples['span.self_time.sum.us'].value\n }\n }\n };\n });\n}\nexport function compressPayload(params, type) {\n if (type === void 0) {\n type = 'gzip';\n }\n\n var isCompressionStreamSupported = typeof CompressionStream === 'function';\n return new Promise(function (resolve) {\n if (!isCompressionStreamSupported) {\n return resolve(params);\n }\n\n if (isBeaconInspectionEnabled()) {\n return resolve(params);\n }\n\n var payload = params.payload,\n headers = params.headers,\n beforeSend = params.beforeSend;\n var payloadStream = new Blob([payload]).stream();\n var compressedStream = payloadStream.pipeThrough(new CompressionStream(type));\n return new Response(compressedStream).blob().then(function (payload) {\n headers['Content-Encoding'] = type;\n return resolve({\n payload: payload,\n headers: headers,\n beforeSend: beforeSend\n });\n });\n });\n}","var __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar state = {\n bootstrapTime: null,\n lastHiddenStart: Number.MIN_SAFE_INTEGER\n};\nexport { __DEV__, state };","export function isResponseSuccessful(status) {\n if (status === 0 || status > 399 && status < 600) {\n return false;\n }\n\n return true;\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { HTTP_REQUEST_TIMEOUT } from '../constants';\nimport { isResponseSuccessful } from './response-status';\nexport var BYTE_LIMIT = 60 * 1000;\nexport function shouldUseFetchWithKeepAlive(method, payload) {\n if (!isFetchSupported()) {\n return false;\n }\n\n var isKeepAliveSupported = ('keepalive' in new Request(''));\n\n if (!isKeepAliveSupported) {\n return false;\n }\n\n var size = calculateSize(payload);\n return method === 'POST' && size < BYTE_LIMIT;\n}\nexport function sendFetchRequest(method, url, _ref) {\n var _ref$keepalive = _ref.keepalive,\n keepalive = _ref$keepalive === void 0 ? false : _ref$keepalive,\n _ref$timeout = _ref.timeout,\n timeout = _ref$timeout === void 0 ? HTTP_REQUEST_TIMEOUT : _ref$timeout,\n payload = _ref.payload,\n headers = _ref.headers,\n sendCredentials = _ref.sendCredentials;\n var timeoutConfig = {};\n\n if (typeof AbortController === 'function') {\n var controller = new AbortController();\n timeoutConfig.signal = controller.signal;\n setTimeout(function () {\n return controller.abort();\n }, timeout);\n }\n\n var fetchResponse;\n return window.fetch(url, _extends({\n body: payload,\n headers: headers,\n method: method,\n keepalive: keepalive,\n credentials: sendCredentials ? 'include' : 'omit'\n }, timeoutConfig)).then(function (response) {\n fetchResponse = response;\n return fetchResponse.text();\n }).then(function (responseText) {\n var bodyResponse = {\n url: url,\n status: fetchResponse.status,\n responseText: responseText\n };\n\n if (!isResponseSuccessful(fetchResponse.status)) {\n throw bodyResponse;\n }\n\n return bodyResponse;\n });\n}\nexport function isFetchSupported() {\n return typeof window.fetch === 'function' && typeof window.Request === 'function';\n}\n\nfunction calculateSize(payload) {\n if (!payload) {\n return 0;\n }\n\n if (payload instanceof Blob) {\n return payload.size;\n }\n\n return new Blob([payload]).size;\n}","export var globalState = {\n fetchInProgress: false\n};\nexport function apmSymbol(name) {\n return '__apm_symbol__' + name;\n}\n\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n\n if (propertyDesc.writable === false) {\n return false;\n }\n\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[apmSymbol('OriginalDelegate')] = original;\n}\n\nexport function patchMethod(target, name, patchFn) {\n var proto = target;\n\n while (proto && !proto.hasOwnProperty(name)) {\n proto = Object.getPrototypeOf(proto);\n }\n\n if (!proto && target[name]) {\n proto = target;\n }\n\n var delegateName = apmSymbol(name);\n var delegate;\n\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n var desc = proto && Object.getOwnPropertyDescriptor(proto, name);\n\n if (isPropertyWritable(desc)) {\n var patchDelegate = patchFn(delegate, delegateName, name);\n\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n\n attachOriginToPatched(proto[name], delegate);\n }\n }\n\n return delegate;\n}\nexport var XHR_IGNORE = apmSymbol('xhrIgnore');\nexport var XHR_SYNC = apmSymbol('xhrSync');\nexport var XHR_URL = apmSymbol('xhrURL');\nexport var XHR_METHOD = apmSymbol('xhrMethod');","import { XHR_IGNORE } from '../patching/patch-utils';\nimport { isResponseSuccessful } from './response-status';\nimport { Promise } from '../polyfills';\nexport function sendXHR(method, url, _ref) {\n var _ref$timeout = _ref.timeout,\n timeout = _ref$timeout === void 0 ? HTTP_REQUEST_TIMEOUT : _ref$timeout,\n payload = _ref.payload,\n headers = _ref.headers,\n beforeSend = _ref.beforeSend,\n sendCredentials = _ref.sendCredentials;\n return new Promise(function (resolve, reject) {\n var xhr = new window.XMLHttpRequest();\n xhr[XHR_IGNORE] = true;\n xhr.open(method, url, true);\n xhr.timeout = timeout;\n xhr.withCredentials = sendCredentials;\n\n if (headers) {\n for (var header in headers) {\n if (headers.hasOwnProperty(header)) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n var status = xhr.status,\n responseText = xhr.responseText;\n\n if (isResponseSuccessful(status)) {\n resolve(xhr);\n } else {\n reject({\n url: url,\n status: status,\n responseText: responseText\n });\n }\n }\n };\n\n xhr.onerror = function () {\n var status = xhr.status,\n responseText = xhr.responseText;\n reject({\n url: url,\n status: status,\n responseText: responseText\n });\n };\n\n var canSend = true;\n\n if (typeof beforeSend === 'function') {\n canSend = beforeSend({\n url: url,\n method: method,\n headers: headers,\n payload: payload,\n xhr: xhr\n });\n }\n\n if (canSend) {\n xhr.send(payload);\n } else {\n reject({\n url: url,\n status: 0,\n responseText: 'Request rejected by user configuration.'\n });\n }\n });\n}","import Queue from './queue';\nimport throttle from './throttle';\nimport NDJSON from './ndjson';\nimport { truncateModel, METADATA_MODEL } from './truncate';\nimport { ERRORS, HTTP_REQUEST_TIMEOUT, QUEUE_FLUSH, TRANSACTIONS } from './constants';\nimport { noop } from './utils';\nimport { Promise } from './polyfills';\nimport { compressMetadata, compressTransaction, compressError, compressPayload } from './compress';\nimport { __DEV__ } from '../state';\nimport { sendFetchRequest, shouldUseFetchWithKeepAlive } from './http/fetch';\nimport { sendXHR } from './http/xhr';\nvar THROTTLE_INTERVAL = 60000;\n\nvar ApmServer = function () {\n function ApmServer(configService, loggingService) {\n this._configService = configService;\n this._loggingService = loggingService;\n this.queue = undefined;\n this.throttleEvents = noop;\n }\n\n var _proto = ApmServer.prototype;\n\n _proto.init = function init() {\n var _this = this;\n\n var queueLimit = this._configService.get('queueLimit');\n\n var flushInterval = this._configService.get('flushInterval');\n\n var limit = this._configService.get('eventsLimit');\n\n var onFlush = function onFlush(events) {\n var promise = _this.sendEvents(events);\n\n if (promise) {\n promise.catch(function (reason) {\n _this._loggingService.warn('Failed sending events!', _this._constructError(reason));\n });\n }\n };\n\n this.queue = new Queue(onFlush, {\n queueLimit: queueLimit,\n flushInterval: flushInterval\n });\n this.throttleEvents = throttle(this.queue.add.bind(this.queue), function () {\n return _this._loggingService.warn('Dropped events due to throttling!');\n }, {\n limit: limit,\n interval: THROTTLE_INTERVAL\n });\n\n this._configService.observeEvent(QUEUE_FLUSH, function () {\n _this.queue.flush();\n });\n };\n\n _proto._postJson = function _postJson(endPoint, payload) {\n var _this2 = this;\n\n var headers = {\n 'Content-Type': 'application/x-ndjson'\n };\n\n var apmRequest = this._configService.get('apmRequest');\n\n var params = {\n payload: payload,\n headers: headers,\n beforeSend: apmRequest\n };\n return compressPayload(params).catch(function (error) {\n if (__DEV__) {\n _this2._loggingService.debug('Compressing the payload using CompressionStream API failed', error.message);\n }\n\n return params;\n }).then(function (result) {\n return _this2._makeHttpRequest('POST', endPoint, result);\n }).then(function (_ref) {\n var responseText = _ref.responseText;\n return responseText;\n });\n };\n\n _proto._constructError = function _constructError(reason) {\n var url = reason.url,\n status = reason.status,\n responseText = reason.responseText;\n\n if (typeof status == 'undefined') {\n return reason;\n }\n\n var message = url + ' HTTP status: ' + status;\n\n if (__DEV__ && responseText) {\n try {\n var serverErrors = [];\n var response = JSON.parse(responseText);\n\n if (response.errors && response.errors.length > 0) {\n response.errors.forEach(function (err) {\n return serverErrors.push(err.message);\n });\n message += ' ' + serverErrors.join(',');\n }\n } catch (e) {\n this._loggingService.debug('Error parsing response from APM server', e);\n }\n }\n\n return new Error(message);\n };\n\n _proto._makeHttpRequest = function _makeHttpRequest(method, url, _temp) {\n var _ref2 = _temp === void 0 ? {} : _temp,\n _ref2$timeout = _ref2.timeout,\n timeout = _ref2$timeout === void 0 ? HTTP_REQUEST_TIMEOUT : _ref2$timeout,\n payload = _ref2.payload,\n headers = _ref2.headers,\n beforeSend = _ref2.beforeSend;\n\n var sendCredentials = this._configService.get('sendCredentials');\n\n if (!beforeSend && shouldUseFetchWithKeepAlive(method, payload)) {\n return sendFetchRequest(method, url, {\n keepalive: true,\n timeout: timeout,\n payload: payload,\n headers: headers,\n sendCredentials: sendCredentials\n }).catch(function (reason) {\n if (reason instanceof TypeError) {\n return sendXHR(method, url, {\n timeout: timeout,\n payload: payload,\n headers: headers,\n beforeSend: beforeSend,\n sendCredentials: sendCredentials\n });\n }\n\n throw reason;\n });\n }\n\n return sendXHR(method, url, {\n timeout: timeout,\n payload: payload,\n headers: headers,\n beforeSend: beforeSend,\n sendCredentials: sendCredentials\n });\n };\n\n _proto.fetchConfig = function fetchConfig(serviceName, environment) {\n var _this3 = this;\n\n var _this$getEndpoints = this.getEndpoints(),\n configEndpoint = _this$getEndpoints.configEndpoint;\n\n if (!serviceName) {\n return Promise.reject('serviceName is required for fetching central config.');\n }\n\n configEndpoint += \"?service.name=\" + serviceName;\n\n if (environment) {\n configEndpoint += \"&service.environment=\" + environment;\n }\n\n var localConfig = this._configService.getLocalConfig();\n\n if (localConfig) {\n configEndpoint += \"&ifnonematch=\" + localConfig.etag;\n }\n\n var apmRequest = this._configService.get('apmRequest');\n\n return this._makeHttpRequest('GET', configEndpoint, {\n timeout: 5000,\n beforeSend: apmRequest\n }).then(function (xhr) {\n var status = xhr.status,\n responseText = xhr.responseText;\n\n if (status === 304) {\n return localConfig;\n } else {\n var remoteConfig = JSON.parse(responseText);\n var etag = xhr.getResponseHeader('etag');\n\n if (etag) {\n remoteConfig.etag = etag.replace(/[\"]/g, '');\n\n _this3._configService.setLocalConfig(remoteConfig, true);\n }\n\n return remoteConfig;\n }\n }).catch(function (reason) {\n var error = _this3._constructError(reason);\n\n return Promise.reject(error);\n });\n };\n\n _proto.createMetaData = function createMetaData() {\n var cfg = this._configService;\n var metadata = {\n service: {\n name: cfg.get('serviceName'),\n version: cfg.get('serviceVersion'),\n agent: {\n name: 'rum-js',\n version: cfg.version\n },\n language: {\n name: 'javascript'\n },\n environment: cfg.get('environment')\n },\n labels: cfg.get('context.tags')\n };\n return truncateModel(METADATA_MODEL, metadata);\n };\n\n _proto.addError = function addError(error) {\n var _this$throttleEvents;\n\n this.throttleEvents((_this$throttleEvents = {}, _this$throttleEvents[ERRORS] = error, _this$throttleEvents));\n };\n\n _proto.addTransaction = function addTransaction(transaction) {\n var _this$throttleEvents2;\n\n this.throttleEvents((_this$throttleEvents2 = {}, _this$throttleEvents2[TRANSACTIONS] = transaction, _this$throttleEvents2));\n };\n\n _proto.ndjsonErrors = function ndjsonErrors(errors, compress) {\n var key = compress ? 'e' : 'error';\n return errors.map(function (error) {\n var _NDJSON$stringify;\n\n return NDJSON.stringify((_NDJSON$stringify = {}, _NDJSON$stringify[key] = compress ? compressError(error) : error, _NDJSON$stringify));\n });\n };\n\n _proto.ndjsonMetricsets = function ndjsonMetricsets(metricsets) {\n return metricsets.map(function (metricset) {\n return NDJSON.stringify({\n metricset: metricset\n });\n }).join('');\n };\n\n _proto.ndjsonTransactions = function ndjsonTransactions(transactions, compress) {\n var _this4 = this;\n\n var key = compress ? 'x' : 'transaction';\n return transactions.map(function (tr) {\n var _NDJSON$stringify2;\n\n var spans = '',\n breakdowns = '';\n\n if (!compress) {\n if (tr.spans) {\n spans = tr.spans.map(function (span) {\n return NDJSON.stringify({\n span: span\n });\n }).join('');\n delete tr.spans;\n }\n\n if (tr.breakdown) {\n breakdowns = _this4.ndjsonMetricsets(tr.breakdown);\n delete tr.breakdown;\n }\n }\n\n return NDJSON.stringify((_NDJSON$stringify2 = {}, _NDJSON$stringify2[key] = compress ? compressTransaction(tr) : tr, _NDJSON$stringify2)) + spans + breakdowns;\n });\n };\n\n _proto.sendEvents = function sendEvents(events) {\n var _payload, _NDJSON$stringify3;\n\n if (events.length === 0) {\n return;\n }\n\n var transactions = [];\n var errors = [];\n\n for (var i = 0; i < events.length; i++) {\n var event = events[i];\n\n if (event[TRANSACTIONS]) {\n transactions.push(event[TRANSACTIONS]);\n }\n\n if (event[ERRORS]) {\n errors.push(event[ERRORS]);\n }\n }\n\n if (transactions.length === 0 && errors.length === 0) {\n return;\n }\n\n var cfg = this._configService;\n var payload = (_payload = {}, _payload[TRANSACTIONS] = transactions, _payload[ERRORS] = errors, _payload);\n var filteredPayload = cfg.applyFilters(payload);\n\n if (!filteredPayload) {\n this._loggingService.warn('Dropped payload due to filtering!');\n\n return;\n }\n\n var apiVersion = cfg.get('apiVersion');\n var compress = apiVersion > 2;\n var ndjson = [];\n var metadata = this.createMetaData();\n var metadataKey = compress ? 'm' : 'metadata';\n ndjson.push(NDJSON.stringify((_NDJSON$stringify3 = {}, _NDJSON$stringify3[metadataKey] = compress ? compressMetadata(metadata) : metadata, _NDJSON$stringify3)));\n ndjson = ndjson.concat(this.ndjsonErrors(filteredPayload[ERRORS], compress), this.ndjsonTransactions(filteredPayload[TRANSACTIONS], compress));\n var ndjsonPayload = ndjson.join('');\n\n var _this$getEndpoints2 = this.getEndpoints(),\n intakeEndpoint = _this$getEndpoints2.intakeEndpoint;\n\n return this._postJson(intakeEndpoint, ndjsonPayload);\n };\n\n _proto.getEndpoints = function getEndpoints() {\n var serverUrl = this._configService.get('serverUrl');\n\n var apiVersion = this._configService.get('apiVersion');\n\n var serverUrlPrefix = this._configService.get('serverUrlPrefix') || \"/intake/v\" + apiVersion + \"/rum/events\";\n var intakeEndpoint = serverUrl + serverUrlPrefix;\n var configEndpoint = serverUrl + \"/config/v1/rum/agents\";\n return {\n intakeEndpoint: intakeEndpoint,\n configEndpoint: configEndpoint\n };\n };\n\n return ApmServer;\n}();\n\nexport default ApmServer;","import { BEFORE_EVENT, AFTER_EVENT } from './constants';\n\nvar EventHandler = function () {\n function EventHandler() {\n this.observers = {};\n }\n\n var _proto = EventHandler.prototype;\n\n _proto.observe = function observe(name, fn) {\n var _this = this;\n\n if (typeof fn === 'function') {\n if (!this.observers[name]) {\n this.observers[name] = [];\n }\n\n this.observers[name].push(fn);\n return function () {\n var index = _this.observers[name].indexOf(fn);\n\n if (index > -1) {\n _this.observers[name].splice(index, 1);\n }\n };\n }\n };\n\n _proto.sendOnly = function sendOnly(name, args) {\n var obs = this.observers[name];\n\n if (obs) {\n obs.forEach(function (fn) {\n try {\n fn.apply(undefined, args);\n } catch (error) {\n console.log(error, error.stack);\n }\n });\n }\n };\n\n _proto.send = function send(name, args) {\n this.sendOnly(name + BEFORE_EVENT, args);\n this.sendOnly(name, args);\n this.sendOnly(name + AFTER_EVENT, args);\n };\n\n return EventHandler;\n}();\n\nexport default EventHandler;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getCurrentScript, setLabel, merge, extend, isUndefined } from './utils';\nimport EventHandler from './event-handler';\nimport { CONFIG_CHANGE, LOCAL_CONFIG_KEY } from './constants';\n\nfunction getConfigFromScript() {\n var script = getCurrentScript();\n var config = getDataAttributesFromNode(script);\n return config;\n}\n\nfunction getDataAttributesFromNode(node) {\n if (!node) {\n return {};\n }\n\n var dataAttrs = {};\n var dataRegex = /^data-([\\w-]+)$/;\n var attrs = node.attributes;\n\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n\n if (dataRegex.test(attr.nodeName)) {\n var key = attr.nodeName.match(dataRegex)[1];\n var camelCasedkey = key.split('-').map(function (value, index) {\n return index > 0 ? value.charAt(0).toUpperCase() + value.substring(1) : value;\n }).join('');\n dataAttrs[camelCasedkey] = attr.value || attr.nodeValue;\n }\n }\n\n return dataAttrs;\n}\n\nvar Config = function () {\n function Config() {\n this.config = {\n serviceName: '',\n serviceVersion: '',\n environment: '',\n serverUrl: 'http://localhost:8200',\n serverUrlPrefix: '',\n active: true,\n instrument: true,\n disableInstrumentations: [],\n logLevel: 'warn',\n breakdownMetrics: false,\n ignoreTransactions: [],\n eventsLimit: 80,\n queueLimit: -1,\n flushInterval: 500,\n distributedTracing: true,\n distributedTracingOrigins: [],\n distributedTracingHeaderName: 'traceparent',\n pageLoadTraceId: '',\n pageLoadSpanId: '',\n pageLoadSampled: false,\n pageLoadTransactionName: '',\n propagateTracestate: false,\n transactionSampleRate: 1.0,\n centralConfig: false,\n monitorLongtasks: true,\n apiVersion: 2,\n context: {},\n session: false,\n apmRequest: null,\n sendCredentials: false\n };\n this.events = new EventHandler();\n this.filters = [];\n this.version = '';\n }\n\n var _proto = Config.prototype;\n\n _proto.init = function init() {\n var scriptData = getConfigFromScript();\n this.setConfig(scriptData);\n };\n\n _proto.setVersion = function setVersion(version) {\n this.version = version;\n };\n\n _proto.addFilter = function addFilter(cb) {\n if (typeof cb !== 'function') {\n throw new Error('Argument to must be function');\n }\n\n this.filters.push(cb);\n };\n\n _proto.applyFilters = function applyFilters(data) {\n for (var i = 0; i < this.filters.length; i++) {\n data = this.filters[i](data);\n\n if (!data) {\n return;\n }\n }\n\n return data;\n };\n\n _proto.get = function get(key) {\n return key.split('.').reduce(function (obj, objKey) {\n return obj && obj[objKey];\n }, this.config);\n };\n\n _proto.setUserContext = function setUserContext(userContext) {\n if (userContext === void 0) {\n userContext = {};\n }\n\n var context = {};\n var _userContext = userContext,\n id = _userContext.id,\n username = _userContext.username,\n email = _userContext.email;\n\n if (typeof id === 'number' || typeof id === 'string') {\n context.id = id;\n }\n\n if (typeof username === 'string') {\n context.username = username;\n }\n\n if (typeof email === 'string') {\n context.email = email;\n }\n\n this.config.context.user = extend(this.config.context.user || {}, context);\n };\n\n _proto.setCustomContext = function setCustomContext(customContext) {\n if (customContext === void 0) {\n customContext = {};\n }\n\n this.config.context.custom = extend(this.config.context.custom || {}, customContext);\n };\n\n _proto.addLabels = function addLabels(tags) {\n var _this = this;\n\n if (!this.config.context.tags) {\n this.config.context.tags = {};\n }\n\n var keys = Object.keys(tags);\n keys.forEach(function (k) {\n return setLabel(k, tags[k], _this.config.context.tags);\n });\n };\n\n _proto.setConfig = function setConfig(properties) {\n if (properties === void 0) {\n properties = {};\n }\n\n var _properties = properties,\n transactionSampleRate = _properties.transactionSampleRate,\n serverUrl = _properties.serverUrl;\n\n if (serverUrl) {\n properties.serverUrl = serverUrl.replace(/\\/+$/, '');\n }\n\n if (!isUndefined(transactionSampleRate)) {\n if (transactionSampleRate < 0.0001 && transactionSampleRate > 0) {\n transactionSampleRate = 0.0001;\n }\n\n properties.transactionSampleRate = Math.round(transactionSampleRate * 10000) / 10000;\n }\n\n merge(this.config, properties);\n this.events.send(CONFIG_CHANGE, [this.config]);\n };\n\n _proto.validate = function validate(properties) {\n if (properties === void 0) {\n properties = {};\n }\n\n var requiredKeys = ['serviceName', 'serverUrl'];\n var allKeys = Object.keys(this.config);\n var errors = {\n missing: [],\n invalid: [],\n unknown: []\n };\n Object.keys(properties).forEach(function (key) {\n if (requiredKeys.indexOf(key) !== -1 && !properties[key]) {\n errors.missing.push(key);\n }\n\n if (allKeys.indexOf(key) === -1) {\n errors.unknown.push(key);\n }\n });\n\n if (properties.serviceName && !/^[a-zA-Z0-9 _-]+$/.test(properties.serviceName)) {\n errors.invalid.push({\n key: 'serviceName',\n value: properties.serviceName,\n allowed: 'a-z, A-Z, 0-9, _, -, '\n });\n }\n\n var sampleRate = properties.transactionSampleRate;\n\n if (typeof sampleRate !== 'undefined' && (typeof sampleRate !== 'number' || isNaN(sampleRate) || sampleRate < 0 || sampleRate > 1)) {\n errors.invalid.push({\n key: 'transactionSampleRate',\n value: sampleRate,\n allowed: 'Number between 0 and 1'\n });\n }\n\n return errors;\n };\n\n _proto.getLocalConfig = function getLocalConfig() {\n var storage = sessionStorage;\n\n if (this.config.session) {\n storage = localStorage;\n }\n\n var config = storage.getItem(LOCAL_CONFIG_KEY);\n\n if (config) {\n return JSON.parse(config);\n }\n };\n\n _proto.setLocalConfig = function setLocalConfig(config, merge) {\n if (config) {\n if (merge) {\n var prevConfig = this.getLocalConfig();\n config = _extends({}, prevConfig, config);\n }\n\n var storage = sessionStorage;\n\n if (this.config.session) {\n storage = localStorage;\n }\n\n storage.setItem(LOCAL_CONFIG_KEY, JSON.stringify(config));\n }\n };\n\n _proto.dispatchEvent = function dispatchEvent(name, args) {\n this.events.send(name, args);\n };\n\n _proto.observeEvent = function observeEvent(name, fn) {\n return this.events.observe(name, fn);\n };\n\n return Config;\n}();\n\nexport default Config;","import { noop } from './utils';\n\nvar LoggingService = function () {\n function LoggingService(spec) {\n if (spec === void 0) {\n spec = {};\n }\n\n this.levels = ['trace', 'debug', 'info', 'warn', 'error'];\n this.level = spec.level || 'warn';\n this.prefix = spec.prefix || '';\n this.resetLogMethods();\n }\n\n var _proto = LoggingService.prototype;\n\n _proto.shouldLog = function shouldLog(level) {\n return this.levels.indexOf(level) >= this.levels.indexOf(this.level);\n };\n\n _proto.setLevel = function setLevel(level) {\n if (level === this.level) {\n return;\n }\n\n this.level = level;\n this.resetLogMethods();\n };\n\n _proto.resetLogMethods = function resetLogMethods() {\n var _this = this;\n\n this.levels.forEach(function (level) {\n _this[level] = _this.shouldLog(level) ? log : noop;\n\n function log() {\n var normalizedLevel = level;\n\n if (level === 'trace' || level === 'debug') {\n normalizedLevel = 'info';\n }\n\n var args = arguments;\n args[0] = this.prefix + args[0];\n\n if (console) {\n var realMethod = console[normalizedLevel] || console.log;\n\n if (typeof realMethod === 'function') {\n realMethod.apply(console, args);\n }\n }\n }\n });\n };\n\n return LoggingService;\n}();\n\nexport default LoggingService;","var _serviceCreators;\n\nimport ApmServer from './apm-server';\nimport ConfigService from './config-service';\nimport LoggingService from './logging-service';\nimport { CONFIG_CHANGE, CONFIG_SERVICE, LOGGING_SERVICE, APM_SERVER } from './constants';\nimport { __DEV__ } from '../state';\nvar serviceCreators = (_serviceCreators = {}, _serviceCreators[CONFIG_SERVICE] = function () {\n return new ConfigService();\n}, _serviceCreators[LOGGING_SERVICE] = function () {\n return new LoggingService({\n prefix: '[Elastic APM] '\n });\n}, _serviceCreators[APM_SERVER] = function (factory) {\n var _factory$getService = factory.getService([CONFIG_SERVICE, LOGGING_SERVICE]),\n configService = _factory$getService[0],\n loggingService = _factory$getService[1];\n\n return new ApmServer(configService, loggingService);\n}, _serviceCreators);\n\nvar ServiceFactory = function () {\n function ServiceFactory() {\n this.instances = {};\n this.initialized = false;\n }\n\n var _proto = ServiceFactory.prototype;\n\n _proto.init = function init() {\n if (this.initialized) {\n return;\n }\n\n this.initialized = true;\n var configService = this.getService(CONFIG_SERVICE);\n configService.init();\n\n var _this$getService = this.getService([LOGGING_SERVICE, APM_SERVER]),\n loggingService = _this$getService[0],\n apmServer = _this$getService[1];\n\n configService.events.observe(CONFIG_CHANGE, function () {\n var logLevel = configService.get('logLevel');\n loggingService.setLevel(logLevel);\n });\n apmServer.init();\n };\n\n _proto.getService = function getService(name) {\n var _this = this;\n\n if (typeof name === 'string') {\n if (!this.instances[name]) {\n if (typeof serviceCreators[name] === 'function') {\n this.instances[name] = serviceCreators[name](this);\n } else if (__DEV__) {\n console.log('Cannot get service, No creator for: ' + name);\n }\n }\n\n return this.instances[name];\n } else if (Array.isArray(name)) {\n return name.map(function (n) {\n return _this.getService(n);\n });\n }\n };\n\n return ServiceFactory;\n}();\n\nexport { serviceCreators, ServiceFactory };","import ErrorLogging from './error-logging';\nimport { CONFIG_SERVICE, TRANSACTION_SERVICE, ERROR_LOGGING, APM_SERVER } from '../common/constants';\nimport { serviceCreators } from '../common/service-factory';\n\nfunction registerServices() {\n serviceCreators[ERROR_LOGGING] = function (serviceFactory) {\n var _serviceFactory$getSe = serviceFactory.getService([APM_SERVER, CONFIG_SERVICE, TRANSACTION_SERVICE]),\n apmServer = _serviceFactory$getSe[0],\n configService = _serviceFactory$getSe[1],\n transactionService = _serviceFactory$getSe[2];\n\n return new ErrorLogging(apmServer, configService, transactionService);\n };\n}\n\nexport { registerServices };","import { patchMethod, XHR_SYNC, XHR_URL, XHR_METHOD, XHR_IGNORE } from './patch-utils';\nimport { SCHEDULE, INVOKE, XMLHTTPREQUEST, ADD_EVENT_LISTENER_STR } from '../constants';\nexport function patchXMLHttpRequest(callback) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n\n if (!XMLHttpRequestPrototype || !XMLHttpRequestPrototype[ADD_EVENT_LISTENER_STR]) {\n return;\n }\n\n var READY_STATE_CHANGE = 'readystatechange';\n var LOAD = 'load';\n var ERROR = 'error';\n var TIMEOUT = 'timeout';\n var ABORT = 'abort';\n\n function invokeTask(task, status) {\n if (task.state !== INVOKE) {\n task.state = INVOKE;\n task.data.status = status;\n callback(INVOKE, task);\n }\n }\n\n function scheduleTask(task) {\n if (task.state === SCHEDULE) {\n return;\n }\n\n task.state = SCHEDULE;\n callback(SCHEDULE, task);\n var target = task.data.target;\n\n function addListener(name) {\n target[ADD_EVENT_LISTENER_STR](name, function (_ref) {\n var type = _ref.type;\n\n if (type === READY_STATE_CHANGE) {\n if (target.readyState === 4 && target.status !== 0) {\n invokeTask(task, 'success');\n }\n } else {\n var status = type === LOAD ? 'success' : type;\n invokeTask(task, status);\n }\n });\n }\n\n addListener(READY_STATE_CHANGE);\n addListener(LOAD);\n addListener(TIMEOUT);\n addListener(ERROR);\n addListener(ABORT);\n }\n\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () {\n return function (self, args) {\n if (!self[XHR_IGNORE]) {\n self[XHR_METHOD] = args[0];\n self[XHR_URL] = args[1];\n self[XHR_SYNC] = args[2] === false;\n }\n\n return openNative.apply(self, args);\n };\n });\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () {\n return function (self, args) {\n if (self[XHR_IGNORE]) {\n return sendNative.apply(self, args);\n }\n\n var task = {\n source: XMLHTTPREQUEST,\n state: '',\n type: 'macroTask',\n data: {\n target: self,\n method: self[XHR_METHOD],\n sync: self[XHR_SYNC],\n url: self[XHR_URL],\n status: ''\n }\n };\n\n try {\n scheduleTask(task);\n return sendNative.apply(self, args);\n } catch (e) {\n invokeTask(task, ERROR);\n throw e;\n }\n };\n });\n}","import { Promise } from '../polyfills';\nimport { globalState } from './patch-utils';\nimport { SCHEDULE, INVOKE, FETCH } from '../constants';\nimport { scheduleMicroTask } from '../utils';\nimport { isFetchSupported } from '../http/fetch';\nexport function patchFetch(callback) {\n if (!isFetchSupported()) {\n return;\n }\n\n function scheduleTask(task) {\n task.state = SCHEDULE;\n callback(SCHEDULE, task);\n }\n\n function invokeTask(task) {\n task.state = INVOKE;\n callback(INVOKE, task);\n }\n\n function handleResponseError(task, error) {\n task.data.aborted = isAbortError(error);\n task.data.error = error;\n invokeTask(task);\n }\n\n function readStream(stream, task) {\n var reader = stream.getReader();\n\n var read = function read() {\n reader.read().then(function (_ref) {\n var done = _ref.done;\n\n if (done) {\n invokeTask(task);\n } else {\n read();\n }\n }, function (error) {\n handleResponseError(task, error);\n });\n };\n\n read();\n }\n\n var nativeFetch = window.fetch;\n\n window.fetch = function (input, init) {\n var fetchSelf = this;\n var args = arguments;\n var request, url;\n var isURL = input instanceof URL;\n\n if (typeof input === 'string' || isURL) {\n request = new Request(input, init);\n\n if (isURL) {\n url = request.url;\n } else {\n url = input;\n }\n } else if (input) {\n request = input;\n url = request.url;\n } else {\n return nativeFetch.apply(fetchSelf, args);\n }\n\n var task = {\n source: FETCH,\n state: '',\n type: 'macroTask',\n data: {\n target: request,\n method: request.method,\n url: url,\n aborted: false\n }\n };\n return new Promise(function (resolve, reject) {\n globalState.fetchInProgress = true;\n scheduleTask(task);\n var promise;\n\n try {\n promise = nativeFetch.apply(fetchSelf, [request]);\n } catch (error) {\n reject(error);\n task.data.error = error;\n invokeTask(task);\n globalState.fetchInProgress = false;\n return;\n }\n\n promise.then(function (response) {\n var clonedResponse = response.clone ? response.clone() : {};\n resolve(response);\n scheduleMicroTask(function () {\n task.data.response = response;\n var body = clonedResponse.body;\n\n if (body) {\n readStream(body, task);\n } else {\n invokeTask(task);\n }\n });\n }, function (error) {\n reject(error);\n scheduleMicroTask(function () {\n handleResponseError(task, error);\n });\n });\n globalState.fetchInProgress = false;\n });\n };\n}\n\nfunction isAbortError(error) {\n return error && error.name === 'AbortError';\n}","import { INVOKE, HISTORY } from '../constants';\nexport function patchHistory(callback) {\n if (!window.history) {\n return;\n }\n\n var nativePushState = history.pushState;\n\n if (typeof nativePushState === 'function') {\n history.pushState = function (state, title, url) {\n var task = {\n source: HISTORY,\n data: {\n state: state,\n title: title,\n url: url\n }\n };\n callback(INVOKE, task);\n nativePushState.apply(this, arguments);\n };\n }\n}","import { patchXMLHttpRequest } from './xhr-patch';\nimport { patchFetch } from './fetch-patch';\nimport { patchHistory } from './history-patch';\nimport EventHandler from '../event-handler';\nimport { HISTORY, FETCH, XMLHTTPREQUEST } from '../constants';\nvar patchEventHandler = new EventHandler();\nvar alreadyPatched = false;\n\nfunction patchAll() {\n if (!alreadyPatched) {\n alreadyPatched = true;\n patchXMLHttpRequest(function (event, task) {\n patchEventHandler.send(XMLHTTPREQUEST, [event, task]);\n });\n patchFetch(function (event, task) {\n patchEventHandler.send(FETCH, [event, task]);\n });\n patchHistory(function (event, task) {\n patchEventHandler.send(HISTORY, [event, task]);\n });\n }\n\n return patchEventHandler;\n}\n\nexport { patchAll, patchEventHandler };","import { checkSameOrigin, isDtHeaderValid, parseDtHeaderValue, getDtHeaderValue, getTSHeaderValue, stripQueryStringFromUrl, setRequestHeader } from '../common/utils';\nimport { Url } from '../common/url';\nimport { patchEventHandler } from '../common/patching';\nimport { globalState } from '../common/patching/patch-utils';\nimport { SCHEDULE, INVOKE, TRANSACTION_END, AFTER_EVENT, FETCH, HISTORY, XMLHTTPREQUEST, HTTP_REQUEST_TYPE, OUTCOME_FAILURE, OUTCOME_SUCCESS, OUTCOME_UNKNOWN, QUEUE_ADD_TRANSACTION, TRANSACTION_IGNORE } from '../common/constants';\nimport { truncateModel, SPAN_MODEL, TRANSACTION_MODEL } from '../common/truncate';\nimport { __DEV__ } from '../state';\nvar SIMILAR_SPAN_TO_TRANSACTION_RATIO = 0.05;\nvar TRANSACTION_DURATION_THRESHOLD = 60000;\nexport function groupSmallContinuouslySimilarSpans(originalSpans, transDuration, threshold) {\n originalSpans.sort(function (spanA, spanB) {\n return spanA._start - spanB._start;\n });\n var spans = [];\n var lastCount = 1;\n originalSpans.forEach(function (span, index) {\n if (spans.length === 0) {\n spans.push(span);\n } else {\n var lastSpan = spans[spans.length - 1];\n var isContinuouslySimilar = lastSpan.type === span.type && lastSpan.subtype === span.subtype && lastSpan.action === span.action && lastSpan.name === span.name && span.duration() / transDuration < threshold && (span._start - lastSpan._end) / transDuration < threshold;\n var isLastSpan = originalSpans.length === index + 1;\n\n if (isContinuouslySimilar) {\n lastCount++;\n lastSpan._end = span._end;\n }\n\n if (lastCount > 1 && (!isContinuouslySimilar || isLastSpan)) {\n lastSpan.name = lastCount + 'x ' + lastSpan.name;\n lastCount = 1;\n }\n\n if (!isContinuouslySimilar) {\n spans.push(span);\n }\n }\n });\n return spans;\n}\nexport function adjustTransaction(transaction) {\n if (transaction.sampled) {\n var filterdSpans = transaction.spans.filter(function (span) {\n return span.duration() > 0 && span._start >= transaction._start && span._end <= transaction._end;\n });\n\n if (transaction.isManaged()) {\n var duration = transaction.duration();\n var similarSpans = groupSmallContinuouslySimilarSpans(filterdSpans, duration, SIMILAR_SPAN_TO_TRANSACTION_RATIO);\n transaction.spans = similarSpans;\n } else {\n transaction.spans = filterdSpans;\n }\n } else {\n transaction.resetFields();\n }\n\n return transaction;\n}\n\nvar PerformanceMonitoring = function () {\n function PerformanceMonitoring(apmServer, configService, loggingService, transactionService) {\n this._apmServer = apmServer;\n this._configService = configService;\n this._logginService = loggingService;\n this._transactionService = transactionService;\n }\n\n var _proto = PerformanceMonitoring.prototype;\n\n _proto.init = function init(flags) {\n var _this = this;\n\n if (flags === void 0) {\n flags = {};\n }\n\n this._configService.events.observe(TRANSACTION_END + AFTER_EVENT, function (tr) {\n var payload = _this.createTransactionPayload(tr);\n\n if (payload) {\n _this._apmServer.addTransaction(payload);\n\n _this._configService.dispatchEvent(QUEUE_ADD_TRANSACTION);\n }\n });\n\n if (flags[HISTORY]) {\n patchEventHandler.observe(HISTORY, this.getHistorySub());\n }\n\n if (flags[XMLHTTPREQUEST]) {\n patchEventHandler.observe(XMLHTTPREQUEST, this.getXHRSub());\n }\n\n if (flags[FETCH]) {\n patchEventHandler.observe(FETCH, this.getFetchSub());\n }\n };\n\n _proto.getHistorySub = function getHistorySub() {\n var transactionService = this._transactionService;\n return function (event, task) {\n if (task.source === HISTORY && event === INVOKE) {\n transactionService.startTransaction(task.data.title, 'route-change', {\n managed: true,\n canReuse: true\n });\n }\n };\n };\n\n _proto.getXHRSub = function getXHRSub() {\n var _this2 = this;\n\n return function (event, task) {\n if (task.source === XMLHTTPREQUEST && !globalState.fetchInProgress) {\n _this2.processAPICalls(event, task);\n }\n };\n };\n\n _proto.getFetchSub = function getFetchSub() {\n var _this3 = this;\n\n return function (event, task) {\n if (task.source === FETCH) {\n _this3.processAPICalls(event, task);\n }\n };\n };\n\n _proto.processAPICalls = function processAPICalls(event, task) {\n var configService = this._configService;\n var transactionService = this._transactionService;\n\n if (task.data && task.data.url) {\n var endpoints = this._apmServer.getEndpoints();\n\n var isOwnEndpoint = Object.keys(endpoints).some(function (endpoint) {\n return task.data.url.indexOf(endpoints[endpoint]) !== -1;\n });\n\n if (isOwnEndpoint) {\n return;\n }\n }\n\n if (event === SCHEDULE && task.data) {\n var data = task.data;\n var requestUrl = new Url(data.url);\n var spanName = data.method + ' ' + (requestUrl.relative ? requestUrl.path : stripQueryStringFromUrl(requestUrl.href));\n\n if (!transactionService.getCurrentTransaction()) {\n transactionService.startTransaction(spanName, HTTP_REQUEST_TYPE, {\n managed: true\n });\n }\n\n var span = transactionService.startSpan(spanName, 'external.http', {\n blocking: true\n });\n\n if (!span) {\n return;\n }\n\n var isDtEnabled = configService.get('distributedTracing');\n var dtOrigins = configService.get('distributedTracingOrigins');\n var currentUrl = new Url(window.location.href);\n var isSameOrigin = checkSameOrigin(requestUrl.origin, currentUrl.origin) || checkSameOrigin(requestUrl.origin, dtOrigins);\n var target = data.target;\n\n if (isDtEnabled && isSameOrigin && target) {\n this.injectDtHeader(span, target);\n var propagateTracestate = configService.get('propagateTracestate');\n\n if (propagateTracestate) {\n this.injectTSHeader(span, target);\n }\n } else if (__DEV__) {\n this._logginService.debug(\"Could not inject distributed tracing header to the request origin ('\" + requestUrl.origin + \"') from the current origin ('\" + currentUrl.origin + \"')\");\n }\n\n if (data.sync) {\n span.sync = data.sync;\n }\n\n data.span = span;\n } else if (event === INVOKE) {\n var _data = task.data;\n\n if (_data && _data.span) {\n var _span = _data.span,\n response = _data.response,\n _target = _data.target;\n var status;\n\n if (response) {\n status = response.status;\n } else {\n status = _target.status;\n }\n\n var outcome;\n\n if (_data.status != 'abort' && !_data.aborted) {\n if (status >= 400 || status == 0) {\n outcome = OUTCOME_FAILURE;\n } else {\n outcome = OUTCOME_SUCCESS;\n }\n } else {\n outcome = OUTCOME_UNKNOWN;\n }\n\n _span.outcome = outcome;\n var tr = transactionService.getCurrentTransaction();\n\n if (tr && tr.type === HTTP_REQUEST_TYPE) {\n tr.outcome = outcome;\n }\n\n transactionService.endSpan(_span, _data);\n }\n }\n };\n\n _proto.injectDtHeader = function injectDtHeader(span, target) {\n var headerName = this._configService.get('distributedTracingHeaderName');\n\n var headerValue = getDtHeaderValue(span);\n var isHeaderValid = isDtHeaderValid(headerValue);\n\n if (isHeaderValid && headerValue && headerName) {\n setRequestHeader(target, headerName, headerValue);\n }\n };\n\n _proto.injectTSHeader = function injectTSHeader(span, target) {\n var headerValue = getTSHeaderValue(span);\n\n if (headerValue) {\n setRequestHeader(target, 'tracestate', headerValue);\n }\n };\n\n _proto.extractDtHeader = function extractDtHeader(target) {\n var configService = this._configService;\n var headerName = configService.get('distributedTracingHeaderName');\n\n if (target) {\n return parseDtHeaderValue(target[headerName]);\n }\n };\n\n _proto.filterTransaction = function filterTransaction(tr) {\n var duration = tr.duration();\n\n if (!duration) {\n if (__DEV__) {\n var message = \"transaction(\" + tr.id + \", \" + tr.name + \") was discarded! \";\n\n if (duration === 0) {\n message += \"Transaction duration is 0\";\n } else {\n message += \"Transaction wasn't ended\";\n }\n\n this._logginService.debug(message);\n }\n\n return false;\n }\n\n if (tr.isManaged()) {\n if (duration > TRANSACTION_DURATION_THRESHOLD) {\n if (__DEV__) {\n this._logginService.debug(\"transaction(\" + tr.id + \", \" + tr.name + \") was discarded! Transaction duration (\" + duration + \") is greater than managed transaction threshold (\" + TRANSACTION_DURATION_THRESHOLD + \")\");\n }\n\n return false;\n }\n\n if (tr.sampled && tr.spans.length === 0) {\n if (__DEV__) {\n this._logginService.debug(\"transaction(\" + tr.id + \", \" + tr.name + \") was discarded! Transaction does not have any spans\");\n }\n\n return false;\n }\n }\n\n return true;\n };\n\n _proto.createTransactionDataModel = function createTransactionDataModel(transaction) {\n var transactionStart = transaction._start;\n var spans = transaction.spans.map(function (span) {\n var spanData = {\n id: span.id,\n transaction_id: transaction.id,\n parent_id: span.parentId || transaction.id,\n trace_id: transaction.traceId,\n name: span.name,\n type: span.type,\n subtype: span.subtype,\n action: span.action,\n sync: span.sync,\n start: parseInt(span._start - transactionStart),\n duration: span.duration(),\n context: span.context,\n outcome: span.outcome,\n sample_rate: span.sampleRate\n };\n return truncateModel(SPAN_MODEL, spanData);\n });\n var transactionData = {\n id: transaction.id,\n trace_id: transaction.traceId,\n session: transaction.session,\n name: transaction.name,\n type: transaction.type,\n duration: transaction.duration(),\n spans: spans,\n context: transaction.context,\n marks: transaction.marks,\n breakdown: transaction.breakdownTimings,\n span_count: {\n started: spans.length\n },\n sampled: transaction.sampled,\n sample_rate: transaction.sampleRate,\n experience: transaction.experience,\n outcome: transaction.outcome\n };\n return truncateModel(TRANSACTION_MODEL, transactionData);\n };\n\n _proto.createTransactionPayload = function createTransactionPayload(transaction) {\n var adjustedTransaction = adjustTransaction(transaction);\n var filtered = this.filterTransaction(adjustedTransaction);\n\n if (filtered) {\n return this.createTransactionDataModel(transaction);\n }\n\n this._configService.dispatchEvent(TRANSACTION_IGNORE);\n };\n\n return PerformanceMonitoring;\n}();\n\nexport { PerformanceMonitoring as default };","import { generateRandomId, setLabel, merge, getDuration, getTime } from '../common/utils';\nimport { NAME_UNKNOWN, TYPE_CUSTOM } from '../common/constants';\n\nvar SpanBase = function () {\n function SpanBase(name, type, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!name) {\n name = NAME_UNKNOWN;\n }\n\n if (!type) {\n type = TYPE_CUSTOM;\n }\n\n this.name = name;\n this.type = type;\n this.options = options;\n this.id = options.id || generateRandomId(16);\n this.traceId = options.traceId;\n this.sampled = options.sampled;\n this.sampleRate = options.sampleRate;\n this.timestamp = options.timestamp;\n this._start = getTime(options.startTime);\n this._end = undefined;\n this.ended = false;\n this.outcome = undefined;\n this.onEnd = options.onEnd;\n }\n\n var _proto = SpanBase.prototype;\n\n _proto.ensureContext = function ensureContext() {\n if (!this.context) {\n this.context = {};\n }\n };\n\n _proto.addLabels = function addLabels(tags) {\n this.ensureContext();\n var ctx = this.context;\n\n if (!ctx.tags) {\n ctx.tags = {};\n }\n\n var keys = Object.keys(tags);\n keys.forEach(function (k) {\n return setLabel(k, tags[k], ctx.tags);\n });\n };\n\n _proto.addContext = function addContext() {\n for (var _len = arguments.length, context = new Array(_len), _key = 0; _key < _len; _key++) {\n context[_key] = arguments[_key];\n }\n\n if (context.length === 0) return;\n this.ensureContext();\n merge.apply(void 0, [this.context].concat(context));\n };\n\n _proto.end = function end(endTime) {\n if (this.ended) {\n return;\n }\n\n this.ended = true;\n this._end = getTime(endTime);\n this.callOnEnd();\n };\n\n _proto.callOnEnd = function callOnEnd() {\n if (typeof this.onEnd === 'function') {\n this.onEnd(this);\n }\n };\n\n _proto.duration = function duration() {\n return getDuration(this._start, this._end);\n };\n\n return SpanBase;\n}();\n\nexport default SpanBase;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport SpanBase from './span-base';\nimport { addSpanContext } from '../common/context';\n\nvar Span = function (_SpanBase) {\n _inheritsLoose(Span, _SpanBase);\n\n function Span(name, type, options) {\n var _this;\n\n _this = _SpanBase.call(this, name, type, options) || this;\n _this.parentId = _this.options.parentId;\n _this.subtype = undefined;\n _this.action = undefined;\n\n if (_this.type.indexOf('.') !== -1) {\n var fields = _this.type.split('.', 3);\n\n _this.type = fields[0];\n _this.subtype = fields[1];\n _this.action = fields[2];\n }\n\n _this.sync = _this.options.sync;\n return _this;\n }\n\n var _proto = Span.prototype;\n\n _proto.end = function end(endTime, data) {\n _SpanBase.prototype.end.call(this, endTime);\n\n addSpanContext(this, data);\n };\n\n return Span;\n}(SpanBase);\n\nexport default Span;","import { getDuration, PERF } from '../common/utils';\nimport { PAGE_LOAD, TRUNCATED_TYPE } from '../common/constants';\nvar pageLoadBreakdowns = [['domainLookupStart', 'domainLookupEnd', 'DNS'], ['connectStart', 'connectEnd', 'TCP'], ['requestStart', 'responseStart', 'Request'], ['responseStart', 'responseEnd', 'Response'], ['domLoading', 'domComplete', 'Processing'], ['loadEventStart', 'loadEventEnd', 'Load']];\n\nfunction getValue(value) {\n return {\n value: value\n };\n}\n\nfunction calculateSelfTime(transaction) {\n var spans = transaction.spans,\n _start = transaction._start,\n _end = transaction._end;\n\n if (spans.length === 0) {\n return transaction.duration();\n }\n\n spans.sort(function (span1, span2) {\n return span1._start - span2._start;\n });\n var span = spans[0];\n var spanEnd = span._end;\n var spanStart = span._start;\n var lastContinuousEnd = spanEnd;\n var selfTime = spanStart - _start;\n\n for (var i = 1; i < spans.length; i++) {\n span = spans[i];\n spanStart = span._start;\n spanEnd = span._end;\n\n if (spanStart > lastContinuousEnd) {\n selfTime += spanStart - lastContinuousEnd;\n lastContinuousEnd = spanEnd;\n } else if (spanEnd > lastContinuousEnd) {\n lastContinuousEnd = spanEnd;\n }\n }\n\n if (lastContinuousEnd < _end) {\n selfTime += _end - lastContinuousEnd;\n }\n\n return selfTime;\n}\n\nfunction groupSpans(transaction) {\n var spanMap = {};\n var transactionSelfTime = calculateSelfTime(transaction);\n spanMap['app'] = {\n count: 1,\n duration: transactionSelfTime\n };\n var spans = transaction.spans;\n\n for (var i = 0; i < spans.length; i++) {\n var span = spans[i];\n var duration = span.duration();\n\n if (duration === 0 || duration == null) {\n continue;\n }\n\n var type = span.type,\n subtype = span.subtype;\n var key = type.replace(TRUNCATED_TYPE, '');\n\n if (subtype) {\n key += '.' + subtype;\n }\n\n if (!spanMap[key]) {\n spanMap[key] = {\n duration: 0,\n count: 0\n };\n }\n\n spanMap[key].count++;\n spanMap[key].duration += duration;\n }\n\n return spanMap;\n}\n\nfunction getSpanBreakdown(transactionDetails, _ref) {\n var details = _ref.details,\n _ref$count = _ref.count,\n count = _ref$count === void 0 ? 1 : _ref$count,\n duration = _ref.duration;\n return {\n transaction: transactionDetails,\n span: details,\n samples: {\n 'span.self_time.count': getValue(count),\n 'span.self_time.sum.us': getValue(duration * 1000)\n }\n };\n}\n\nexport function captureBreakdown(transaction, timings) {\n if (timings === void 0) {\n timings = PERF.timing;\n }\n\n var breakdowns = [];\n var name = transaction.name,\n type = transaction.type,\n sampled = transaction.sampled;\n var transactionDetails = {\n name: name,\n type: type\n };\n\n if (!sampled) {\n return breakdowns;\n }\n\n if (type === PAGE_LOAD && timings) {\n for (var i = 0; i < pageLoadBreakdowns.length; i++) {\n var current = pageLoadBreakdowns[i];\n var start = timings[current[0]];\n var end = timings[current[1]];\n var duration = getDuration(start, end);\n\n if (duration === 0 || duration == null) {\n continue;\n }\n\n breakdowns.push(getSpanBreakdown(transactionDetails, {\n details: {\n type: current[2]\n },\n duration: duration\n }));\n }\n } else {\n var spanMap = groupSpans(transaction);\n Object.keys(spanMap).forEach(function (key) {\n var _key$split = key.split('.'),\n type = _key$split[0],\n subtype = _key$split[1];\n\n var _spanMap$key = spanMap[key],\n duration = _spanMap$key.duration,\n count = _spanMap$key.count;\n breakdowns.push(getSpanBreakdown(transactionDetails, {\n details: {\n type: type,\n subtype: subtype\n },\n duration: duration,\n count: count\n }));\n });\n }\n\n return breakdowns;\n}","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport Span from './span';\nimport SpanBase from './span-base';\nimport { generateRandomId, merge, now, getTime, extend, removeInvalidChars } from '../common/utils';\nimport { REUSABILITY_THRESHOLD, TRUNCATED_TYPE } from '../common/constants';\nimport { captureBreakdown as _captureBreakdown } from './breakdown';\n\nvar Transaction = function (_SpanBase) {\n _inheritsLoose(Transaction, _SpanBase);\n\n function Transaction(name, type, options) {\n var _this;\n\n _this = _SpanBase.call(this, name, type, options) || this;\n _this.traceId = generateRandomId();\n _this.marks = undefined;\n _this.spans = [];\n _this._activeSpans = {};\n _this._activeTasks = new Set();\n _this.blocked = false;\n _this.captureTimings = false;\n _this.breakdownTimings = [];\n _this.sampleRate = _this.options.transactionSampleRate;\n _this.sampled = Math.random() <= _this.sampleRate;\n return _this;\n }\n\n var _proto = Transaction.prototype;\n\n _proto.addMarks = function addMarks(obj) {\n this.marks = merge(this.marks || {}, obj);\n };\n\n _proto.mark = function mark(key) {\n var skey = removeInvalidChars(key);\n\n var markTime = now() - this._start;\n\n var custom = {};\n custom[skey] = markTime;\n this.addMarks({\n custom: custom\n });\n };\n\n _proto.canReuse = function canReuse() {\n var threshold = this.options.reuseThreshold || REUSABILITY_THRESHOLD;\n return !!this.options.canReuse && !this.ended && now() - this._start < threshold;\n };\n\n _proto.redefine = function redefine(name, type, options) {\n if (name) {\n this.name = name;\n }\n\n if (type) {\n this.type = type;\n }\n\n if (options) {\n this.options.reuseThreshold = options.reuseThreshold;\n extend(this.options, options);\n }\n };\n\n _proto.startSpan = function startSpan(name, type, options) {\n var _this2 = this;\n\n if (this.ended) {\n return;\n }\n\n var opts = extend({}, options);\n\n opts.onEnd = function (trc) {\n _this2._onSpanEnd(trc);\n };\n\n opts.traceId = this.traceId;\n opts.sampled = this.sampled;\n opts.sampleRate = this.sampleRate;\n\n if (!opts.parentId) {\n opts.parentId = this.id;\n }\n\n var span = new Span(name, type, opts);\n this._activeSpans[span.id] = span;\n\n if (opts.blocking) {\n this.addTask(span.id);\n }\n\n return span;\n };\n\n _proto.isFinished = function isFinished() {\n return !this.blocked && this._activeTasks.size === 0;\n };\n\n _proto.detectFinish = function detectFinish() {\n if (this.isFinished()) this.end();\n };\n\n _proto.end = function end(endTime) {\n if (this.ended) {\n return;\n }\n\n this.ended = true;\n this._end = getTime(endTime);\n\n for (var sid in this._activeSpans) {\n var span = this._activeSpans[sid];\n span.type = span.type + TRUNCATED_TYPE;\n span.end(endTime);\n }\n\n this.callOnEnd();\n };\n\n _proto.captureBreakdown = function captureBreakdown() {\n this.breakdownTimings = _captureBreakdown(this);\n };\n\n _proto.block = function block(flag) {\n this.blocked = flag;\n\n if (!this.blocked) {\n this.detectFinish();\n }\n };\n\n _proto.addTask = function addTask(taskId) {\n if (!taskId) {\n taskId = 'task-' + generateRandomId(16);\n }\n\n this._activeTasks.add(taskId);\n\n return taskId;\n };\n\n _proto.removeTask = function removeTask(taskId) {\n var deleted = this._activeTasks.delete(taskId);\n\n deleted && this.detectFinish();\n };\n\n _proto.resetFields = function resetFields() {\n this.spans = [];\n this.sampleRate = 0;\n };\n\n _proto._onSpanEnd = function _onSpanEnd(span) {\n this.spans.push(span);\n delete this._activeSpans[span.id];\n this.removeTask(span.id);\n };\n\n _proto.isManaged = function isManaged() {\n return !!this.options.managed;\n };\n\n return Transaction;\n}(SpanBase);\n\nexport default Transaction;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { LONG_TASK, LARGEST_CONTENTFUL_PAINT, FIRST_CONTENTFUL_PAINT, FIRST_INPUT, LAYOUT_SHIFT } from '../../common/constants';\nimport { noop, PERF, isPerfTypeSupported, isRedirectInfoAvailable } from '../../common/utils';\nimport Span from '../span';\nexport var metrics = {\n fid: 0,\n fcp: 0,\n tbt: {\n start: Infinity,\n duration: 0\n },\n cls: {\n score: 0,\n firstEntryTime: Number.NEGATIVE_INFINITY,\n prevEntryTime: Number.NEGATIVE_INFINITY,\n currentSessionScore: 0\n },\n longtask: {\n count: 0,\n duration: 0,\n max: 0\n }\n};\nvar LONG_TASK_THRESHOLD = 50;\nexport function createLongTaskSpans(longtasks, agg) {\n var spans = [];\n\n for (var i = 0; i < longtasks.length; i++) {\n var _longtasks$i = longtasks[i],\n name = _longtasks$i.name,\n startTime = _longtasks$i.startTime,\n duration = _longtasks$i.duration,\n attribution = _longtasks$i.attribution;\n var end = startTime + duration;\n var span = new Span(\"Longtask(\" + name + \")\", LONG_TASK, {\n startTime: startTime\n });\n agg.count++;\n agg.duration += duration;\n agg.max = Math.max(duration, agg.max);\n\n if (attribution.length > 0) {\n var _attribution$ = attribution[0],\n _name = _attribution$.name,\n containerType = _attribution$.containerType,\n containerName = _attribution$.containerName,\n containerId = _attribution$.containerId;\n var customContext = {\n attribution: _name,\n type: containerType\n };\n\n if (containerName) {\n customContext.name = containerName;\n }\n\n if (containerId) {\n customContext.id = containerId;\n }\n\n span.addContext({\n custom: customContext\n });\n }\n\n span.end(end);\n spans.push(span);\n }\n\n return spans;\n}\nexport function createFirstInputDelaySpan(fidEntries) {\n var firstInput = fidEntries[0];\n\n if (firstInput) {\n var startTime = firstInput.startTime,\n processingStart = firstInput.processingStart;\n var span = new Span('First Input Delay', FIRST_INPUT, {\n startTime: startTime\n });\n span.end(processingStart);\n return span;\n }\n}\nexport function createTotalBlockingTimeSpan(tbtObject) {\n var start = tbtObject.start,\n duration = tbtObject.duration;\n var tbtSpan = new Span('Total Blocking Time', LONG_TASK, {\n startTime: start\n });\n tbtSpan.end(start + duration);\n return tbtSpan;\n}\nexport function calculateTotalBlockingTime(longtaskEntries) {\n longtaskEntries.forEach(function (entry) {\n var name = entry.name,\n startTime = entry.startTime,\n duration = entry.duration;\n\n if (startTime < metrics.fcp) {\n return;\n }\n\n if (name !== 'self' && name.indexOf('same-origin') === -1) {\n return;\n }\n\n metrics.tbt.start = Math.min(metrics.tbt.start, startTime);\n var blockingTime = duration - LONG_TASK_THRESHOLD;\n\n if (blockingTime > 0) {\n metrics.tbt.duration += blockingTime;\n }\n });\n}\nexport function calculateCumulativeLayoutShift(clsEntries) {\n clsEntries.forEach(function (entry) {\n if (!entry.hadRecentInput && entry.value) {\n var shouldCreateNewSession = entry.startTime - metrics.cls.firstEntryTime > 5000 || entry.startTime - metrics.cls.prevEntryTime > 1000;\n\n if (shouldCreateNewSession) {\n metrics.cls.firstEntryTime = entry.startTime;\n metrics.cls.currentSessionScore = 0;\n }\n\n metrics.cls.prevEntryTime = entry.startTime;\n metrics.cls.currentSessionScore += entry.value;\n metrics.cls.score = Math.max(metrics.cls.score, metrics.cls.currentSessionScore);\n }\n });\n}\nexport function captureObserverEntries(list, _ref) {\n var isHardNavigation = _ref.isHardNavigation,\n trStart = _ref.trStart;\n var longtaskEntries = list.getEntriesByType(LONG_TASK).filter(function (entry) {\n return entry.startTime >= trStart;\n });\n var longTaskSpans = createLongTaskSpans(longtaskEntries, metrics.longtask);\n var result = {\n spans: longTaskSpans,\n marks: {}\n };\n\n if (!isHardNavigation) {\n return result;\n }\n\n var lcpEntries = list.getEntriesByType(LARGEST_CONTENTFUL_PAINT);\n var lastLcpEntry = lcpEntries[lcpEntries.length - 1];\n\n if (lastLcpEntry) {\n var lcp = parseInt(lastLcpEntry.startTime);\n metrics.lcp = lcp;\n result.marks.largestContentfulPaint = lcp;\n }\n\n var timing = PERF.timing;\n var unloadDiff = timing.fetchStart - timing.navigationStart;\n\n if (isRedirectInfoAvailable(timing)) {\n unloadDiff = 0;\n }\n\n var fcpEntry = list.getEntriesByName(FIRST_CONTENTFUL_PAINT)[0];\n\n if (fcpEntry) {\n var fcp = parseInt(unloadDiff >= 0 ? fcpEntry.startTime - unloadDiff : fcpEntry.startTime);\n metrics.fcp = fcp;\n result.marks.firstContentfulPaint = fcp;\n }\n\n var fidEntries = list.getEntriesByType(FIRST_INPUT);\n var fidSpan = createFirstInputDelaySpan(fidEntries);\n\n if (fidSpan) {\n metrics.fid = fidSpan.duration();\n result.spans.push(fidSpan);\n }\n\n calculateTotalBlockingTime(longtaskEntries);\n var clsEntries = list.getEntriesByType(LAYOUT_SHIFT);\n calculateCumulativeLayoutShift(clsEntries);\n return result;\n}\nexport var PerfEntryRecorder = function () {\n function PerfEntryRecorder(callback) {\n this.po = {\n observe: noop,\n disconnect: noop\n };\n\n if (window.PerformanceObserver) {\n this.po = new PerformanceObserver(callback);\n }\n }\n\n var _proto = PerfEntryRecorder.prototype;\n\n _proto.start = function start(type, options) {\n if (options === void 0) {\n options = {\n buffered: true\n };\n }\n\n try {\n if (!isPerfTypeSupported(type)) {\n return;\n }\n\n this.po.observe(_extends({\n type: type\n }, options));\n } catch (_) {}\n };\n\n _proto.stop = function stop() {\n this.po.disconnect();\n };\n\n return PerfEntryRecorder;\n}();","import { MAX_SPAN_DURATION } from '../../common/constants';\n\nfunction shouldCreateSpan(start, end, trStart, trEnd, baseTime) {\n if (baseTime === void 0) {\n baseTime = 0;\n }\n\n return typeof start === 'number' && typeof end === 'number' && start >= baseTime && end > start && start - baseTime >= trStart && end - baseTime <= trEnd && end - start < MAX_SPAN_DURATION && start - baseTime < MAX_SPAN_DURATION && end - baseTime < MAX_SPAN_DURATION;\n}\n\nexport { shouldCreateSpan };","import { shouldCreateSpan } from './utils';\nimport Span from '../span';\nvar eventPairs = [['redirectStart', 'redirectEnd', 'Redirect'], ['domainLookupStart', 'domainLookupEnd', 'Domain lookup'], ['connectStart', 'connectEnd', 'Making a connection to the server'], ['requestStart', 'responseEnd', 'Requesting and receiving the document'], ['domLoading', 'domInteractive', 'Parsing the document, executing sync. scripts'], ['domContentLoadedEventStart', 'domContentLoadedEventEnd', 'Fire \"DOMContentLoaded\" event'], ['loadEventStart', 'loadEventEnd', 'Fire \"load\" event']];\n\nfunction createNavigationTimingSpans(timings, baseTime, trStart, trEnd) {\n var spans = [];\n\n for (var i = 0; i < eventPairs.length; i++) {\n var start = timings[eventPairs[i][0]];\n var end = timings[eventPairs[i][1]];\n\n if (!shouldCreateSpan(start, end, trStart, trEnd, baseTime)) {\n continue;\n }\n\n var span = new Span(eventPairs[i][2], 'hard-navigation.browser-timing');\n var data = null;\n\n if (eventPairs[i][0] === 'requestStart') {\n span.pageResponse = true;\n data = {\n url: location.origin\n };\n }\n\n span._start = start - baseTime;\n span.end(end - baseTime, data);\n spans.push(span);\n }\n\n return spans;\n}\n\nexport { createNavigationTimingSpans };","import { USER_TIMING_THRESHOLD } from '../../common/constants';\nimport { shouldCreateSpan } from './utils';\nimport Span from '../span';\n\nfunction createUserTimingSpans(entries, trStart, trEnd) {\n var userTimingSpans = [];\n\n for (var i = 0; i < entries.length; i++) {\n var _entries$i = entries[i],\n name = _entries$i.name,\n startTime = _entries$i.startTime,\n duration = _entries$i.duration;\n var end = startTime + duration;\n\n if (duration <= USER_TIMING_THRESHOLD || !shouldCreateSpan(startTime, end, trStart, trEnd)) {\n continue;\n }\n\n var kind = 'app';\n var span = new Span(name, kind);\n span._start = startTime;\n span.end(end);\n userTimingSpans.push(span);\n }\n\n return userTimingSpans;\n}\n\nexport { createUserTimingSpans };","import { stripQueryStringFromUrl } from '../../common/utils';\nimport { shouldCreateSpan } from './utils';\nimport { RESOURCE_INITIATOR_TYPES } from '../../common/constants';\nimport Span from '../span';\n\nfunction createResourceTimingSpan(resourceTimingEntry) {\n var name = resourceTimingEntry.name,\n initiatorType = resourceTimingEntry.initiatorType,\n startTime = resourceTimingEntry.startTime,\n responseEnd = resourceTimingEntry.responseEnd;\n var kind = 'resource';\n\n if (initiatorType) {\n kind += '.' + initiatorType;\n }\n\n var spanName = stripQueryStringFromUrl(name);\n var span = new Span(spanName, kind);\n span._start = startTime;\n span.end(responseEnd, {\n url: name,\n entry: resourceTimingEntry\n });\n return span;\n}\n\nfunction isCapturedByPatching(resourceStartTime, requestPatchTime) {\n return requestPatchTime != null && resourceStartTime > requestPatchTime;\n}\n\nfunction isIntakeAPIEndpoint(url) {\n return /intake\\/v\\d+\\/rum\\/events/.test(url);\n}\n\nfunction createResourceTimingSpans(entries, requestPatchTime, trStart, trEnd) {\n var spans = [];\n\n for (var i = 0; i < entries.length; i++) {\n var _entries$i = entries[i],\n initiatorType = _entries$i.initiatorType,\n name = _entries$i.name,\n startTime = _entries$i.startTime,\n responseEnd = _entries$i.responseEnd;\n\n if (RESOURCE_INITIATOR_TYPES.indexOf(initiatorType) === -1 || name == null) {\n continue;\n }\n\n if ((initiatorType === 'xmlhttprequest' || initiatorType === 'fetch') && (isIntakeAPIEndpoint(name) || isCapturedByPatching(startTime, requestPatchTime))) {\n continue;\n }\n\n if (shouldCreateSpan(startTime, responseEnd, trStart, trEnd)) {\n spans.push(createResourceTimingSpan(entries[i]));\n }\n }\n\n return spans;\n}\n\nexport { createResourceTimingSpans };","import { PERF, isPerfTimelineSupported, isRedirectInfoAvailable } from '../../common/utils';\nimport { PAGE_LOAD, RESOURCE, MEASURE } from '../../common/constants';\nimport { state } from '../../state';\nimport { createNavigationTimingSpans } from './navigation-timing';\nimport { createUserTimingSpans } from './user-timing';\nimport { createResourceTimingSpans } from './resource-timing';\nimport { getPageLoadMarks } from './marks';\n\nfunction captureNavigation(transaction) {\n if (!transaction.captureTimings) {\n if (transaction.type === PAGE_LOAD) {\n transaction._start = 0;\n }\n\n return;\n }\n\n var trEnd = transaction._end;\n\n if (transaction.type === PAGE_LOAD) {\n if (transaction.marks && transaction.marks.custom) {\n var customMarks = transaction.marks.custom;\n Object.keys(customMarks).forEach(function (key) {\n customMarks[key] += transaction._start;\n });\n }\n\n var trStart = 0;\n transaction._start = trStart;\n var timings = PERF.timing;\n var baseTime = isRedirectInfoAvailable(timings) ? timings.redirectStart : timings.fetchStart;\n createNavigationTimingSpans(timings, baseTime, trStart, trEnd).forEach(function (span) {\n span.traceId = transaction.traceId;\n span.sampled = transaction.sampled;\n\n if (span.pageResponse && transaction.options.pageLoadSpanId) {\n span.id = transaction.options.pageLoadSpanId;\n }\n\n transaction.spans.push(span);\n });\n transaction.addMarks(getPageLoadMarks(timings));\n }\n\n if (isPerfTimelineSupported()) {\n var _trStart = transaction._start;\n var resourceEntries = PERF.getEntriesByType(RESOURCE);\n createResourceTimingSpans(resourceEntries, state.bootstrapTime, _trStart, trEnd).forEach(function (span) {\n return transaction.spans.push(span);\n });\n var userEntries = PERF.getEntriesByType(MEASURE);\n createUserTimingSpans(userEntries, _trStart, trEnd).forEach(function (span) {\n return transaction.spans.push(span);\n });\n }\n}\n\nexport { captureNavigation, createNavigationTimingSpans, createResourceTimingSpans, createUserTimingSpans, getPageLoadMarks };","import { Promise } from '../common/polyfills';\nimport Transaction from './transaction';\nimport { PerfEntryRecorder, captureObserverEntries, metrics, createTotalBlockingTimeSpan } from './metrics/metrics';\nimport { extend, getEarliestSpan, getLatestNonXHRSpan, getLatestXHRSpan, isPerfTypeSupported, generateRandomId } from '../common/utils';\nimport { captureNavigation } from './navigation/capture-navigation';\nimport { PAGE_LOAD, NAME_UNKNOWN, TRANSACTION_START, TRANSACTION_END, TRANSACTION_IGNORE, TEMPORARY_TYPE, TRANSACTION_TYPE_ORDER, LARGEST_CONTENTFUL_PAINT, LONG_TASK, PAINT, TRUNCATED_TYPE, FIRST_INPUT, LAYOUT_SHIFT, SESSION_TIMEOUT, PAGE_LOAD_DELAY } from '../common/constants';\nimport { addTransactionContext } from '../common/context';\nimport { __DEV__, state } from '../state';\nimport { slugifyUrl } from '../common/url';\n\nvar TransactionService = function () {\n function TransactionService(logger, config) {\n var _this = this;\n\n this._config = config;\n this._logger = logger;\n this.currentTransaction = undefined;\n this.respIntervalId = undefined;\n this.recorder = new PerfEntryRecorder(function (list) {\n var tr = _this.getCurrentTransaction();\n\n if (tr && tr.captureTimings) {\n var _tr$spans;\n\n var isHardNavigation = tr.type === PAGE_LOAD;\n\n var _captureObserverEntri = captureObserverEntries(list, {\n isHardNavigation: isHardNavigation,\n trStart: isHardNavigation ? 0 : tr._start\n }),\n spans = _captureObserverEntri.spans,\n marks = _captureObserverEntri.marks;\n\n (_tr$spans = tr.spans).push.apply(_tr$spans, spans);\n\n tr.addMarks({\n agent: marks\n });\n }\n });\n }\n\n var _proto = TransactionService.prototype;\n\n _proto.createCurrentTransaction = function createCurrentTransaction(name, type, options) {\n var tr = new Transaction(name, type, options);\n this.currentTransaction = tr;\n return tr;\n };\n\n _proto.getCurrentTransaction = function getCurrentTransaction() {\n if (this.currentTransaction && !this.currentTransaction.ended) {\n return this.currentTransaction;\n }\n };\n\n _proto.createOptions = function createOptions(options) {\n var config = this._config.config;\n var presetOptions = {\n transactionSampleRate: config.transactionSampleRate\n };\n var perfOptions = extend(presetOptions, options);\n\n if (perfOptions.managed) {\n perfOptions = extend({\n pageLoadTraceId: config.pageLoadTraceId,\n pageLoadSampled: config.pageLoadSampled,\n pageLoadSpanId: config.pageLoadSpanId,\n pageLoadTransactionName: config.pageLoadTransactionName\n }, perfOptions);\n }\n\n return perfOptions;\n };\n\n _proto.startManagedTransaction = function startManagedTransaction(name, type, perfOptions) {\n var tr = this.getCurrentTransaction();\n var isRedefined = false;\n\n if (!tr) {\n tr = this.createCurrentTransaction(name, type, perfOptions);\n } else if (tr.canReuse() && perfOptions.canReuse) {\n var redefineType = tr.type;\n var currentTypeOrder = TRANSACTION_TYPE_ORDER.indexOf(tr.type);\n var redefineTypeOrder = TRANSACTION_TYPE_ORDER.indexOf(type);\n\n if (currentTypeOrder >= 0 && redefineTypeOrder < currentTypeOrder) {\n redefineType = type;\n }\n\n if (__DEV__) {\n this._logger.debug(\"redefining transaction(\" + tr.id + \", \" + tr.name + \", \" + tr.type + \")\", 'to', \"(\" + (name || tr.name) + \", \" + redefineType + \")\", tr);\n }\n\n tr.redefine(name, redefineType, perfOptions);\n isRedefined = true;\n } else {\n if (__DEV__) {\n this._logger.debug(\"ending previous transaction(\" + tr.id + \", \" + tr.name + \")\", tr);\n }\n\n tr.end();\n tr = this.createCurrentTransaction(name, type, perfOptions);\n }\n\n if (tr.type === PAGE_LOAD) {\n if (!isRedefined) {\n this.recorder.start(LARGEST_CONTENTFUL_PAINT);\n this.recorder.start(PAINT);\n this.recorder.start(FIRST_INPUT);\n this.recorder.start(LAYOUT_SHIFT);\n }\n\n if (perfOptions.pageLoadTraceId) {\n tr.traceId = perfOptions.pageLoadTraceId;\n }\n\n if (perfOptions.pageLoadSampled) {\n tr.sampled = perfOptions.pageLoadSampled;\n }\n\n if (tr.name === NAME_UNKNOWN && perfOptions.pageLoadTransactionName) {\n tr.name = perfOptions.pageLoadTransactionName;\n }\n }\n\n if (!isRedefined && this._config.get('monitorLongtasks')) {\n this.recorder.start(LONG_TASK);\n }\n\n if (tr.sampled) {\n tr.captureTimings = true;\n }\n\n return tr;\n };\n\n _proto.startTransaction = function startTransaction(name, type, options) {\n var _this2 = this;\n\n var perfOptions = this.createOptions(options);\n var tr;\n var fireOnstartHook = true;\n\n if (perfOptions.managed) {\n var current = this.currentTransaction;\n tr = this.startManagedTransaction(name, type, perfOptions);\n\n if (current === tr) {\n fireOnstartHook = false;\n }\n } else {\n tr = new Transaction(name, type, perfOptions);\n }\n\n tr.onEnd = function () {\n return _this2.handleTransactionEnd(tr);\n };\n\n if (fireOnstartHook) {\n if (__DEV__) {\n this._logger.debug(\"startTransaction(\" + tr.id + \", \" + tr.name + \", \" + tr.type + \")\");\n }\n\n this._config.events.send(TRANSACTION_START, [tr]);\n }\n\n return tr;\n };\n\n _proto.handleTransactionEnd = function handleTransactionEnd(tr) {\n var _this3 = this;\n\n this.recorder.stop();\n var currentUrl = window.location.href;\n return Promise.resolve().then(function () {\n var name = tr.name,\n type = tr.type;\n var lastHiddenStart = state.lastHiddenStart;\n\n if (lastHiddenStart >= tr._start) {\n if (__DEV__) {\n _this3._logger.debug(\"transaction(\" + tr.id + \", \" + name + \", \" + type + \") was discarded! The page was hidden during the transaction!\");\n }\n\n _this3._config.dispatchEvent(TRANSACTION_IGNORE);\n\n return;\n }\n\n if (_this3.shouldIgnoreTransaction(name) || type === TEMPORARY_TYPE) {\n if (__DEV__) {\n _this3._logger.debug(\"transaction(\" + tr.id + \", \" + name + \", \" + type + \") is ignored\");\n }\n\n _this3._config.dispatchEvent(TRANSACTION_IGNORE);\n\n return;\n }\n\n if (type === PAGE_LOAD) {\n var pageLoadTransactionName = _this3._config.get('pageLoadTransactionName');\n\n if (name === NAME_UNKNOWN && pageLoadTransactionName) {\n tr.name = pageLoadTransactionName;\n }\n\n if (tr.captureTimings) {\n var cls = metrics.cls,\n fid = metrics.fid,\n tbt = metrics.tbt,\n longtask = metrics.longtask;\n\n if (tbt.duration > 0) {\n tr.spans.push(createTotalBlockingTimeSpan(tbt));\n }\n\n tr.experience = {};\n\n if (isPerfTypeSupported(LONG_TASK)) {\n tr.experience.tbt = tbt.duration;\n }\n\n if (isPerfTypeSupported(LAYOUT_SHIFT)) {\n tr.experience.cls = cls.score;\n }\n\n if (fid > 0) {\n tr.experience.fid = fid;\n }\n\n if (longtask.count > 0) {\n tr.experience.longtask = {\n count: longtask.count,\n sum: longtask.duration,\n max: longtask.max\n };\n }\n }\n\n _this3.setSession(tr);\n }\n\n if (tr.name === NAME_UNKNOWN) {\n tr.name = slugifyUrl(currentUrl);\n }\n\n captureNavigation(tr);\n\n _this3.adjustTransactionTime(tr);\n\n var breakdownMetrics = _this3._config.get('breakdownMetrics');\n\n if (breakdownMetrics) {\n tr.captureBreakdown();\n }\n\n var configContext = _this3._config.get('context');\n\n addTransactionContext(tr, configContext);\n\n _this3._config.events.send(TRANSACTION_END, [tr]);\n\n if (__DEV__) {\n _this3._logger.debug(\"end transaction(\" + tr.id + \", \" + tr.name + \", \" + tr.type + \")\", tr);\n }\n }, function (err) {\n if (__DEV__) {\n _this3._logger.debug(\"error ending transaction(\" + tr.id + \", \" + tr.name + \")\", err);\n }\n });\n };\n\n _proto.setSession = function setSession(tr) {\n var session = this._config.get('session');\n\n if (session) {\n if (typeof session == 'boolean') {\n tr.session = {\n id: generateRandomId(16),\n sequence: 1\n };\n } else {\n if (session.timestamp && Date.now() - session.timestamp > SESSION_TIMEOUT) {\n tr.session = {\n id: generateRandomId(16),\n sequence: 1\n };\n } else {\n tr.session = {\n id: session.id,\n sequence: session.sequence ? session.sequence + 1 : 1\n };\n }\n }\n\n var sessionConfig = {\n session: {\n id: tr.session.id,\n sequence: tr.session.sequence,\n timestamp: Date.now()\n }\n };\n\n this._config.setConfig(sessionConfig);\n\n this._config.setLocalConfig(sessionConfig, true);\n }\n };\n\n _proto.adjustTransactionTime = function adjustTransactionTime(transaction) {\n var spans = transaction.spans;\n var earliestSpan = getEarliestSpan(spans);\n\n if (earliestSpan && earliestSpan._start < transaction._start) {\n transaction._start = earliestSpan._start;\n }\n\n var latestSpan = getLatestNonXHRSpan(spans) || {};\n var latestSpanEnd = latestSpan._end || 0;\n\n if (transaction.type === PAGE_LOAD) {\n var transactionEndWithoutDelay = transaction._end - PAGE_LOAD_DELAY;\n var lcp = metrics.lcp || 0;\n var latestXHRSpan = getLatestXHRSpan(spans) || {};\n var latestXHRSpanEnd = latestXHRSpan._end || 0;\n transaction._end = Math.max(latestSpanEnd, latestXHRSpanEnd, lcp, transactionEndWithoutDelay);\n } else if (latestSpanEnd > transaction._end) {\n transaction._end = latestSpanEnd;\n }\n\n this.truncateSpans(spans, transaction._end);\n };\n\n _proto.truncateSpans = function truncateSpans(spans, transactionEnd) {\n for (var i = 0; i < spans.length; i++) {\n var span = spans[i];\n\n if (span._end > transactionEnd) {\n span._end = transactionEnd;\n span.type += TRUNCATED_TYPE;\n }\n\n if (span._start > transactionEnd) {\n span._start = transactionEnd;\n }\n }\n };\n\n _proto.shouldIgnoreTransaction = function shouldIgnoreTransaction(transactionName) {\n var ignoreList = this._config.get('ignoreTransactions');\n\n if (ignoreList && ignoreList.length) {\n for (var i = 0; i < ignoreList.length; i++) {\n var element = ignoreList[i];\n\n if (typeof element.test === 'function') {\n if (element.test(transactionName)) {\n return true;\n }\n } else if (element === transactionName) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n _proto.startSpan = function startSpan(name, type, options) {\n var tr = this.getCurrentTransaction();\n\n if (!tr) {\n tr = this.createCurrentTransaction(undefined, TEMPORARY_TYPE, this.createOptions({\n canReuse: true,\n managed: true\n }));\n }\n\n var span = tr.startSpan(name, type, options);\n\n if (__DEV__) {\n this._logger.debug(\"startSpan(\" + name + \", \" + span.type + \")\", \"on transaction(\" + tr.id + \", \" + tr.name + \")\");\n }\n\n return span;\n };\n\n _proto.endSpan = function endSpan(span, context) {\n if (!span) {\n return;\n }\n\n if (__DEV__) {\n var tr = this.getCurrentTransaction();\n tr && this._logger.debug(\"endSpan(\" + span.name + \", \" + span.type + \")\", \"on transaction(\" + tr.id + \", \" + tr.name + \")\");\n }\n\n span.end(null, context);\n };\n\n return TransactionService;\n}();\n\nexport default TransactionService;","import { EVENT, FIRST_INPUT } from '../../../common/constants';\nimport { isPerfInteractionCountSupported } from '../../../common/utils';\nimport { PerfEntryRecorder } from '../metrics';\nvar INP_THRESHOLD = 40;\nvar MAX_INTERACTIONS_TO_CONSIDER = 10;\nexport var inpState = {\n minInteractionId: Infinity,\n maxInteractionId: 0,\n interactionCount: 0,\n longestInteractions: []\n};\nexport function observeUserInteractions(recorder) {\n if (recorder === void 0) {\n recorder = new PerfEntryRecorder(processUserInteractions);\n }\n\n var isPerfCountSupported = isPerfInteractionCountSupported();\n var durationThreshold = isPerfCountSupported ? INP_THRESHOLD : 16;\n recorder.start(EVENT, {\n buffered: true,\n durationThreshold: durationThreshold\n });\n\n if (!isPerfCountSupported) {\n recorder.start(FIRST_INPUT);\n }\n}\nexport function processUserInteractions(list) {\n var entries = list.getEntries();\n entries.forEach(function (entry) {\n if (!entry.interactionId) {\n return;\n }\n\n updateInteractionCount(entry);\n\n if (entry.duration < INP_THRESHOLD) {\n return;\n }\n\n storeUserInteraction(entry);\n });\n}\nexport function calculateInp() {\n if (inpState.longestInteractions.length === 0) {\n if (interactionCount() > 0) {\n return 0;\n }\n\n return;\n }\n\n var interactionIndex = Math.min(inpState.longestInteractions.length - 1, Math.floor(interactionCount() / 50));\n var inp = inpState.longestInteractions[interactionIndex].duration;\n return inp;\n}\nexport function interactionCount() {\n return performance.interactionCount || inpState.interactionCount;\n}\nexport function restoreINPState() {\n inpState.minInteractionId = Infinity;\n inpState.maxInteractionId = 0;\n inpState.interactionCount = 0;\n inpState.longestInteractions = [];\n}\n\nfunction storeUserInteraction(entry) {\n var leastSlow = inpState.longestInteractions[inpState.longestInteractions.length - 1];\n\n if (typeof leastSlow !== 'undefined' && entry.duration <= leastSlow.duration && entry.interactionId != leastSlow.id) {\n return;\n }\n\n var filteredInteraction = inpState.longestInteractions.filter(function (interaction) {\n return interaction.id === entry.interactionId;\n });\n\n if (filteredInteraction.length > 0) {\n var foundInteraction = filteredInteraction[0];\n foundInteraction.duration = Math.max(foundInteraction.duration, entry.duration);\n } else {\n inpState.longestInteractions.push({\n id: entry.interactionId,\n duration: entry.duration\n });\n }\n\n inpState.longestInteractions.sort(function (a, b) {\n return b.duration - a.duration;\n });\n inpState.longestInteractions.splice(MAX_INTERACTIONS_TO_CONSIDER);\n}\n\nfunction updateInteractionCount(entry) {\n if (isPerfInteractionCountSupported()) {\n return;\n }\n\n inpState.minInteractionId = Math.min(inpState.minInteractionId, entry.interactionId);\n inpState.maxInteractionId = Math.max(inpState.maxInteractionId, entry.interactionId);\n inpState.interactionCount = (inpState.maxInteractionId - inpState.minInteractionId) / 7 + 1;\n}","import { calculateInp, restoreINPState } from './process';\nimport { now } from '../../../common/utils';\nimport { PAGE_EXIT } from '../../../common/constants';\nexport function reportInp(transactionService) {\n var inp = calculateInp();\n\n if (inp >= 0) {\n var startTime = now();\n var inpTr = transactionService.startTransaction(PAGE_EXIT, PAGE_EXIT, {\n startTime: startTime\n });\n var navigations = performance.getEntriesByType('navigation');\n\n if (navigations.length > 0) {\n var hardNavigationUrl = navigations[0].name;\n inpTr.addContext({\n page: {\n url: hardNavigationUrl\n }\n });\n }\n\n inpTr.addLabels({\n inp_value: inp\n });\n var endTime = startTime + inp + 1;\n inpTr.end(endTime);\n restoreINPState();\n return inpTr;\n }\n}","import PerformanceMonitoring from './performance-monitoring';\nimport TransactionService from './transaction-service';\nimport { APM_SERVER, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE, PERFORMANCE_MONITORING } from '../common/constants';\nimport { serviceCreators } from '../common/service-factory';\nimport { observeUserInteractions } from './metrics/inp/process';\nimport { reportInp } from './metrics/inp/report';\n\nfunction registerServices() {\n serviceCreators[TRANSACTION_SERVICE] = function (serviceFactory) {\n var _serviceFactory$getSe = serviceFactory.getService([LOGGING_SERVICE, CONFIG_SERVICE]),\n loggingService = _serviceFactory$getSe[0],\n configService = _serviceFactory$getSe[1];\n\n return new TransactionService(loggingService, configService);\n };\n\n serviceCreators[PERFORMANCE_MONITORING] = function (serviceFactory) {\n var _serviceFactory$getSe2 = serviceFactory.getService([APM_SERVER, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE]),\n apmServer = _serviceFactory$getSe2[0],\n configService = _serviceFactory$getSe2[1],\n loggingService = _serviceFactory$getSe2[2],\n transactionService = _serviceFactory$getSe2[3];\n\n return new PerformanceMonitoring(apmServer, configService, loggingService, transactionService);\n };\n}\n\nexport { registerServices, observeUserInteractions, reportInp };","import { QUEUE_ADD_TRANSACTION, QUEUE_FLUSH, TRANSACTION_IGNORE } from '../constants';\nimport { state } from '../../state';\nimport { now } from '../utils';\nimport { reportInp } from '../../performance-monitoring/metrics/inp/report';\nexport function observePageVisibility(configService, transactionService) {\n if (document.visibilityState === 'hidden') {\n state.lastHiddenStart = 0;\n }\n\n var visibilityChangeHandler = function visibilityChangeHandler() {\n if (document.visibilityState === 'hidden') {\n onPageHidden(configService, transactionService);\n }\n };\n\n var pageHideHandler = function pageHideHandler() {\n return onPageHidden(configService, transactionService);\n };\n\n var useCapture = true;\n window.addEventListener('visibilitychange', visibilityChangeHandler, useCapture);\n window.addEventListener('pagehide', pageHideHandler, useCapture);\n return function () {\n window.removeEventListener('visibilitychange', visibilityChangeHandler, useCapture);\n window.removeEventListener('pagehide', pageHideHandler, useCapture);\n };\n}\n\nfunction onPageHidden(configService, transactionService) {\n var inpTr = reportInp(transactionService);\n\n if (inpTr) {\n var unobserve = configService.observeEvent(QUEUE_ADD_TRANSACTION, function () {\n endManagedTransaction(configService, transactionService);\n unobserve();\n });\n } else {\n endManagedTransaction(configService, transactionService);\n }\n}\n\nfunction endManagedTransaction(configService, transactionService) {\n var tr = transactionService.getCurrentTransaction();\n\n if (tr) {\n var unobserveDiscard = configService.observeEvent(TRANSACTION_IGNORE, function () {\n state.lastHiddenStart = now();\n unobserveDiscard();\n unobserveQueueAdd();\n });\n var unobserveQueueAdd = configService.observeEvent(QUEUE_ADD_TRANSACTION, function () {\n configService.dispatchEvent(QUEUE_FLUSH);\n state.lastHiddenStart = now();\n unobserveQueueAdd();\n unobserveDiscard();\n });\n tr.end();\n } else {\n configService.dispatchEvent(QUEUE_FLUSH);\n state.lastHiddenStart = now();\n }\n}","import { USER_INTERACTION } from '../constants';\nvar INTERACTIVE_SELECTOR = 'a[data-transaction-name], button[data-transaction-name]';\nexport function observePageClicks(transactionService) {\n var clickHandler = function clickHandler(event) {\n if (event.target instanceof Element) {\n createUserInteractionTransaction(transactionService, event.target);\n }\n };\n\n var eventName = 'click';\n var useCapture = true;\n window.addEventListener(eventName, clickHandler, useCapture);\n return function () {\n window.removeEventListener(eventName, clickHandler, useCapture);\n };\n}\n\nfunction createUserInteractionTransaction(transactionService, target) {\n var _getTransactionMetada = getTransactionMetadata(target),\n transactionName = _getTransactionMetada.transactionName,\n context = _getTransactionMetada.context;\n\n var tr = transactionService.startTransaction(\"Click - \" + transactionName, USER_INTERACTION, {\n managed: true,\n canReuse: true,\n reuseThreshold: 300\n });\n\n if (tr && context) {\n tr.addContext(context);\n }\n}\n\nfunction getTransactionMetadata(target) {\n var metadata = {\n transactionName: null,\n context: null\n };\n metadata.transactionName = buildTransactionName(target);\n var classes = target.getAttribute('class');\n\n if (classes) {\n metadata.context = {\n custom: {\n classes: classes\n }\n };\n }\n\n return metadata;\n}\n\nfunction buildTransactionName(target) {\n var dtName = findCustomTransactionName(target);\n\n if (dtName) {\n return dtName;\n }\n\n var tagName = target.tagName.toLowerCase();\n var name = target.getAttribute('name');\n\n if (!!name) {\n return tagName + \"[\\\"\" + name + \"\\\"]\";\n }\n\n return tagName;\n}\n\nfunction findCustomTransactionName(target) {\n var trCustomNameAttribute = 'data-transaction-name';\n var fallbackName = target.getAttribute(trCustomNameAttribute);\n\n if (target.closest) {\n var element = target.closest(INTERACTIVE_SELECTOR);\n return element ? element.getAttribute(trCustomNameAttribute) : fallbackName;\n }\n\n return fallbackName;\n}","import { XMLHTTPREQUEST, FETCH, HISTORY, PAGE_LOAD, ERROR, EVENT_TARGET, CLICK } from './constants';\nexport function getInstrumentationFlags(instrument, disabledInstrumentations) {\n var _flags;\n\n var flags = (_flags = {}, _flags[XMLHTTPREQUEST] = false, _flags[FETCH] = false, _flags[HISTORY] = false, _flags[PAGE_LOAD] = false, _flags[ERROR] = false, _flags[EVENT_TARGET] = false, _flags[CLICK] = false, _flags);\n\n if (!instrument) {\n return flags;\n }\n\n Object.keys(flags).forEach(function (key) {\n if (disabledInstrumentations.indexOf(key) === -1) {\n flags[key] = true;\n }\n });\n return flags;\n}","import { isPlatformSupported, isBrowser, now } from './common/utils';\nimport { patchAll } from './common/patching';\nimport { state } from './state';\nvar enabled = false;\nexport function bootstrap() {\n if (isPlatformSupported()) {\n patchAll();\n state.bootstrapTime = now();\n enabled = true;\n } else if (isBrowser) {\n console.log('[Elastic APM] platform is not supported!');\n }\n\n return enabled;\n}","import { registerServices as registerErrorServices } from './error-logging';\nimport { registerServices as registerPerfServices, observeUserInteractions } from './performance-monitoring';\nimport { ServiceFactory } from './common/service-factory';\nimport { isPlatformSupported, scheduleMicroTask, scheduleMacroTask, isBrowser } from './common/utils';\nimport { patchAll, patchEventHandler } from './common/patching';\nimport { observePageVisibility, observePageClicks } from './common/observers';\nimport { PAGE_LOAD_DELAY, PAGE_LOAD, ERROR, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE, APM_SERVER, PERFORMANCE_MONITORING, ERROR_LOGGING, EVENT_TARGET, CLICK } from './common/constants';\nimport { getInstrumentationFlags } from './common/instrument';\nimport afterFrame from './common/after-frame';\nimport { bootstrap } from './bootstrap';\nimport { createTracer } from './opentracing';\n\nfunction createServiceFactory() {\n registerPerfServices();\n registerErrorServices();\n var serviceFactory = new ServiceFactory();\n return serviceFactory;\n}\n\nexport { createServiceFactory, ServiceFactory, patchAll, patchEventHandler, isPlatformSupported, isBrowser, getInstrumentationFlags, createTracer, scheduleMicroTask, scheduleMacroTask, afterFrame, ERROR, PAGE_LOAD_DELAY, PAGE_LOAD, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE, APM_SERVER, PERFORMANCE_MONITORING, ERROR_LOGGING, EVENT_TARGET, CLICK, observeUserInteractions, bootstrap, observePageVisibility, observePageClicks };","import { getInstrumentationFlags, PAGE_LOAD_DELAY, PAGE_LOAD, ERROR, CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE, PERFORMANCE_MONITORING, ERROR_LOGGING, APM_SERVER, EVENT_TARGET, CLICK, observePageVisibility, observePageClicks, observeUserInteractions } from '@elastic/apm-rum-core';\n\nvar ApmBase = function () {\n function ApmBase(serviceFactory, disable) {\n this._disable = disable;\n this.serviceFactory = serviceFactory;\n this._initialized = false;\n }\n\n var _proto = ApmBase.prototype;\n\n _proto.isEnabled = function isEnabled() {\n return !this._disable;\n };\n\n _proto.isActive = function isActive() {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n return this.isEnabled() && this._initialized && configService.get('active');\n };\n\n _proto.init = function init(config) {\n var _this = this;\n\n if (this.isEnabled() && !this._initialized) {\n this._initialized = true;\n\n var _this$serviceFactory$ = this.serviceFactory.getService([CONFIG_SERVICE, LOGGING_SERVICE, TRANSACTION_SERVICE]),\n configService = _this$serviceFactory$[0],\n loggingService = _this$serviceFactory$[1],\n transactionService = _this$serviceFactory$[2];\n\n configService.setVersion('5.16.0');\n this.config(config);\n var logLevel = configService.get('logLevel');\n loggingService.setLevel(logLevel);\n var isConfigActive = configService.get('active');\n\n if (isConfigActive) {\n this.serviceFactory.init();\n var flags = getInstrumentationFlags(configService.get('instrument'), configService.get('disableInstrumentations'));\n var performanceMonitoring = this.serviceFactory.getService(PERFORMANCE_MONITORING);\n performanceMonitoring.init(flags);\n\n if (flags[ERROR]) {\n var errorLogging = this.serviceFactory.getService(ERROR_LOGGING);\n errorLogging.registerListeners();\n }\n\n if (configService.get('session')) {\n var localConfig = configService.getLocalConfig();\n\n if (localConfig && localConfig.session) {\n configService.setConfig({\n session: localConfig.session\n });\n }\n }\n\n var sendPageLoad = function sendPageLoad() {\n return flags[PAGE_LOAD] && _this._sendPageLoadMetrics();\n };\n\n if (configService.get('centralConfig')) {\n this.fetchCentralConfig().then(sendPageLoad);\n } else {\n sendPageLoad();\n }\n\n observePageVisibility(configService, transactionService);\n\n if (flags[EVENT_TARGET] && flags[CLICK]) {\n observePageClicks(transactionService);\n }\n\n observeUserInteractions();\n } else {\n this._disable = true;\n loggingService.warn('RUM agent is inactive');\n }\n }\n\n return this;\n };\n\n _proto.fetchCentralConfig = function fetchCentralConfig() {\n var _this$serviceFactory$2 = this.serviceFactory.getService([APM_SERVER, LOGGING_SERVICE, CONFIG_SERVICE]),\n apmServer = _this$serviceFactory$2[0],\n loggingService = _this$serviceFactory$2[1],\n configService = _this$serviceFactory$2[2];\n\n return apmServer.fetchConfig(configService.get('serviceName'), configService.get('environment')).then(function (config) {\n var transactionSampleRate = config['transaction_sample_rate'];\n\n if (transactionSampleRate) {\n transactionSampleRate = Number(transactionSampleRate);\n var _config2 = {\n transactionSampleRate: transactionSampleRate\n };\n\n var _configService$valida = configService.validate(_config2),\n invalid = _configService$valida.invalid;\n\n if (invalid.length === 0) {\n configService.setConfig(_config2);\n } else {\n var _invalid$ = invalid[0],\n key = _invalid$.key,\n value = _invalid$.value,\n allowed = _invalid$.allowed;\n loggingService.warn(\"invalid value \\\"\" + value + \"\\\" for \" + key + \". Allowed: \" + allowed + \".\");\n }\n }\n\n return config;\n }).catch(function (error) {\n loggingService.warn('failed fetching config:', error);\n });\n };\n\n _proto._sendPageLoadMetrics = function _sendPageLoadMetrics() {\n var tr = this.startTransaction(undefined, PAGE_LOAD, {\n managed: true,\n canReuse: true\n });\n\n if (!tr) {\n return;\n }\n\n tr.addTask(PAGE_LOAD);\n\n var sendPageLoadMetrics = function sendPageLoadMetrics() {\n setTimeout(function () {\n return tr.removeTask(PAGE_LOAD);\n }, PAGE_LOAD_DELAY);\n };\n\n if (document.readyState === 'complete') {\n sendPageLoadMetrics();\n } else {\n window.addEventListener('load', sendPageLoadMetrics);\n }\n };\n\n _proto.observe = function observe(name, fn) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.events.observe(name, fn);\n };\n\n _proto.config = function config(_config) {\n var _this$serviceFactory$3 = this.serviceFactory.getService([CONFIG_SERVICE, LOGGING_SERVICE]),\n configService = _this$serviceFactory$3[0],\n loggingService = _this$serviceFactory$3[1];\n\n var _configService$valida2 = configService.validate(_config),\n missing = _configService$valida2.missing,\n invalid = _configService$valida2.invalid,\n unknown = _configService$valida2.unknown;\n\n if (unknown.length > 0) {\n var message = 'Unknown config options are specified for RUM agent: ' + unknown.join(', ');\n loggingService.warn(message);\n }\n\n if (missing.length === 0 && invalid.length === 0) {\n configService.setConfig(_config);\n } else {\n var separator = ', ';\n var _message = \"RUM agent isn't correctly configured. \";\n\n if (missing.length > 0) {\n _message += missing.join(separator) + ' is missing';\n\n if (invalid.length > 0) {\n _message += separator;\n }\n }\n\n invalid.forEach(function (_ref, index) {\n var key = _ref.key,\n value = _ref.value,\n allowed = _ref.allowed;\n _message += key + \" \\\"\" + value + \"\\\" contains invalid characters! (allowed: \" + allowed + \")\" + (index !== invalid.length - 1 ? separator : '');\n });\n loggingService.error(_message);\n configService.setConfig({\n active: false\n });\n }\n };\n\n _proto.setUserContext = function setUserContext(userContext) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.setUserContext(userContext);\n };\n\n _proto.setCustomContext = function setCustomContext(customContext) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.setCustomContext(customContext);\n };\n\n _proto.addLabels = function addLabels(labels) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.addLabels(labels);\n };\n\n _proto.setInitialPageLoadName = function setInitialPageLoadName(name) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.setConfig({\n pageLoadTransactionName: name\n });\n };\n\n _proto.startTransaction = function startTransaction(name, type, options) {\n if (this.isEnabled()) {\n var transactionService = this.serviceFactory.getService(TRANSACTION_SERVICE);\n return transactionService.startTransaction(name, type, options);\n }\n };\n\n _proto.startSpan = function startSpan(name, type, options) {\n if (this.isEnabled()) {\n var transactionService = this.serviceFactory.getService(TRANSACTION_SERVICE);\n return transactionService.startSpan(name, type, options);\n }\n };\n\n _proto.getCurrentTransaction = function getCurrentTransaction() {\n if (this.isEnabled()) {\n var transactionService = this.serviceFactory.getService(TRANSACTION_SERVICE);\n return transactionService.getCurrentTransaction();\n }\n };\n\n _proto.captureError = function captureError(error) {\n if (this.isEnabled()) {\n var errorLogging = this.serviceFactory.getService(ERROR_LOGGING);\n return errorLogging.logError(error);\n }\n };\n\n _proto.addFilter = function addFilter(fn) {\n var configService = this.serviceFactory.getService(CONFIG_SERVICE);\n configService.addFilter(fn);\n };\n\n return ApmBase;\n}();\n\nexport { ApmBase as default };","import { createServiceFactory, bootstrap, isBrowser } from '@elastic/apm-rum-core';\nimport ApmBase from './apm-base';\n\nfunction getApmBase() {\n if (isBrowser && window.elasticApm) {\n return window.elasticApm;\n }\n\n var enabled = bootstrap();\n var serviceFactory = createServiceFactory();\n var apmBase = new ApmBase(serviceFactory, !enabled);\n\n if (isBrowser) {\n window.elasticApm = apmBase;\n }\n\n return apmBase;\n}\n\nvar apmBase = getApmBase();\nvar init = apmBase.init.bind(apmBase);\nexport default init;\nexport { init, apmBase, ApmBase, apmBase as apm };","import { init as initApm } from '@elastic/apm-rum'\n\nimport AnalyticsData from 'analytics/AnalyticsData'\nimport { ObjectWithAnyProps } from 'interfaces/generalTypes'\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const analyticsData: AnalyticsData = (window as ObjectWithAnyProps).analytics\n\n if (analyticsData.init.elasticApmRum != null) {\n const user = { ...analyticsData.user, username: analyticsData.user?.name }\n const apm = initApm(analyticsData.init.elasticApmRum)\n apm.setUserContext(user)\n apm.setCustomContext(analyticsData.context)\n } else {\n console.warn('Elastic analytics data not found, skipping initialization.')\n }\n})\n","var e,t=\"undefined\"!=typeof window?window:void 0,i=\"undefined\"!=typeof globalThis?globalThis:t,r=Array.prototype,s=r.forEach,n=r.indexOf,o=null==i?void 0:i.navigator,a=null==i?void 0:i.document,l=null==i?void 0:i.location,c=null==i?void 0:i.fetch,u=null!=i&&i.XMLHttpRequest&&\"withCredentials\"in new i.XMLHttpRequest?i.XMLHttpRequest:void 0,d=null==i?void 0:i.AbortController,h=null==o?void 0:o.userAgent,_=null!=t?t:{},p={DEBUG:!1,LIB_VERSION:\"1.215.2\"},v=\"$copy_autocapture\",g=[\"$snapshot\",\"$pageview\",\"$pageleave\",\"$set\",\"survey dismissed\",\"survey sent\",\"survey shown\",\"$identify\",\"$groupidentify\",\"$create_alias\",\"$$client_ingestion_warning\",\"$web_experiment_applied\",\"$feature_enrollment_update\",\"$feature_flag_called\"];!function(e){e.GZipJS=\"gzip-js\",e.Base64=\"base64\"}(e||(e={}));var f=[\"fatal\",\"error\",\"warning\",\"log\",\"info\",\"debug\"],m={};function b(e,t,i){if(B(e))if(s&&e.forEach===s)e.forEach(t,i);else if(\"length\"in e&&e.length===+e.length)for(var r=0,n=e.length;r1?t-1:0),r=1;r1?t-1:0),r=1;r0&&(t[i]=e)})),t};function C(e,t){return i=e,r=e=>W(e)&&!G(t)?e.slice(0,t):e,s=new Set,function e(t,i){return t!==Object(t)?r?r(t,i):t:s.has(t)?void 0:(s.add(t),B(t)?(n=[],b(t,(t=>{n.push(e(t))}))):(n={},y(t,((t,i)=>{s.has(t)||(n[i]=e(t,i))}))),n);var n}(i);var i,r,s}var P=[\"herokuapp.com\",\"vercel.app\",\"netlify.app\"];function F(e){var t=null==e?void 0:e.hostname;if(!W(t))return!1;var i=t.split(\".\").slice(-2).join(\".\");for(var r of P)if(i===r)return!1;return!0}function T(e,t){for(var i=0;i\"function\"==typeof e,U=e=>e===Object(e)&&!B(e),j=e=>{if(U(e)){for(var t in e)if(N.call(e,t))return!1;return!0}return!1},z=e=>void 0===e,W=e=>\"[object String]\"==q.call(e),V=e=>W(e)&&0===e.trim().length,G=e=>null===e,J=e=>z(e)||G(e),Y=e=>\"[object Number]\"==q.call(e),K=e=>\"[object Boolean]\"===q.call(e),X=e=>e instanceof FormData,Q=e=>$(g,e),Z=e=>{var i={_log:function(i){if(t&&(p.DEBUG||_.POSTHOG_DEBUG)&&!z(t.console)&&t.console){for(var r=(\"__rrweb_original__\"in t.console[i]?t.console[i].__rrweb_original__:t.console[i]),s=arguments.length,n=new Array(s>1?s-1:0),o=1;o{i.error(\"You must initialize PostHog before calling \".concat(e))},createLogger:t=>Z(\"\".concat(e,\" \").concat(t))};return i},ee=Z(\"[PostHog.js]\"),te=ee.createLogger,ie=te(\"[ExternalScriptsLoader]\"),re=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return ie.warn(\"\".concat(t,\" was requested but loading of external scripts is disabled.\")),i(\"Loading of external scripts is disabled\");var r=()=>{if(!a)return i(\"document not found\");var r=a.createElement(\"script\");if(r.type=\"text/javascript\",r.crossOrigin=\"anonymous\",r.src=t,r.onload=e=>i(void 0,e),r.onerror=e=>i(e),e.config.prepare_external_dependency_script&&(r=e.config.prepare_external_dependency_script(r)),!r)return i(\"prepare_external_dependency_script returned null\");var s,n=a.querySelectorAll(\"body > script\");n.length>0?null===(s=n[0].parentNode)||void 0===s||s.insertBefore(r,n[0]):a.body.appendChild(r)};null!=a&&a.body?r():null==a||a.addEventListener(\"DOMContentLoaded\",r)};function se(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function ne(e){for(var t=1;t=0||(s[i]=e[i]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}_.__PosthogExtensions__=_.__PosthogExtensions__||{},_.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{var r=\"/static/\".concat(t,\".js\")+\"?v=\".concat(e.version);if(\"remote-config\"===t&&(r=\"/array/\".concat(e.config.token,\"/config.js\")),\"toolbar\"===t){var s=3e5,n=Math.floor(Date.now()/s)*s;r=\"\".concat(r,\"&t=\").concat(n)}var o=e.requestRouter.endpointFor(\"assets\",r);re(e,o,i)},_.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{var r=e.requestRouter.endpointFor(\"api\",t);re(e,r,i)};var le=\"$people_distinct_id\",ce=\"__alias\",ue=\"__timers\",de=\"$autocapture_disabled_server_side\",he=\"$heatmaps_enabled_server_side\",_e=\"$exception_capture_enabled_server_side\",pe=\"$web_vitals_enabled_server_side\",ve=\"$dead_clicks_enabled_server_side\",ge=\"$web_vitals_allowed_metrics\",fe=\"$session_recording_enabled_server_side\",me=\"$console_log_recording_enabled_server_side\",be=\"$session_recording_network_payload_capture\",ye=\"$session_recording_canvas_recording\",we=\"$replay_sample_rate\",Se=\"$replay_minimum_duration\",ke=\"$replay_script_config\",Ee=\"$sesid\",xe=\"$session_is_sampled\",Ie=\"$session_recording_url_trigger_activated_session\",Ce=\"$session_recording_event_trigger_activated_session\",Pe=\"$enabled_feature_flags\",Fe=\"$early_access_features\",Te=\"$stored_person_properties\",Re=\"$stored_group_properties\",$e=\"$surveys\",Oe=\"$surveys_activated\",Me=\"$flag_call_reported\",Ae=\"$user_state\",Le=\"$client_session_props\",De=\"$capture_rate_limit\",Ne=\"$initial_campaign_params\",qe=\"$initial_referrer_info\",Be=\"$initial_person_info\",He=\"$epp\",Ue=\"__POSTHOG_TOOLBAR__\",je=\"$posthog_cookieless\",ze=[le,ce,\"__cmpns\",ue,fe,he,Ee,Pe,Ae,Fe,Re,Te,$e,Me,Le,De,Ne,qe,He],We=te(\"[FeatureFlags]\"),Ve=\"$active_feature_flags\",Ge=\"$override_feature_flags\",Je=\"$feature_flag_payloads\",Ye=\"$override_feature_flag_payloads\",Ke=e=>{var t={};for(var[i,r]of k(e||{}))r&&(t[i]=r);return t};class Xe{constructor(e){oe(this,\"_override_warning\",!1),oe(this,\"_hasLoadedFlags\",!1),oe(this,\"_requestInFlight\",!1),oe(this,\"_reloadingDisabled\",!1),oe(this,\"_additionalReloadRequested\",!1),oe(this,\"_decideCalled\",!1),oe(this,\"_flagsLoadedFromRemote\",!1),this.instance=e,this.featureFlagEventHandlers=[]}decide(){if(this.instance.config.__preview_remote_config)this._decideCalled=!0;else{var e=!this._reloadDebouncer&&(this.instance.config.advanced_disable_feature_flags||this.instance.config.advanced_disable_feature_flags_on_first_load);this._callDecideEndpoint({disableFlags:e})}}get hasLoadedFlags(){return this._hasLoadedFlags}getFlags(){return Object.keys(this.getFlagVariants())}getFlagVariants(){var e=this.instance.get_property(Pe),t=this.instance.get_property(Ge);if(!t)return e||{};for(var i=w({},e),r=Object.keys(t),s=0;s{this._callDecideEndpoint()}),5))}clearDebouncer(){clearTimeout(this._reloadDebouncer),this._reloadDebouncer=void 0}ensureFlagsLoaded(){this._hasLoadedFlags||this._requestInFlight||this._reloadDebouncer||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this._reloadingDisabled=e}_callDecideEndpoint(t){if(this.clearDebouncer(),!this.instance.config.advanced_disable_decide)if(this._requestInFlight)this._additionalReloadRequested=!0;else{var i={token:this.instance.config.token,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:this.instance.get_property(Te),group_properties:this.instance.get_property(Re)};(null!=t&&t.disableFlags||this.instance.config.advanced_disable_feature_flags)&&(i.disable_flags=!0),this._requestInFlight=!0,this.instance._send_request({method:\"POST\",url:this.instance.requestRouter.endpointFor(\"api\",\"/decide/?v=3\"),data:i,compression:this.instance.config.disable_compression?void 0:e.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>{var t,r,s=!0;(200===e.statusCode&&(this.$anon_distinct_id=void 0,s=!1),this._requestInFlight=!1,this._decideCalled)||(this._decideCalled=!0,this.instance._onRemoteConfig(null!==(r=e.json)&&void 0!==r?r:{}));i.disable_flags||(this._flagsLoadedFromRemote=!s,this.receivedFeatureFlags(null!==(t=e.json)&&void 0!==t?t:{},s),this._additionalReloadRequested&&(this._additionalReloadRequested=!1,this._callDecideEndpoint()))}})}}getFeatureFlag(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._hasLoadedFlags||this.getFlags()&&this.getFlags().length>0){var i,r,s,n,o,a=this.getFlagVariants()[e],l=\"\".concat(a),c=this.instance.get_property(Me)||{};if(t.send_event||!(\"send_event\"in t))if(!(e in c)||!c[e].includes(l))B(c[e])?c[e].push(l):c[e]=[l],null===(i=this.instance.persistence)||void 0===i||i.register({[Me]:c}),this.instance.capture(\"$feature_flag_called\",{$feature_flag:e,$feature_flag_response:a,$feature_flag_payload:this.getFeatureFlagPayload(e)||null,$feature_flag_bootstrapped_response:(null===(r=this.instance.config.bootstrap)||void 0===r||null===(s=r.featureFlags)||void 0===s?void 0:s[e])||null,$feature_flag_bootstrapped_payload:(null===(n=this.instance.config.bootstrap)||void 0===n||null===(o=n.featureFlagPayloads)||void 0===o?void 0:o[e])||null,$used_bootstrap_value:!this._flagsLoadedFromRemote});return a}We.warn('getFeatureFlag for key \"'+e+\"\\\" failed. Feature flags didn't load in time.\")}getFeatureFlagPayload(e){return this.getFlagPayloads()[e]}isFeatureEnabled(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._hasLoadedFlags||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(e,t);We.warn('isFeatureEnabled for key \"'+e+\"\\\" failed. Feature flags didn't load in time.\")}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this.instance.persistence){this._hasLoadedFlags=!0;var i=this.getFlagVariants(),r=this.getFlagPayloads();!function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=e.featureFlags,n=e.featureFlagPayloads;if(s)if(B(s)){var o={};if(s)for(var a=0;a1&&void 0!==arguments[1]&&arguments[1];We.warn(\"override is deprecated. Please use overrideFeatureFlags instead.\"),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){if(!this.instance.__loaded||!this.instance.persistence)return We.uninitializedWarning(\"posthog.feature_flags.overrideFeatureFlags\");if(!1===e)return this.instance.persistence.unregister(Ge),this.instance.persistence.unregister(Ye),void this._fireFeatureFlagsCallbacks();if(e&&\"object\"==typeof e&&(\"flags\"in e||\"payloads\"in e)){var t,i=e;if(this._override_warning=Boolean(null!==(t=i.suppressWarning)&&void 0!==t&&t),\"flags\"in i)if(!1===i.flags)this.instance.persistence.unregister(Ge);else if(i.flags)if(B(i.flags)){for(var r={},s=0;sthis.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t){var i,r=(this.instance.get_property(Fe)||[]).find((t=>t.flagKey===e)),s={[\"$feature_enrollment/\".concat(e)]:t},n={$feature_flag:e,$feature_enrollment:t,$set:s};r&&(n.$early_access_feature_name=r.name),this.instance.capture(\"$feature_enrollment_update\",n),this.setPersonPropertiesForFlags(s,!1);var o=ne(ne({},this.getFlagVariants()),{},{[e]:t});null===(i=this.instance.persistence)||void 0===i||i.register({[Ve]:Object.keys(Ke(o)),[Pe]:o}),this._fireFeatureFlagsCallbacks()}getEarlyAccessFeatures(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.instance.get_property(Fe);if(i&&!t)return e(i);this.instance._send_request({url:this.instance.requestRouter.endpointFor(\"api\",\"/api/early_access_features/?token=\".concat(this.instance.config.token)),method:\"GET\",callback:t=>{var i;if(t.json){var r=t.json.earlyAccessFeatures;return null===(i=this.instance.persistence)||void 0===i||i.register({[Fe]:r}),e(r)}}})}_prepareFeatureFlagsForCallbacks(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((e=>t[e])),flagVariants:Object.keys(t).filter((e=>t[e])).reduce(((e,i)=>(e[i]=t[i],e)),{})}}_fireFeatureFlagsCallbacks(e){var{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();this.featureFlagEventHandlers.forEach((r=>r(t,i,{errorsLoading:e})))}setPersonPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.instance.get_property(Te)||{};this.instance.register({[Te]:ne(ne({},i),e)}),t&&this.instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this.instance.unregister(Te)}setGroupPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.instance.get_property(Re)||{};0!==Object.keys(i).length&&Object.keys(i).forEach((t=>{i[t]=ne(ne({},i[t]),e[t]),delete e[t]})),this.instance.register({[Re]:ne(ne({},i),e)}),t&&this.instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this.instance.get_property(Re)||{};this.instance.register({[Re]:ne(ne({},t),{},{[e]:{}})})}else this.instance.unregister(Re)}}Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Number.isInteger||(Number.isInteger=function(e){return Y(e)&&isFinite(e)&&Math.floor(e)===e});var Qe=\"0123456789abcdef\";class Ze{constructor(e){if(this.bytes=e,16!==e.length)throw new TypeError(\"not 128-bit length\")}static fromFieldsV7(e,t,i,r){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(r)||e<0||t<0||i<0||r<0||e>0xffffffffffff||t>4095||i>1073741823||r>4294967295)throw new RangeError(\"invalid field value\");var s=new Uint8Array(16);return s[0]=e/Math.pow(2,40),s[1]=e/Math.pow(2,32),s[2]=e/Math.pow(2,24),s[3]=e/Math.pow(2,16),s[4]=e/Math.pow(2,8),s[5]=e,s[6]=112|t>>>8,s[7]=t,s[8]=128|i>>>24,s[9]=i>>>16,s[10]=i>>>8,s[11]=i,s[12]=r>>>24,s[13]=r>>>16,s[14]=r>>>8,s[15]=r,new Ze(s)}toString(){for(var e=\"\",t=0;t>>4)+Qe.charAt(15&this.bytes[t]),3!==t&&5!==t&&7!==t&&9!==t||(e+=\"-\");if(36!==e.length)throw new Error(\"Invalid UUIDv7 was generated\");return e}clone(){return new Ze(this.bytes.slice(0))}equals(e){return 0===this.compareTo(e)}compareTo(e){for(var t=0;t<16;t++){var i=this.bytes[t]-e.bytes[t];if(0!==i)return Math.sign(i)}return 0}}class et{constructor(){oe(this,\"timestamp\",0),oe(this,\"counter\",0),oe(this,\"random\",new rt)}generate(){var e=this.generateOrAbort();if(z(e)){this.timestamp=0;var t=this.generateOrAbort();if(z(t))throw new Error(\"Could not generate UUID after timestamp reset\");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.timestamp)this.timestamp=e,this.resetCounter();else{if(!(e+1e4>this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return Ze.fromFieldsV7(this.timestamp,Math.trunc(this.counter/Math.pow(2,30)),this.counter&Math.pow(2,30)-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}}var tt,it=e=>{if(\"undefined\"!=typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error(\"no cryptographically strong RNG available\");for(var t=0;tcrypto.getRandomValues(e));class rt{constructor(){oe(this,\"buffer\",new Uint32Array(8)),oe(this,\"cursor\",1/0)}nextUint32(){return this.cursor>=this.buffer.length&&(it(this.buffer),this.cursor=0),this.buffer[this.cursor++]}}var st=()=>nt().toString(),nt=()=>(tt||(tt=new et)).generate(),ot=\"Thu, 01 Jan 1970 00:00:00 GMT\",at=\"\";var lt=/[a-z0-9][a-z0-9-]+\\.[a-z]{2,}$/i;function ct(e,t){if(t){var i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a;if(at)return at;if(!t)return\"\";if([\"localhost\",\"127.0.0.1\"].includes(e))return\"\";for(var i=e.split(\".\"),r=Math.min(i.length,8),s=\"dmn_chk_\"+st(),n=new RegExp(\"(^|;)\\\\s*\"+s+\"=1\");!at&&r--;){var o=i.slice(r).join(\".\"),l=s+\"=1;domain=.\"+o;t.cookie=l,n.test(t.cookie)&&(t.cookie=l+\";expires=\"+ot,at=o)}return at}(e);if(!i){var r=(e=>{var t=e.match(lt);return t?t[0]:\"\"})(e);r!==i&&ee.info(\"Warning: cookie subdomain discovery mismatch\",r,i),i=r}return i?\"; domain=.\"+i:\"\"}return\"\"}var ut={is_supported:()=>!!a,error:function(e){ee.error(\"cookieStore error: \"+e)},get:function(e){if(a){try{for(var t=e+\"=\",i=a.cookie.split(\";\").filter((e=>e.length)),r=0;r3686.4&&ee.warn(\"cookieStore warning: large cookie, len=\"+u.length),a.cookie=u,u}catch(e){return}},remove:function(e,t){try{ut.set(e,\"\",-1,t)}catch(e){return}}},dt=null,ht={is_supported:function(){if(!G(dt))return dt;var e=!0;if(z(t))e=!1;else try{var i=\"__mplssupport__\";ht.set(i,\"xyz\"),'\"xyz\"'!==ht.get(i)&&(e=!1),ht.remove(i)}catch(t){e=!1}return e||ee.error(\"localStorage unsupported; falling back to cookie store\"),dt=e,e},error:function(e){ee.error(\"localStorage error: \"+e)},get:function(e){try{return null==t?void 0:t.localStorage.getItem(e)}catch(e){ht.error(e)}return null},parse:function(e){try{return JSON.parse(ht.get(e))||{}}catch(e){}return null},set:function(e,i){try{null==t||t.localStorage.setItem(e,JSON.stringify(i))}catch(e){ht.error(e)}},remove:function(e){try{null==t||t.localStorage.removeItem(e)}catch(e){ht.error(e)}}},_t=[\"distinct_id\",Ee,xe,He,Be],pt=ne(ne({},ht),{},{parse:function(e){try{var t={};try{t=ut.parse(e)||{}}catch(e){}var i=w(t,JSON.parse(ht.get(e)||\"{}\"));return ht.set(e,i),i}catch(e){}return null},set:function(e,t,i,r,s,n){try{ht.set(e,t,void 0,void 0,n);var o={};_t.forEach((e=>{t[e]&&(o[e]=t[e])})),Object.keys(o).length&&ut.set(e,o,i,r,s,n)}catch(e){ht.error(e)}},remove:function(e,i){try{null==t||t.localStorage.removeItem(e),ut.remove(e,i)}catch(e){ht.error(e)}}}),vt={},gt={is_supported:function(){return!0},error:function(e){ee.error(\"memoryStorage error: \"+e)},get:function(e){return vt[e]||null},parse:function(e){return vt[e]||null},set:function(e,t){vt[e]=t},remove:function(e){delete vt[e]}},ft=null,mt={is_supported:function(){if(!G(ft))return ft;if(ft=!0,z(t))ft=!1;else try{var e=\"__support__\";mt.set(e,\"xyz\"),'\"xyz\"'!==mt.get(e)&&(ft=!1),mt.remove(e)}catch(e){ft=!1}return ft},error:function(e){ee.error(\"sessionStorage error: \",e)},get:function(e){try{return null==t?void 0:t.sessionStorage.getItem(e)}catch(e){mt.error(e)}return null},parse:function(e){try{return JSON.parse(mt.get(e))||null}catch(e){}return null},set:function(e,i){try{null==t||t.sessionStorage.setItem(e,JSON.stringify(i))}catch(e){mt.error(e)}},remove:function(e){try{null==t||t.sessionStorage.removeItem(e)}catch(e){mt.error(e)}}},bt=[\"localhost\",\"127.0.0.1\"],yt=e=>{var t=null==a?void 0:a.createElement(\"a\");return z(t)?null:(t.href=e,t)},wt=function(e){var t,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"&\",s=[];return y(e,(function(e,r){z(e)||z(r)||\"undefined\"===r||(t=encodeURIComponent((e=>e instanceof File)(e)?e.name:e.toString()),i=encodeURIComponent(r),s[s.length]=i+\"=\"+t)})),s.join(r)},St=function(e,t){for(var i,r=((e.split(\"#\")[0]||\"\").split(\"?\")[1]||\"\").split(\"&\"),s=0;st&&$(t,Rt)||function(e){return $(e,Ot)&&!$(e,Nt)&&!$(e,Ct)}(e),gi=function(e,t){return t=t||\"\",$(e,\" OPR/\")&&$(e,\"Mini\")?zt:$(e,\" OPR/\")?jt:_i.test(e)?Mt:$(e,\"IE\"+xt)||$(e,\"WPDesktop\")?Ut:$(e,Lt)?Dt:$(e,Wt)||$(e,\"Edg/\")?Vt:$(e,\"FBIOS\")?\"Facebook \"+xt:$(e,\"UCWEB\")||$(e,\"UCBrowser\")?\"UC Browser\":$(e,\"CriOS\")?Bt:$(e,\"CrMo\")||$(e,Nt)?Nt:$(e,Ct)&&$(e,Ot)?Qt:$(e,\"FxiOS\")?Jt:$(e.toLowerCase(),ai.toLowerCase())?ai:vi(e,t)?$(e,xt)?Zt:Ot:$(e,Gt)?Gt:$(e,\"MSIE\")||$(e,\"Trident/\")?Ht:$(e,\"Gecko\")?Gt:\"\"},fi={[Ut]:[new RegExp(\"rv:\"+li)],[Vt]:[new RegExp(Wt+\"?\\\\/\"+li)],[Nt]:[new RegExp(\"(\"+Nt+\"|CrMo)\\\\/\"+li)],[Bt]:[new RegExp(\"CriOS\\\\/\"+li)],\"UC Browser\":[new RegExp(\"(UCBrowser|UCWEB)\\\\/\"+li)],[Ot]:[ci],[Zt]:[ci],[jt]:[new RegExp(\"(Opera|OPR)\\\\/\"+li)],[Gt]:[new RegExp(Gt+\"\\\\/\"+li)],[Jt]:[new RegExp(\"FxiOS\\\\/\"+li)],[ai]:[new RegExp(\"Konqueror[:/]?\"+li,\"i\")],[Mt]:[new RegExp(Mt+\" \"+li),ci],[Qt]:[new RegExp(\"android\\\\s\"+li,\"i\")],[Dt]:[new RegExp(Lt+\"\\\\/\"+li)],[Ht]:[new RegExp(\"(rv:|MSIE )\"+li)],Mozilla:[new RegExp(\"rv:\"+li)]},mi=[[new RegExp(Xt+\"; \"+Xt+\" (.*?)[);]\",\"i\"),e=>[Xt,e&&e[1]||\"\"]],[new RegExp(Yt,\"i\"),[Yt,\"\"]],[new RegExp(Kt,\"i\"),[Kt,\"\"]],[_i,[Mt,\"\"]],[new RegExp(ei,\"i\"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[ti,\"\"];if(new RegExp(xt).test(t)&&!/IEMobile\\b/.test(t))return[ei+\" \"+xt,\"\"];var i=/Windows NT ([0-9.]+)/i.exec(t);if(i&&i[1]){var r=i[1],s=pi[r]||\"\";return/arm/i.test(t)&&(s=\"RT\"),[ei,s]}return[ei,\"\"]}],[/((iPhone|iPad|iPod).*?OS (\\d+)_(\\d+)_?(\\d+)?|iPhone)/,e=>{if(e&&e[3]){var t=[e[3],e[4],e[5]||\"0\"];return[It,t.join(\".\")]}return[It,\"\"]}],[/(watch.*\\/(\\d+\\.\\d+\\.\\d+)|watch os,(\\d+\\.\\d+),)/i,e=>{var t=\"\";return e&&e.length>=3&&(t=z(e[2])?e[3]:e[2]),[\"watchOS\",t]}],[new RegExp(\"(\"+Ct+\" (\\\\d+)\\\\.(\\\\d+)\\\\.?(\\\\d+)?|\"+Ct+\")\",\"i\"),e=>{if(e&&e[2]){var t=[e[2],e[3],e[4]||\"0\"];return[Ct,t.join(\".\")]}return[Ct,\"\"]}],[/Mac OS X (\\d+)[_.](\\d+)[_.]?(\\d+)?/i,e=>{var t=[\"Mac OS X\",\"\"];if(e&&e[1]){var i=[e[1],e[2],e[3]||\"0\"];t[1]=i.join(\".\")}return t}],[/Mac/i,[\"Mac OS X\",\"\"]],[/CrOS/,[qt,\"\"]],[/Linux|debian/i,[\"Linux\",\"\"]]],bi=function(e){return hi.test(e)?Yt:di.test(e)?Kt:ui.test(e)?Xt:new RegExp(ri,\"i\").test(e)?ri:new RegExp(\"(\"+ti+\"|WPDesktop)\",\"i\").test(e)?ti:/iPad/.test(e)?Tt:/iPod/.test(e)?\"iPod Touch\":/iPhone/.test(e)?\"iPhone\":/(watch)(?: ?os[,/]|\\d,\\d\\/)[\\d.]+/i.test(e)?$t:_i.test(e)?Mt:/(kobo)\\s(ereader|touch)/i.test(e)?\"Kobo\":new RegExp(ii,\"i\").test(e)?ii:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i.test(e)||/(kf[a-z]+)( bui|\\)).+silk\\//i.test(e)?\"Kindle Fire\":/(Android|ZTE)/i.test(e)?!new RegExp(xt).test(e)||/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(e)?/pixel[\\daxl ]{1,6}/i.test(e)&&!/pixel c/i.test(e)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(e)||/lmy47v/i.test(e)&&!/QTAQZ3/i.test(e)?Ct:Ft:Ct:new RegExp(\"(pda|\"+xt+\")\",\"i\").test(e)?ni:new RegExp(Pt,\"i\").test(e)&&!new RegExp(Pt+\" pc\",\"i\").test(e)?oi:\"\"},yi=\"https?://(.*)\",wi=[\"gclid\",\"gclsrc\",\"dclid\",\"gbraid\",\"wbraid\",\"fbclid\",\"msclkid\",\"twclid\",\"li_fat_id\",\"igshid\",\"ttclid\",\"rdt_cid\",\"irclid\",\"_kx\"],Si=S([\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"gad_source\",\"mc_cid\"],wi),ki=\"\",Ei={campaignParams:function(){var{customTrackedParams:e,maskPersonalDataProperties:t,customPersonalDataProperties:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!a)return{};var r=t?S([],wi,i||[]):[];return this._campaignParamsFromUrl(kt(a.URL,r,ki),e)},_campaignParamsFromUrl:function(e,t){var i=Si.concat(t||[]),r={};return y(i,(function(t){var i=St(e,t);r[t]=i||null})),r},_searchEngine:function(e){return e?0===e.search(yi+\"google.([^/?]*)\")?\"google\":0===e.search(yi+\"bing.com\")?\"bing\":0===e.search(yi+\"yahoo.com\")?\"yahoo\":0===e.search(yi+\"duckduckgo.com\")?\"duckduckgo\":null:null},_searchInfoFromReferrer:function(e){var t=Ei._searchEngine(e),i=\"yahoo\"!=t?\"q\":\"p\",r={};if(!G(t)){r.$search_engine=t;var s=a?St(a.referrer,i):\"\";s.length&&(r.ph_keyword=s)}return r},searchInfo:function(){var e=null==a?void 0:a.referrer;return e?this._searchInfoFromReferrer(e):{}},browser:gi,browserVersion:function(e,t){var i=gi(e,t),r=fi[i];if(z(r))return null;for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{};if(!h)return{};var r=e?S([],wi,i||[]):[],[s,n]=Ei.os(h);return w(I({$os:s,$os_version:n,$browser:Ei.browser(h,navigator.vendor),$device:Ei.device(h),$device_type:Ei.deviceType(h),$timezone:Ei.timezone(),$timezone_offset:Ei.timezoneOffset()}),{$current_url:kt(null==l?void 0:l.href,r,ki),$host:null==l?void 0:l.host,$pathname:null==l?void 0:l.pathname,$raw_user_agent:h.length>1e3?h.substring(0,997)+\"...\":h,$browser_version:Ei.browserVersion(h,navigator.vendor),$browser_language:Ei.browserLanguage(),$browser_language_prefix:Ei.browserLanguagePrefix(),$screen_height:null==t?void 0:t.screen.height,$screen_width:null==t?void 0:t.screen.width,$viewport_height:null==t?void 0:t.innerHeight,$viewport_width:null==t?void 0:t.innerWidth,$lib:\"web\",$lib_version:p.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})},people_properties:function(){if(!h)return{};var[e,t]=Ei.os(h);return w(I({$os:e,$os_version:t,$browser:Ei.browser(h,navigator.vendor)}),{$browser_version:Ei.browserVersion(h,navigator.vendor)})}},xi=[\"cookie\",\"localstorage\",\"localstorage+cookie\",\"sessionstorage\",\"memory\"];class Ii{constructor(e){this.config=e,this.props={},this.campaign_params_saved=!1,this.name=(e=>{var t=\"\";return e.token&&(t=e.token.replace(/\\+/g,\"PL\").replace(/\\//g,\"SL\").replace(/=/g,\"EQ\")),e.persistence_name?\"ph_\"+e.persistence_name:\"ph_\"+t+\"_posthog\"})(e),this.storage=this.buildStorage(e),this.load(),e.debug&&ee.info(\"Persistence loaded\",e.persistence,ne({},this.props)),this.update_config(e,e),this.save()}buildStorage(e){-1===xi.indexOf(e.persistence.toLowerCase())&&(ee.critical(\"Unknown persistence type \"+e.persistence+\"; falling back to localStorage+cookie\"),e.persistence=\"localStorage+cookie\");var t=e.persistence.toLowerCase();return\"localstorage\"===t&&ht.is_supported()?ht:\"localstorage+cookie\"===t&&pt.is_supported()?pt:\"sessionstorage\"===t&&mt.is_supported()?mt:\"memory\"===t?gt:\"cookie\"===t?ut:pt.is_supported()?pt:ut}properties(){var e={};return y(this.props,(function(t,i){if(i===Pe&&U(t))for(var r=Object.keys(t),s=0;s{this.props.hasOwnProperty(i)&&this.props[i]!==t||(this.props[i]=e,r=!0)})),r)return this.save(),!0}return!1}register(e,t){if(U(e)){this.expire_days=z(t)?this.default_expiry:t;var i=!1;if(y(e,((t,r)=>{e.hasOwnProperty(r)&&this.props[r]!==t&&(this.props[r]=t,i=!0)})),i)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.campaign_params_saved){var e=Ei.campaignParams({customTrackedParams:this.config.custom_campaign_params,maskPersonalDataProperties:this.config.mask_personal_data_properties,customPersonalDataProperties:this.config.custom_personal_data_properties});j(I(e))||this.register(e),this.campaign_params_saved=!0}}update_search_keyword(){this.register(Ei.searchInfo())}update_referrer_info(){this.register_once(Ei.referrerInfo(),void 0)}set_initial_person_info(){this.props[Ne]||this.props[qe]||this.register_once({[Be]:Ei.initialPersonInfo()},void 0)}get_referrer_info(){return I({$referrer:this.props.$referrer,$referring_domain:this.props.$referring_domain})}get_initial_props(){var e={};y([qe,Ne],(t=>{var i=this.props[t];i&&y(i,(function(t,i){e[\"$initial_\"+M(i)]=t}))}));var t=this.props[Be];if(t){var i=Ei.initialPersonPropsFromInfo(t);w(e,i)}return e}safe_merge(e){return y(this.props,(function(t,i){i in e||(e[i]=t)})),e}update_config(e,t){if(this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence){var i=this.buildStorage(e),r=this.props;this.clear(),this.storage=i,this.props=r,this.save()}}set_disabled(e){this.disabled=e,this.disabled?this.remove():this.save()}set_cross_subdomain(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())}get_cross_subdomain(){return!!this.cross_subdomain}set_secure(e){e!==this.secure&&(this.secure=e,this.remove(),this.save())}set_event_timer(e,t){var i=this.props[ue]||{};i[e]=t,this.props[ue]=i,this.save()}remove_event_timer(e){var t=(this.props[ue]||{})[e];return z(t)||(delete this.props[ue][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}}function Ci(e){var t,i;return(null===(t=JSON.stringify(e,(i=[],function(e,t){if(U(t)){for(;i.length>0&&i[i.length-1]!==this;)i.pop();return i.includes(t)?\"[Circular]\":(i.push(t),t)}return t})))||void 0===t?void 0:t.length)||0}function Pi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6606028.8;if(e.size>=t&&e.data.length>1){var i=Math.floor(e.data.length/2),r=e.data.slice(0,i),s=e.data.slice(i);return[Pi({size:Ci(r),data:r,sessionId:e.sessionId,windowId:e.windowId}),Pi({size:Ci(s),data:s,sessionId:e.sessionId,windowId:e.windowId})].flatMap((e=>e))}return[e]}var Fi=(e=>(e[e.DomContentLoaded=0]=\"DomContentLoaded\",e[e.Load=1]=\"Load\",e[e.FullSnapshot=2]=\"FullSnapshot\",e[e.IncrementalSnapshot=3]=\"IncrementalSnapshot\",e[e.Meta=4]=\"Meta\",e[e.Custom=5]=\"Custom\",e[e.Plugin=6]=\"Plugin\",e))(Fi||{}),Ti=(e=>(e[e.Mutation=0]=\"Mutation\",e[e.MouseMove=1]=\"MouseMove\",e[e.MouseInteraction=2]=\"MouseInteraction\",e[e.Scroll=3]=\"Scroll\",e[e.ViewportResize=4]=\"ViewportResize\",e[e.Input=5]=\"Input\",e[e.TouchMove=6]=\"TouchMove\",e[e.MediaInteraction=7]=\"MediaInteraction\",e[e.StyleSheetRule=8]=\"StyleSheetRule\",e[e.CanvasMutation=9]=\"CanvasMutation\",e[e.Font=10]=\"Font\",e[e.Log=11]=\"Log\",e[e.Drag=12]=\"Drag\",e[e.StyleDeclaration=13]=\"StyleDeclaration\",e[e.Selection=14]=\"Selection\",e[e.AdoptedStyleSheet=15]=\"AdoptedStyleSheet\",e[e.CustomElement=16]=\"CustomElement\",e))(Ti||{});function Ri(e){var t;return e instanceof Element&&(e.id===Ue||!(null===(t=e.closest)||void 0===t||!t.call(e,\".toolbar-global-fade-container\")))}function $i(e){return!!e&&1===e.nodeType}function Oi(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function Mi(e){return!!e&&3===e.nodeType}function Ai(e){return!!e&&11===e.nodeType}function Li(e){return e?O(e).split(/\\s+/):[]}function Di(e){var i=null==t?void 0:t.location.href;return!!(i&&e&&e.some((e=>i.match(e))))}function Ni(e){var t=\"\";switch(typeof e.className){case\"string\":t=e.className;break;case\"object\":t=(e.className&&\"baseVal\"in e.className?e.className.baseVal:null)||e.getAttribute(\"class\")||\"\";break;default:t=\"\"}return Li(t)}function qi(e){return J(e)?null:O(e).split(/(\\s+)/).filter((e=>Zi(e))).join(\"\").replace(/[\\r\\n]/g,\" \").replace(/[ ]+/g,\" \").substring(0,255)}function Bi(e){var t=\"\";return Wi(e)&&!Vi(e)&&e.childNodes&&e.childNodes.length&&y(e.childNodes,(function(e){var i;Mi(e)&&e.textContent&&(t+=null!==(i=qi(e.textContent))&&void 0!==i?i:\"\")})),O(t)}function Hi(e){return z(e.target)?e.srcElement||null:null!==(t=e.target)&&void 0!==t&&t.shadowRoot?e.composedPath()[0]||null:e.target||null;var t}var Ui=[\"a\",\"button\",\"form\",\"input\",\"select\",\"textarea\",\"label\"];function ji(e){var t=e.parentNode;return!(!t||!$i(t))&&t}function zi(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;if(!t||!e||Oi(e,\"html\")||!$i(e))return!1;if(null!=r&&r.url_allowlist&&!Di(r.url_allowlist))return!1;if(null!=r&&r.url_ignorelist&&Di(r.url_ignorelist))return!1;if(null!=r&&r.dom_event_allowlist){var o=r.dom_event_allowlist;if(o&&!o.some((e=>i.type===e)))return!1}for(var a=!1,l=[e],c=!0,u=e;u.parentNode&&!Oi(u,\"body\");)if(Ai(u.parentNode))l.push(u.parentNode.host),u=u.parentNode.host;else{if(!(c=ji(u)))break;if(s||Ui.indexOf(c.tagName.toLowerCase())>-1)a=!0;else{var d=t.getComputedStyle(c);d&&\"pointer\"===d.getPropertyValue(\"cursor\")&&(a=!0)}l.push(c),u=c}if(!function(e,t){var i=null==t?void 0:t.element_allowlist;if(z(i))return!0;var r=function(e){if(i.some((t=>e.tagName.toLowerCase()===t)))return{v:!0}};for(var s of e){var n=r(s);if(\"object\"==typeof n)return n.v}return!1}(l,r))return!1;if(!function(e,t){var i=null==t?void 0:t.css_selector_allowlist;if(z(i))return!0;var r=function(e){if(i.some((t=>e.matches(t))))return{v:!0}};for(var s of e){var n=r(s);if(\"object\"==typeof n)return n.v}return!1}(l,r))return!1;var h=t.getComputedStyle(e);if(h&&\"pointer\"===h.getPropertyValue(\"cursor\")&&\"click\"===i.type)return!0;var _=e.tagName.toLowerCase();switch(_){case\"html\":return!1;case\"form\":return(n||[\"submit\"]).indexOf(i.type)>=0;case\"input\":case\"select\":case\"textarea\":return(n||[\"change\",\"click\"]).indexOf(i.type)>=0;default:return a?(n||[\"click\"]).indexOf(i.type)>=0:(n||[\"click\"]).indexOf(i.type)>=0&&(Ui.indexOf(_)>-1||\"true\"===e.getAttribute(\"contenteditable\"))}}function Wi(e){for(var t=e;t.parentNode&&!Oi(t,\"body\");t=t.parentNode){var i=Ni(t);if($(i,\"ph-sensitive\")||$(i,\"ph-no-capture\"))return!1}if($(Ni(e),\"ph-include\"))return!0;var r=e.type||\"\";if(W(r))switch(r.toLowerCase()){case\"hidden\":case\"password\":return!1}var s=e.name||e.id||\"\";if(W(s)){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(s.replace(/[^a-zA-Z0-9]/g,\"\")))return!1}return!0}function Vi(e){return!!(Oi(e,\"input\")&&![\"button\",\"checkbox\",\"submit\",\"reset\"].includes(e.type)||Oi(e,\"select\")||Oi(e,\"textarea\")||\"true\"===e.getAttribute(\"contenteditable\"))}var Gi=\"(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})\",Ji=new RegExp(\"^(?:\".concat(Gi,\")$\")),Yi=new RegExp(Gi),Ki=\"\\\\d{3}-?\\\\d{2}-?\\\\d{4}\",Xi=new RegExp(\"^(\".concat(Ki,\")$\")),Qi=new RegExp(\"(\".concat(Ki,\")\"));function Zi(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(J(e))return!1;if(W(e)){if(e=O(e),(t?Ji:Yi).test((e||\"\").replace(/[- ]/g,\"\")))return!1;if((t?Xi:Qi).test(e))return!1}return!0}function er(e){var t=Bi(e);return Zi(t=\"\".concat(t,\" \").concat(tr(e)).trim())?t:\"\"}function tr(e){var t=\"\";return e&&e.childNodes&&e.childNodes.length&&y(e.childNodes,(function(e){var i;if(e&&\"span\"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase()))try{var r=Bi(e);t=\"\".concat(t,\" \").concat(r).trim(),e.childNodes&&e.childNodes.length&&(t=\"\".concat(t,\" \").concat(tr(e)).trim())}catch(e){ee.error(\"[AutoCapture]\",e)}})),t}function ir(e){return function(e){var t=e.map((e=>{var t,i,r=\"\";if(e.tag_name&&(r+=e.tag_name),e.attr_class)for(var s of(e.attr_class.sort(),e.attr_class))r+=\".\".concat(s.replace(/\"/g,\"\"));var n=ne(ne(ne(ne({},e.text?{text:e.text}:{}),{},{\"nth-child\":null!==(t=e.nth_child)&&void 0!==t?t:0,\"nth-of-type\":null!==(i=e.nth_of_type)&&void 0!==i?i:0},e.href?{href:e.href}:{}),e.attr_id?{attr_id:e.attr_id}:{}),e.attributes),o={};return k(n).sort(((e,t)=>{var[i]=e,[r]=t;return i.localeCompare(r)})).forEach((e=>{var[t,i]=e;return o[rr(t.toString())]=rr(i.toString())})),r+=\":\",r+=k(n).map((e=>{var[t,i]=e;return\"\".concat(t,'=\"').concat(i,'\"')})).join(\"\")}));return t.join(\";\")}(function(e){return e.map((e=>{var t,i,r={text:null===(t=e.$el_text)||void 0===t?void 0:t.slice(0,400),tag_name:e.tag_name,href:null===(i=e.attr__href)||void 0===i?void 0:i.slice(0,2048),attr_class:sr(e),attr_id:e.attr__id,nth_child:e.nth_child,nth_of_type:e.nth_of_type,attributes:{}};return k(e).filter((e=>{var[t]=e;return 0===t.indexOf(\"attr__\")})).forEach((e=>{var[t,i]=e;return r.attributes[t]=i})),r}))}(e))}function rr(e){return e.replace(/\"|\\\\\"/g,'\\\\\"')}function sr(e){var t=e.attr__class;return t?B(t)?t:Li(t):void 0}var nr=\"[SessionRecording]\",or=\"redacted\",ar={initiatorTypes:[\"audio\",\"beacon\",\"body\",\"css\",\"early-hint\",\"embed\",\"fetch\",\"frame\",\"iframe\",\"icon\",\"image\",\"img\",\"input\",\"link\",\"navigation\",\"object\",\"ping\",\"script\",\"track\",\"video\",\"xmlhttprequest\"],maskRequestFn:e=>e,recordHeaders:!1,recordBody:!1,recordInitialRequests:!1,recordPerformance:!1,performanceEntryTypeToObserve:[\"first-input\",\"navigation\",\"paint\",\"resource\"],payloadSizeLimitBytes:1e6,payloadHostDenyList:[\".lr-ingest.io\",\".ingest.sentry.io\",\".clarity.ms\",\"analytics.google.com\"]},lr=[\"authorization\",\"x-forwarded-for\",\"authorization\",\"cookie\",\"set-cookie\",\"x-api-key\",\"x-real-ip\",\"remote-addr\",\"forwarded\",\"proxy-authorization\",\"x-csrf-token\",\"x-csrftoken\",\"x-xsrf-token\"],cr=[\"password\",\"secret\",\"passwd\",\"api_key\",\"apikey\",\"auth\",\"credentials\",\"mysql_pwd\",\"privatekey\",\"private_key\",\"token\"],ur=[\"/s/\",\"/e/\",\"/i/\"];function dr(e,t,i,r){if(J(e))return e;var s=(null==t?void 0:t[\"content-length\"])||function(e){return new Blob([e]).size}(e);return W(s)&&(s=parseInt(s)),s>i?nr+\" \".concat(r,\" body too large to record (\").concat(s,\" bytes)\"):e}function hr(e,t){if(J(e))return e;var i=e;return Zi(i,!1)||(i=nr+\" \"+t+\" body \"+or),y(cr,(e=>{var r,s;null!==(r=i)&&void 0!==r&&r.length&&-1!==(null===(s=i)||void 0===s?void 0:s.indexOf(e))&&(i=nr+\" \"+t+\" body \"+or+\" as might contain: \"+e)})),i}var _r=(e,t)=>{var i,r,s,n={payloadSizeLimitBytes:ar.payloadSizeLimitBytes,performanceEntryTypeToObserve:[...ar.performanceEntryTypeToObserve],payloadHostDenyList:[...t.payloadHostDenyList||[],...ar.payloadHostDenyList]},o=!1!==e.session_recording.recordHeaders&&t.recordHeaders,a=!1!==e.session_recording.recordBody&&t.recordBody,l=!1!==e.capture_performance&&t.recordPerformance,c=(i=n,s=Math.min(1e6,null!==(r=i.payloadSizeLimitBytes)&&void 0!==r?r:1e6),e=>(null!=e&&e.requestBody&&(e.requestBody=dr(e.requestBody,e.requestHeaders,s,\"Request\")),null!=e&&e.responseBody&&(e.responseBody=dr(e.responseBody,e.responseHeaders,s,\"Response\")),e)),u=t=>{return c(((e,t)=>{var i,r=yt(e.name),s=0===t.indexOf(\"http\")?null===(i=yt(t))||void 0===i?void 0:i.pathname:t;\"/\"===s&&(s=\"\");var n=null==r?void 0:r.pathname.replace(s||\"\",\"\");if(!(r&&n&&ur.some((e=>0===n.indexOf(e)))))return e})((r=(i=t).requestHeaders,J(r)||y(Object.keys(null!=r?r:{}),(e=>{lr.includes(e.toLowerCase())&&(r[e]=or)})),i),e.api_host));var i,r},d=H(e.session_recording.maskNetworkRequestFn);return d&&H(e.session_recording.maskCapturedNetworkRequestFn)&&ee.warn(\"Both `maskNetworkRequestFn` and `maskCapturedNetworkRequestFn` are defined. `maskNetworkRequestFn` will be ignored.\"),d&&(e.session_recording.maskCapturedNetworkRequestFn=t=>{var i=e.session_recording.maskNetworkRequestFn({url:t.name});return ne(ne({},t),{},{name:null==i?void 0:i.url})}),n.maskRequestFn=H(e.session_recording.maskCapturedNetworkRequestFn)?t=>{var i,r,s,n=u(t);return n&&null!==(i=null===(r=(s=e.session_recording).maskCapturedNetworkRequestFn)||void 0===r?void 0:r.call(s,n))&&void 0!==i?i:void 0}:e=>function(e){if(!z(e))return e.requestBody=hr(e.requestBody,\"Request\"),e.responseBody=hr(e.responseBody,\"Response\"),e}(u(e)),ne(ne(ne({},ar),n),{},{recordHeaders:o,recordBody:a,recordPerformance:l,recordInitialRequests:l})};function pr(e,t,i,r,s){return t>i&&(ee.warn(\"min cannot be greater than max.\"),t=i),Y(e)?e>i?(r&&ee.warn(r+\" cannot be greater than max: \"+i+\". Using max value instead.\"),i):e1&&void 0!==arguments[1]?arguments[1]:{};oe(this,\"bucketSize\",100),oe(this,\"refillRate\",10),oe(this,\"mutationBuckets\",{}),oe(this,\"loggedTracker\",{}),oe(this,\"refillBuckets\",(()=>{Object.keys(this.mutationBuckets).forEach((e=>{this.mutationBuckets[e]=this.mutationBuckets[e]+this.refillRate,this.mutationBuckets[e]>=this.bucketSize&&delete this.mutationBuckets[e]}))})),oe(this,\"getNodeOrRelevantParent\",(e=>{var t=this.rrweb.mirror.getNode(e);if(\"svg\"!==(null==t?void 0:t.nodeName)&&t instanceof Element){var i=t.closest(\"svg\");if(i)return[this.rrweb.mirror.getId(i),i]}return[e,t]})),oe(this,\"numberOfChanges\",(e=>{var t,i,r,s,n,o,a,l;return(null!==(t=null===(i=e.removes)||void 0===i?void 0:i.length)&&void 0!==t?t:0)+(null!==(r=null===(s=e.attributes)||void 0===s?void 0:s.length)&&void 0!==r?r:0)+(null!==(n=null===(o=e.texts)||void 0===o?void 0:o.length)&&void 0!==n?n:0)+(null!==(a=null===(l=e.adds)||void 0===l?void 0:l.length)&&void 0!==a?a:0)})),oe(this,\"throttleMutations\",(e=>{if(3!==e.type||0!==e.data.source)return e;var t=e.data,i=this.numberOfChanges(t);t.attributes&&(t.attributes=t.attributes.filter((e=>{var t,i,r,[s,n]=this.getNodeOrRelevantParent(e.id);if(0===this.mutationBuckets[s])return!1;(this.mutationBuckets[s]=null!==(t=this.mutationBuckets[s])&&void 0!==t?t:this.bucketSize,this.mutationBuckets[s]=Math.max(this.mutationBuckets[s]-1,0),0===this.mutationBuckets[s])&&(this.loggedTracker[s]||(this.loggedTracker[s]=!0,null===(i=(r=this.options).onBlockedNode)||void 0===i||i.call(r,s,n)));return e})));var r=this.numberOfChanges(t);return 0!==r||i===r?e:void 0})),this.rrweb=e,this.options=r,this.refillRate=pr(null!==(t=this.options.refillRate)&&void 0!==t?t:this.refillRate,0,100,\"mutation throttling refill rate\"),this.bucketSize=pr(null!==(i=this.options.bucketSize)&&void 0!==i?i:this.bucketSize,0,100,\"mutation throttling bucket size\"),setInterval((()=>{this.refillBuckets()}),1e3)}}var gr=Uint8Array,fr=Uint16Array,mr=Uint32Array,br=new gr([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),yr=new gr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),wr=new gr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sr=function(e,t){for(var i=new fr(31),r=0;r<31;++r)i[r]=t+=1<>>1|(21845&Pr)<<1;Fr=(61680&(Fr=(52428&Fr)>>>2|(13107&Fr)<<2))>>>4|(3855&Fr)<<4,Cr[Pr]=((65280&Fr)>>>8|(255&Fr)<<8)>>>1}var Tr=function(e,t,i){for(var r=e.length,s=0,n=new fr(t);s>>l]=c}else for(o=new fr(r),s=0;s>>15-e[s];return o},Rr=new gr(288);for(Pr=0;Pr<144;++Pr)Rr[Pr]=8;for(Pr=144;Pr<256;++Pr)Rr[Pr]=9;for(Pr=256;Pr<280;++Pr)Rr[Pr]=7;for(Pr=280;Pr<288;++Pr)Rr[Pr]=8;var $r=new gr(32);for(Pr=0;Pr<32;++Pr)$r[Pr]=5;var Or=Tr(Rr,9,0),Mr=Tr($r,5,0),Ar=function(e){return(e/8>>0)+(7&e&&1)},Lr=function(e,t,i){(null==i||i>e.length)&&(i=e.length);var r=new(e instanceof fr?fr:e instanceof mr?mr:gr)(i-t);return r.set(e.subarray(t,i)),r},Dr=function(e,t,i){i<<=7&t;var r=t/8>>0;e[r]|=i,e[r+1]|=i>>>8},Nr=function(e,t,i){i<<=7&t;var r=t/8>>0;e[r]|=i,e[r+1]|=i>>>8,e[r+2]|=i>>>16},qr=function(e,t){for(var i=[],r=0;rh&&(h=n[r].s);var _=new fr(h+1),p=Br(i[u-1],_,0);if(p>t){r=0;var v=0,g=p-t,f=1<t))break;v+=f-(1<>>=g;v>0;){var b=n[r].s;_[b]=0&&v;--r){var y=n[r].s;_[y]==t&&(--_[y],++v)}p=t}return[new gr(_),p]},Br=function(e,t,i){return-1==e.s?Math.max(Br(e.l,t,i+1),Br(e.r,t,i+1)):t[e.s]=i},Hr=function(e){for(var t=e.length;t&&!e[--t];);for(var i=new fr(++t),r=0,s=e[0],n=1,o=function(e){i[r++]=e},a=1;a<=t;++a)if(e[a]==s&&a!=t)++n;else{if(!s&&n>2){for(;n>138;n-=138)o(32754);n>2&&(o(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(o(s),--n;n>6;n-=6)o(8304);n>2&&(o(n-3<<5|8208),n=0)}for(;n--;)o(s);n=1,s=e[a]}return[i.subarray(0,r),t]},Ur=function(e,t){for(var i=0,r=0;r>>8,e[s+2]=255^e[s],e[s+3]=255^e[s+1];for(var n=0;n4&&!I[wr[P-1]];--P);var F,T,R,$,O=c+5<<3,M=Ur(s,Rr)+Ur(n,$r)+o,A=Ur(s,h)+Ur(n,v)+o+14+3*P+Ur(k,I)+(2*k[16]+3*k[17]+7*k[18]);if(O<=M&&O<=A)return jr(t,u,e.subarray(l,l+c));if(Dr(t,u,1+(A15&&(Dr(t,u,q[E]>>>5&127),u+=q[E]>>>12)}}}else F=Or,T=Rr,R=Mr,$=$r;for(E=0;E255){B=r[E]>>>18&31;Nr(t,u,F[B+257]),u+=T[B+257],B>7&&(Dr(t,u,r[E]>>>23&31),u+=br[B]);var H=31&r[E];Nr(t,u,R[H]),u+=$[H],H>3&&(Nr(t,u,r[E]>>>5&8191),u+=yr[H])}else Nr(t,u,F[r[E]]),u+=T[r[E]];return Nr(t,u,F[256]),u+T[256]},Wr=new mr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Vr=function(){for(var e=new mr(256),t=0;t<256;++t){for(var i=t,r=9;--r;)i=(1&i&&3988292384)^i>>>1;e[t]=i}return e}(),Gr=function(){var e=4294967295;return{p:function(t){for(var i=e,r=0;r>>8;e=i},d:function(){return 4294967295^e}}},Jr=function(e,t,i,r,s){return function(e,t,i,r,s,n){var o=e.length,a=new gr(r+o+5*(1+Math.floor(o/7e3))+s),l=a.subarray(r,a.length-s),c=0;if(!t||o<8)for(var u=0;u<=o;u+=65535){var d=u+65535;d>>13,p=8191&h,v=(1<7e3||I>24576)&&$>423){c=zr(e,l,0,w,S,k,x,I,P,u-P,c),I=E=x=0,P=u;for(var O=0;O<286;++O)S[O]=0;for(O=0;O<30;++O)k[O]=0}var M=2,A=0,L=p,D=T-R&32767;if($>2&&F==y(u-D))for(var N=Math.min(_,$)-1,q=Math.min(32767,u),B=Math.min(258,$);D<=q&&--L&&T!=R;){if(e[u+M]==e[u+M-D]){for(var H=0;HM){if(M=H,A=D,H>N)break;var U=Math.min(D,H-2),j=0;for(O=0;Oj&&(j=W,R=z)}}}D+=(T=R)-(R=g[T])+32768&32767}if(A){w[I++]=268435456|xr[M]<<18|Ir[A];var V=31&xr[M],G=31&Ir[A];x+=br[V]+yr[G],++S[257+V],++k[G],C=u+M,++E}else w[I++]=e[u],++S[e[u]]}}c=zr(e,l,n,w,S,k,x,I,P,u-P,c)}return Lr(a,0,r+Ar(c)+s)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,i,r,!s)},Yr=function(e,t,i){for(;i;++t)e[t]=i,i>>>=8},Kr=function(e,t){var i=t.filename;if(e[0]=31,e[1]=139,e[2]=8,e[8]=t.level<2?4:9==t.level?2:0,e[9]=3,0!=t.mtime&&Yr(e,4,Math.floor(new Date(t.mtime||Date.now())/1e3)),i){e[3]=8;for(var r=0;r<=i.length;++r)e[r+10]=i.charCodeAt(r)}},Xr=function(e){return 10+(e.filename&&e.filename.length+1||0)};function Qr(e,t){void 0===t&&(t={});var i=Gr(),r=e.length;i.p(e);var s=Jr(e,t,Xr(t),8),n=s.length;return Kr(s,t),Yr(s,n-8,i.d()),Yr(s,n-4,r),s}function Zr(e,t){var i=e.length;if(\"undefined\"!=typeof TextEncoder)return(new TextEncoder).encode(e);for(var r=new gr(e.length+(e.length>>>1)),s=0,n=function(e){r[s++]=e},o=0;or.length){var a=new gr(s+8+(i-o<<1));a.set(r),r=a}var l=e.charCodeAt(o);l<128||t?n(l):l<2048?(n(192|l>>>6),n(128|63&l)):l>55295&&l<57344?(n(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++o))>>>18),n(128|l>>>12&63),n(128|l>>>6&63),n(128|63&l)):(n(224|l>>>12),n(128|l>>>6&63),n(128|63&l))}return Lr(r,0,s)}function es(e,t){return function(e){for(var t=0,i=0;i({rrwebMethod:e,enqueuedAt:Date.now(),attempt:1});function os(e){return function(e,t){for(var i=\"\",r=0;r>10,56320|1023&s))}return i}(Qr(Zr(JSON.stringify(e))),!0)}function as(e){return e.type===Fi.Custom&&\"sessionIdle\"===e.data.tag}function ls(e,t){return t.some((t=>\"regex\"===t.matching&&new RegExp(t.url).test(e)))}class cs{get sessionIdleThresholdMilliseconds(){return this.instance.config.session_recording.session_idle_threshold_ms||3e5}get rrwebRecord(){var e,t;return null==_||null===(e=_.__PosthogExtensions__)||void 0===e||null===(t=e.rrweb)||void 0===t?void 0:t.record}get started(){return this._captureStarted}get sessionManager(){if(!this.instance.sessionManager)throw new Error(ts+\" must be started with a valid sessionManager.\");return this.instance.sessionManager}get fullSnapshotIntervalMillis(){var e,t;return\"trigger_pending\"===this.triggerStatus?6e4:null!==(e=null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.full_snapshot_interval_millis)&&void 0!==e?e:rs}get isSampled(){var e=this.instance.get_property(xe);return K(e)?e:null}get sessionDuration(){var e,t,i=null===(e=this.buffer)||void 0===e?void 0:e.data[(null===(t=this.buffer)||void 0===t?void 0:t.data.length)-1],{sessionStartTimestamp:r}=this.sessionManager.checkAndGetSessionAndWindowId(!0);return i?i.timestamp-r:null}get isRecordingEnabled(){var e=!!this.instance.get_property(fe),i=!this.instance.config.disable_session_recording;return t&&e&&i}get isConsoleLogCaptureEnabled(){var e=!!this.instance.get_property(me),t=this.instance.config.enable_recording_console_log;return null!=t?t:e}get canvasRecording(){var e,t,i,r,s,n,o=this.instance.config.session_recording.captureCanvas,a=this.instance.get_property(ye),l=null!==(e=null!==(t=null==o?void 0:o.recordCanvas)&&void 0!==t?t:null==a?void 0:a.enabled)&&void 0!==e&&e,c=null!==(i=null!==(r=null==o?void 0:o.canvasFps)&&void 0!==r?r:null==a?void 0:a.fps)&&void 0!==i?i:0,u=null!==(s=null!==(n=null==o?void 0:o.canvasQuality)&&void 0!==n?n:null==a?void 0:a.quality)&&void 0!==s?s:0;return{enabled:l,fps:pr(c,0,12,\"canvas recording fps\"),quality:pr(u,0,1,\"canvas recording quality\")}}get networkPayloadCapture(){var e,t,i=this.instance.get_property(be),r={recordHeaders:null===(e=this.instance.config.session_recording)||void 0===e?void 0:e.recordHeaders,recordBody:null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.recordBody},s=(null==r?void 0:r.recordHeaders)||(null==i?void 0:i.recordHeaders),n=(null==r?void 0:r.recordBody)||(null==i?void 0:i.recordBody),o=U(this.instance.config.capture_performance)?this.instance.config.capture_performance.network_timing:this.instance.config.capture_performance,a=!!(K(o)?o:null==i?void 0:i.capturePerformance);return s||n||a?{recordHeaders:s,recordBody:n,recordPerformance:a}:void 0}get sampleRate(){var e=this.instance.get_property(we);return Y(e)?e:null}get minimumDuration(){var e=this.instance.get_property(Se);return Y(e)?e:null}get status(){return this.receivedDecide?this.isRecordingEnabled?!1===this.isSampled?\"disabled\":this._urlBlocked?\"paused\":J(this._linkedFlag)||this._linkedFlagSeen?\"trigger_pending\"===this.triggerStatus?\"buffering\":K(this.isSampled)?this.isSampled?\"sampled\":\"disabled\":\"active\":\"buffering\":\"disabled\":\"buffering\"}get urlTriggerStatus(){var e;return 0===this._urlTriggers.length?\"trigger_disabled\":(null===(e=this.instance)||void 0===e?void 0:e.get_property(Ie))===this.sessionId?\"trigger_activated\":\"trigger_pending\"}get eventTriggerStatus(){var e;return 0===this._eventTriggers.length?\"trigger_disabled\":(null===(e=this.instance)||void 0===e?void 0:e.get_property(Ce))===this.sessionId?\"trigger_activated\":\"trigger_pending\"}get triggerStatus(){var e=\"trigger_activated\"===this.eventTriggerStatus||\"trigger_activated\"===this.urlTriggerStatus,t=\"trigger_pending\"===this.eventTriggerStatus||\"trigger_pending\"===this.urlTriggerStatus;return e?\"trigger_activated\":t?\"trigger_pending\":\"trigger_disabled\"}constructor(e){if(oe(this,\"queuedRRWebEvents\",[]),oe(this,\"isIdle\",!1),oe(this,\"_linkedFlagSeen\",!1),oe(this,\"_lastActivityTimestamp\",Date.now()),oe(this,\"_linkedFlag\",null),oe(this,\"_removePageViewCaptureHook\",void 0),oe(this,\"_onSessionIdListener\",void 0),oe(this,\"_persistDecideOnSessionListener\",void 0),oe(this,\"_samplingSessionListener\",void 0),oe(this,\"_urlTriggers\",[]),oe(this,\"_urlBlocklist\",[]),oe(this,\"_urlBlocked\",!1),oe(this,\"_eventTriggers\",[]),oe(this,\"_removeEventTriggerCaptureHook\",void 0),oe(this,\"_forceAllowLocalhostNetworkCapture\",!1),oe(this,\"_onBeforeUnload\",(()=>{this._flushBuffer()})),oe(this,\"_onOffline\",(()=>{this._tryAddCustomEvent(\"browser offline\",{})})),oe(this,\"_onOnline\",(()=>{this._tryAddCustomEvent(\"browser online\",{})})),oe(this,\"_onVisibilityChange\",(()=>{if(null!=a&&a.visibilityState){var e=\"window \"+a.visibilityState;this._tryAddCustomEvent(e,{})}})),this.instance=e,this._captureStarted=!1,this._endpoint=\"/s/\",this.stopRrweb=void 0,this.receivedDecide=!1,!this.instance.sessionManager)throw is.error(\"started without valid sessionManager\"),new Error(ts+\" started without valid sessionManager. This is a bug.\");if(this.instance.config.__preview_experimental_cookieless_mode)throw new Error(ts+\" cannot be used with __preview_experimental_cookieless_mode.\");var{sessionId:t,windowId:i}=this.sessionManager.checkAndGetSessionAndWindowId();this.sessionId=t,this.windowId=i,this.buffer=this.clearBuffer(),this.sessionIdleThresholdMilliseconds>=this.sessionManager.sessionTimeoutMs&&is.warn(\"session_idle_threshold_ms (\".concat(this.sessionIdleThresholdMilliseconds,\") is greater than the session timeout (\").concat(this.sessionManager.sessionTimeoutMs,\"). Session will never be detected as idle\"))}startIfEnabledOrStop(e){this.isRecordingEnabled?(this._startCapture(e),R(t,\"beforeunload\",this._onBeforeUnload),R(t,\"offline\",this._onOffline),R(t,\"online\",this._onOnline),R(t,\"visibilitychange\",this._onVisibilityChange),this._setupSampling(),this._addEventTriggerListener(),J(this._removePageViewCaptureHook)&&(this._removePageViewCaptureHook=this.instance.on(\"eventCaptured\",(e=>{try{if(\"$pageview\"===e.event){var t=null!=e&&e.properties.$current_url?this._maskUrl(null==e?void 0:e.properties.$current_url):\"\";if(!t)return;this._tryAddCustomEvent(\"$pageview\",{href:t})}}catch(e){is.error(\"Could not add $pageview to rrweb session\",e)}}))),this._onSessionIdListener||(this._onSessionIdListener=this.sessionManager.onSessionId(((e,t,i)=>{var r,s,n,o;i&&(this._tryAddCustomEvent(\"$session_id_change\",{sessionId:e,windowId:t,changeReason:i}),null===(r=this.instance)||void 0===r||null===(s=r.persistence)||void 0===s||s.unregister(Ce),null===(n=this.instance)||void 0===n||null===(o=n.persistence)||void 0===o||o.unregister(Ie))})))):this.stopRecording()}stopRecording(){var e,i,r,s;this._captureStarted&&this.stopRrweb&&(this.stopRrweb(),this.stopRrweb=void 0,this._captureStarted=!1,null==t||t.removeEventListener(\"beforeunload\",this._onBeforeUnload),null==t||t.removeEventListener(\"offline\",this._onOffline),null==t||t.removeEventListener(\"online\",this._onOnline),null==t||t.removeEventListener(\"visibilitychange\",this._onVisibilityChange),this.clearBuffer(),clearInterval(this._fullSnapshotTimer),null===(e=this._removePageViewCaptureHook)||void 0===e||e.call(this),this._removePageViewCaptureHook=void 0,null===(i=this._removeEventTriggerCaptureHook)||void 0===i||i.call(this),this._removeEventTriggerCaptureHook=void 0,null===(r=this._onSessionIdListener)||void 0===r||r.call(this),this._onSessionIdListener=void 0,null===(s=this._samplingSessionListener)||void 0===s||s.call(this),this._samplingSessionListener=void 0,is.info(\"stopped\"))}makeSamplingDecision(e){var t,i=this.sessionId!==e,r=this.sampleRate;if(Y(r)){var s=this.isSampled,n=i||!K(s),o=n?es(e,r):s;n&&(o?this._reportStarted(\"sampled\"):is.warn(\"Sample rate (\".concat(r,\") has determined that this sessionId (\").concat(e,\") will not be sent to the server.\")),this._tryAddCustomEvent(\"samplingDecisionMade\",{sampleRate:r,isSampled:o})),null===(t=this.instance.persistence)||void 0===t||t.register({[xe]:o})}else{var a;null===(a=this.instance.persistence)||void 0===a||a.register({[xe]:null})}}onRemoteConfig(e){var t,i,r,s,n,o;(this._tryAddCustomEvent(\"$remote_config_received\",e),this._persistRemoteConfig(e),this._linkedFlag=(null===(t=e.sessionRecording)||void 0===t?void 0:t.linkedFlag)||null,null!==(i=e.sessionRecording)&&void 0!==i&&i.endpoint)&&(this._endpoint=null===(o=e.sessionRecording)||void 0===o?void 0:o.endpoint);if(this._setupSampling(),!J(this._linkedFlag)&&!this._linkedFlagSeen){var a=W(this._linkedFlag)?this._linkedFlag:this._linkedFlag.flag,l=W(this._linkedFlag)?null:this._linkedFlag.variant;this.instance.onFeatureFlags(((e,t)=>{var i=U(t)&&a in t,r=l?t[a]===l:i;r&&this._reportStarted(\"linked_flag_matched\",{linkedFlag:a,linkedVariant:l}),this._linkedFlagSeen=r}))}null!==(r=e.sessionRecording)&&void 0!==r&&r.urlTriggers&&(this._urlTriggers=e.sessionRecording.urlTriggers),null!==(s=e.sessionRecording)&&void 0!==s&&s.urlBlocklist&&(this._urlBlocklist=e.sessionRecording.urlBlocklist),null!==(n=e.sessionRecording)&&void 0!==n&&n.eventTriggers&&(this._eventTriggers=e.sessionRecording.eventTriggers),this.receivedDecide=!0,this.startIfEnabledOrStop()}_setupSampling(){Y(this.sampleRate)&&J(this._samplingSessionListener)&&(this._samplingSessionListener=this.sessionManager.onSessionId((e=>{this.makeSamplingDecision(e)})))}_persistRemoteConfig(e){if(this.instance.persistence){var t,i=this.instance.persistence,r=()=>{var t,r,s,n,o,a,l,c,u=null===(t=e.sessionRecording)||void 0===t?void 0:t.sampleRate,d=J(u)?null:parseFloat(u),h=null===(r=e.sessionRecording)||void 0===r?void 0:r.minimumDurationMilliseconds;i.register({[fe]:!!e.sessionRecording,[me]:null===(s=e.sessionRecording)||void 0===s?void 0:s.consoleLogRecordingEnabled,[be]:ne({capturePerformance:e.capturePerformance},null===(n=e.sessionRecording)||void 0===n?void 0:n.networkPayloadCapture),[ye]:{enabled:null===(o=e.sessionRecording)||void 0===o?void 0:o.recordCanvas,fps:null===(a=e.sessionRecording)||void 0===a?void 0:a.canvasFps,quality:null===(l=e.sessionRecording)||void 0===l?void 0:l.canvasQuality},[we]:d,[Se]:z(h)?null:h,[ke]:null===(c=e.sessionRecording)||void 0===c?void 0:c.scriptConfig})};r(),null===(t=this._persistDecideOnSessionListener)||void 0===t||t.call(this),this._persistDecideOnSessionListener=this.sessionManager.onSessionId(r)}}log(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"log\";null===(t=this.instance.sessionRecording)||void 0===t||t.onRRwebEmit({type:6,data:{plugin:\"rrweb/console@1\",payload:{level:i,trace:[],payload:[JSON.stringify(e)]}},timestamp:Date.now()})}_startCapture(e){if(!z(Object.assign)&&!z(Array.from)&&!(this._captureStarted||this.instance.config.disable_session_recording||this.instance.consent.isOptedOut())){var t,i;if(this._captureStarted=!0,this.sessionManager.checkAndGetSessionAndWindowId(),this.rrwebRecord)this._onScriptLoaded();else null===(t=_.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,this.scriptName,(e=>{if(e)return is.error(\"could not load recorder\",e);this._onScriptLoaded()}));is.info(\"starting\"),\"active\"===this.status&&this._reportStarted(e||\"recording_initialized\")}}get scriptName(){var e,t,i;return(null===(e=this.instance)||void 0===e||null===(t=e.persistence)||void 0===t||null===(i=t.get_property(ke))||void 0===i?void 0:i.script)||\"recorder\"}isInteractiveEvent(e){var t;return 3===e.type&&-1!==ss.indexOf(null===(t=e.data)||void 0===t?void 0:t.source)}_updateWindowAndSessionIds(e){var t=this.isInteractiveEvent(e);t||this.isIdle||e.timestamp-this._lastActivityTimestamp>this.sessionIdleThresholdMilliseconds&&(this.isIdle=!0,clearInterval(this._fullSnapshotTimer),this._tryAddCustomEvent(\"sessionIdle\",{eventTimestamp:e.timestamp,lastActivityTimestamp:this._lastActivityTimestamp,threshold:this.sessionIdleThresholdMilliseconds,bufferLength:this.buffer.data.length,bufferSize:this.buffer.size}),this._flushBuffer());var i=!1;if(t&&(this._lastActivityTimestamp=e.timestamp,this.isIdle&&(this.isIdle=!1,this._tryAddCustomEvent(\"sessionNoLongerIdle\",{reason:\"user activity\",type:e.type}),i=!0)),!this.isIdle){var{windowId:r,sessionId:s}=this.sessionManager.checkAndGetSessionAndWindowId(!t,e.timestamp),n=this.sessionId!==s,o=this.windowId!==r;this.windowId=r,this.sessionId=s,n||o?(this.stopRecording(),this.startIfEnabledOrStop(\"session_id_changed\")):i&&this._scheduleFullSnapshot()}}_tryRRWebMethod(e){try{return e.rrwebMethod(),!0}catch(t){return this.queuedRRWebEvents.length<10?this.queuedRRWebEvents.push({enqueuedAt:e.enqueuedAt||Date.now(),attempt:e.attempt++,rrwebMethod:e.rrwebMethod}):is.warn(\"could not emit queued rrweb event.\",t,e),!1}}_tryAddCustomEvent(e,t){return this._tryRRWebMethod(ns((()=>this.rrwebRecord.addCustomEvent(e,t))))}_tryTakeFullSnapshot(){return this._tryRRWebMethod(ns((()=>this.rrwebRecord.takeFullSnapshot())))}_onScriptLoaded(){var e,t={blockClass:\"ph-no-capture\",blockSelector:void 0,ignoreClass:\"ph-ignore-input\",maskTextClass:\"ph-mask\",maskTextSelector:void 0,maskTextFn:void 0,maskAllInputs:!0,maskInputOptions:{password:!0},maskInputFn:void 0,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1},i=this.instance.config.session_recording;for(var[r,s]of Object.entries(i||{}))r in t&&(\"maskInputOptions\"===r?t.maskInputOptions=ne({password:!0},s):t[r]=s);if(this.canvasRecording&&this.canvasRecording.enabled&&(t.recordCanvas=!0,t.sampling={canvas:this.canvasRecording.fps},t.dataURLOptions={type:\"image/webp\",quality:this.canvasRecording.quality}),this.rrwebRecord){this.mutationRateLimiter=null!==(e=this.mutationRateLimiter)&&void 0!==e?e:new vr(this.rrwebRecord,{refillRate:this.instance.config.session_recording.__mutationRateLimiterRefillRate,bucketSize:this.instance.config.session_recording.__mutationRateLimiterBucketSize,onBlockedNode:(e,t)=>{var i=\"Too many mutations on node '\".concat(e,\"'. Rate limiting. This could be due to SVG animations or something similar\");is.info(i,{node:t}),this.log(ts+\" \"+i,\"warn\")}});var n=this._gatherRRWebPlugins();this.stopRrweb=this.rrwebRecord(ne({emit:e=>{this.onRRwebEmit(e)},plugins:n},t)),this._lastActivityTimestamp=Date.now(),this.isIdle=!1,this._tryAddCustomEvent(\"$session_options\",{sessionRecordingOptions:t,activePlugins:n.map((e=>null==e?void 0:e.name))}),this._tryAddCustomEvent(\"$posthog_config\",{config:this.instance.config})}else is.error(\"onScriptLoaded was called but rrwebRecord is not available. This indicates something has gone wrong.\")}_scheduleFullSnapshot(){if(this._fullSnapshotTimer&&clearInterval(this._fullSnapshotTimer),!this.isIdle){var e=this.fullSnapshotIntervalMillis;e&&(this._fullSnapshotTimer=setInterval((()=>{this._tryTakeFullSnapshot()}),e))}}_gatherRRWebPlugins(){var e,t,i,r,s=[],n=null===(e=_.__PosthogExtensions__)||void 0===e||null===(t=e.rrwebPlugins)||void 0===t?void 0:t.getRecordConsolePlugin;n&&this.isConsoleLogCaptureEnabled&&s.push(n());var o=null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.rrwebPlugins)||void 0===r?void 0:r.getRecordNetworkPlugin;this.networkPayloadCapture&&H(o)&&(!bt.includes(location.hostname)||this._forceAllowLocalhostNetworkCapture?s.push(o(_r(this.instance.config,this.networkPayloadCapture))):is.info(\"NetworkCapture not started because we are on localhost.\"));return s}onRRwebEmit(e){var t;if(this._processQueuedEvents(),e&&U(e)){if(e.type===Fi.Meta){var i=this._maskUrl(e.data.href);if(this._lastHref=i,!i)return;e.data.href=i}else this._pageViewFallBack();if(this._checkUrlTriggerConditions(),!this._urlBlocked||function(e){return e.type===Fi.Custom&&\"recording paused\"===e.data.tag}(e)){e.type===Fi.FullSnapshot&&this._scheduleFullSnapshot(),e.type===Fi.FullSnapshot&&\"trigger_pending\"===this.triggerStatus&&this.clearBuffer();var r=this.mutationRateLimiter?this.mutationRateLimiter.throttleMutations(e):e;if(r){var s=function(e){var t=e;if(t&&U(t)&&6===t.type&&U(t.data)&&\"rrweb/console@1\"===t.data.plugin){t.data.payload.payload.length>10&&(t.data.payload.payload=t.data.payload.payload.slice(0,10),t.data.payload.payload.push(\"...[truncated]\"));for(var i=[],r=0;r2e3?i.push(t.data.payload.payload[r].slice(0,2e3)+\"...[truncated]\"):i.push(t.data.payload.payload[r]);return t.data.payload.payload=i,e}return e}(r);if(this._updateWindowAndSessionIds(s),!this.isIdle||as(s)){if(as(s)){var n=s.data.payload;if(n){var o=n.lastActivityTimestamp,a=n.threshold;s.timestamp=o+a}}var l=null===(t=this.instance.config.session_recording.compress_events)||void 0===t||t?function(e){if(Ci(e)<1024)return e;try{if(e.type===Fi.FullSnapshot)return ne(ne({},e),{},{data:os(e.data),cv:\"2024-10\"});if(e.type===Fi.IncrementalSnapshot&&e.data.source===Ti.Mutation)return ne(ne({},e),{},{cv:\"2024-10\",data:ne(ne({},e.data),{},{texts:os(e.data.texts),attributes:os(e.data.attributes),removes:os(e.data.removes),adds:os(e.data.adds)})});if(e.type===Fi.IncrementalSnapshot&&e.data.source===Ti.StyleSheetRule)return ne(ne({},e),{},{cv:\"2024-10\",data:ne(ne({},e.data),{},{adds:os(e.data.adds),removes:os(e.data.removes)})})}catch(e){is.error(\"could not compress event - will use uncompressed event\",e)}return e}(s):s,c={$snapshot_bytes:Ci(l),$snapshot_data:l,$session_id:this.sessionId,$window_id:this.windowId};\"disabled\"!==this.status?this._captureSnapshotBuffered(c):this.clearBuffer()}}}}}_pageViewFallBack(){if(!this.instance.config.capture_pageview&&t){var e=this._maskUrl(t.location.href);this._lastHref!==e&&(this._tryAddCustomEvent(\"$url_changed\",{href:e}),this._lastHref=e)}}_processQueuedEvents(){if(this.queuedRRWebEvents.length){var e=[...this.queuedRRWebEvents];this.queuedRRWebEvents=[],e.forEach((e=>{Date.now()-e.enqueuedAt<=2e3&&this._tryRRWebMethod(e)}))}}_maskUrl(e){var t=this.instance.config.session_recording;if(t.maskNetworkRequestFn){var i,r={url:e};return null===(i=r=t.maskNetworkRequestFn(r))||void 0===i?void 0:i.url}return e}clearBuffer(){return this.buffer={size:0,data:[],sessionId:this.sessionId,windowId:this.windowId},this.buffer}_flushBuffer(){this.flushBufferTimer&&(clearTimeout(this.flushBufferTimer),this.flushBufferTimer=void 0);var e=this.minimumDuration,t=this.sessionDuration,i=Y(t)&&t>=0,r=Y(e)&&i&&t{this._flushBuffer()}),2e3),this.buffer;this.buffer.data.length>0&&Pi(this.buffer).forEach((e=>{this._captureSnapshot({$snapshot_bytes:e.size,$snapshot_data:e.data,$session_id:e.sessionId,$window_id:e.windowId,$lib:\"web\",$lib_version:p.LIB_VERSION})}));return this.clearBuffer()}_captureSnapshotBuffered(e){var t,i=2+((null===(t=this.buffer)||void 0===t?void 0:t.data.length)||0);!this.isIdle&&(this.buffer.size+e.$snapshot_bytes+i>943718.4||this.buffer.sessionId!==this.sessionId)&&(this.buffer=this._flushBuffer()),this.buffer.size+=e.$snapshot_bytes,this.buffer.data.push(e.$snapshot_data),this.flushBufferTimer||this.isIdle||(this.flushBufferTimer=setTimeout((()=>{this._flushBuffer()}),2e3))}_captureSnapshot(e){this.instance.capture(\"$snapshot\",e,{_url:this.instance.requestRouter.endpointFor(\"api\",this._endpoint),_noTruncate:!0,_batchKey:\"recordings\",skip_client_rate_limiting:!0})}_checkUrlTriggerConditions(){if(void 0!==t&&t.location.href){var e=t.location.href,i=this._urlBlocked,r=ls(e,this._urlBlocklist);r&&!i?this._pauseRecording():!r&&i&&this._resumeRecording(),ls(e,this._urlTriggers)&&this._activateTrigger(\"url\")}}_activateTrigger(e){var t,i;\"trigger_pending\"===this.triggerStatus&&(null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[\"url\"===e?Ie:Ce]:this.sessionId}),this._flushBuffer(),this._reportStarted(e+\"_trigger_matched\"))}_pauseRecording(){this._urlBlocked||(this._urlBlocked=!0,clearInterval(this._fullSnapshotTimer),is.info(\"recording paused due to URL blocker\"),this._tryAddCustomEvent(\"recording paused\",{reason:\"url blocker\"}))}_resumeRecording(){this._urlBlocked&&(this._urlBlocked=!1,this._tryTakeFullSnapshot(),this._scheduleFullSnapshot(),this._tryAddCustomEvent(\"recording resumed\",{reason:\"left blocked url\"}),is.info(\"recording resumed\"))}_addEventTriggerListener(){0!==this._eventTriggers.length&&J(this._removeEventTriggerCaptureHook)&&(this._removeEventTriggerCaptureHook=this.instance.on(\"eventCaptured\",(e=>{try{this._eventTriggers.includes(e.event)&&this._activateTrigger(\"event\")}catch(e){is.error(\"Could not activate event trigger\",e)}})))}overrideLinkedFlag(){this._linkedFlagSeen=!0,this._tryTakeFullSnapshot(),this._reportStarted(\"linked_flag_overridden\")}overrideSampling(){var e;null===(e=this.instance.persistence)||void 0===e||e.register({[xe]:!0}),this._tryTakeFullSnapshot(),this._reportStarted(\"sampling_overridden\")}overrideTrigger(e){this._activateTrigger(e)}_reportStarted(e,t){this.instance.register_for_session({$session_recording_start_reason:e}),is.info(e.replace(\"_\",\" \"),t),$([\"recording_initialized\",\"session_id_changed\"],e)||this._tryAddCustomEvent(e,t)}}var us=te(\"[RemoteConfig]\");class ds{constructor(e){this.instance=e}get remoteConfig(){var e,t;return null===(e=_._POSTHOG_REMOTE_CONFIG)||void 0===e||null===(t=e[this.instance.config.token])||void 0===t?void 0:t.config}_loadRemoteConfigJs(e){var t,i,r;null!==(t=_.__PosthogExtensions__)&&void 0!==t&&t.loadExternalDependency?null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.loadExternalDependency)||void 0===r||r.call(i,this.instance,\"remote-config\",(()=>e(this.remoteConfig))):(us.error(\"PostHog Extensions not found. Cannot load remote config.\"),e())}_loadRemoteConfigJSON(e){this.instance._send_request({method:\"GET\",url:this.instance.requestRouter.endpointFor(\"assets\",\"/array/\".concat(this.instance.config.token,\"/config\")),callback:t=>{e(t.json)}})}load(){try{if(this.remoteConfig)return us.info(\"Using preloaded remote config\",this.remoteConfig),void this.onRemoteConfig(this.remoteConfig);if(this.instance.config.advanced_disable_decide)return void us.warn(\"Remote config is disabled. Falling back to local config.\");this._loadRemoteConfigJs((e=>{if(!e)return us.info(\"No config found after loading remote JS config. Falling back to JSON.\"),void this._loadRemoteConfigJSON((e=>{this.onRemoteConfig(e)}));this.onRemoteConfig(e)}))}catch(e){us.error(\"Error loading remote config\",e)}}onRemoteConfig(e){e?this.instance.config.__preview_remote_config?(this.instance._onRemoteConfig(e),!1!==e.hasFeatureFlags&&this.instance.featureFlags.ensureFlagsLoaded()):us.info(\"__preview_remote_config is disabled. Logging config instead\",e):us.error(\"Failed to fetch remote config from PostHog.\")}}var hs,_s=null!=t&&t.location?Et(t.location.hash,\"__posthog\")||Et(location.hash,\"state\"):null,ps=\"_postHogToolbarParams\",vs=te(\"[Toolbar]\");!function(e){e[e.UNINITIALIZED=0]=\"UNINITIALIZED\",e[e.LOADING=1]=\"LOADING\",e[e.LOADED=2]=\"LOADED\"}(hs||(hs={}));class gs{constructor(e){this.instance=e}setToolbarState(e){_.ph_toolbar_state=e}getToolbarState(){var e;return null!==(e=_.ph_toolbar_state)&&void 0!==e?e:hs.UNINITIALIZED}maybeLoadToolbar(){var e,i,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!t||!a)return!1;r=null!==(e=r)&&void 0!==e?e:t.location,n=null!==(i=n)&&void 0!==i?i:t.history;try{if(!s){try{t.localStorage.setItem(\"test\",\"test\"),t.localStorage.removeItem(\"test\")}catch(e){return!1}s=null==t?void 0:t.localStorage}var o,l=_s||Et(r.hash,\"__posthog\")||Et(r.hash,\"state\"),c=l?E((()=>JSON.parse(atob(decodeURIComponent(l)))))||E((()=>JSON.parse(decodeURIComponent(l)))):null;return c&&\"ph_authorize\"===c.action?((o=c).source=\"url\",o&&Object.keys(o).length>0&&(c.desiredHash?r.hash=c.desiredHash:n?n.replaceState(n.state,\"\",r.pathname+r.search):r.hash=\"\")):((o=JSON.parse(s.getItem(ps)||\"{}\")).source=\"localstorage\",delete o.userIntent),!(!o.token||this.instance.config.token!==o.token)&&(this.loadToolbar(o),!0)}catch(e){return!1}}_callLoadToolbar(e){var t=_.ph_load_toolbar||_.ph_load_editor;!J(t)&&H(t)?t(e,this.instance):vs.warn(\"No toolbar load function found\")}loadToolbar(e){var i=!(null==a||!a.getElementById(Ue));if(!t||i)return!1;var r=\"custom\"===this.instance.requestRouter.region&&this.instance.config.advanced_disable_toolbar_metrics,s=ne(ne({token:this.instance.config.token},e),{},{apiURL:this.instance.requestRouter.endpointFor(\"ui\")},r?{instrument:!1}:{});if(t.localStorage.setItem(ps,JSON.stringify(ne(ne({},s),{},{source:void 0}))),this.getToolbarState()===hs.LOADED)this._callLoadToolbar(s);else if(this.getToolbarState()===hs.UNINITIALIZED){var n,o;this.setToolbarState(hs.LOADING),null===(n=_.__PosthogExtensions__)||void 0===n||null===(o=n.loadExternalDependency)||void 0===o||o.call(n,this.instance,\"toolbar\",(e=>{if(e)return vs.error(\"[Toolbar] Failed to load\",e),void this.setToolbarState(hs.UNINITIALIZED);this.setToolbarState(hs.LOADED),this._callLoadToolbar(s)})),R(t,\"turbolinks:load\",(()=>{this.setToolbarState(hs.UNINITIALIZED),this.loadToolbar(s)}))}return!0}_loadEditor(e){return this.loadToolbar(e)}maybeLoadEditor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return this.maybeLoadToolbar(e,t,i)}}var fs=3e3;class ms{constructor(e,t){oe(this,\"isPaused\",!0),oe(this,\"queue\",[]),this.flushTimeoutMs=pr((null==t?void 0:t.flush_interval_ms)||fs,250,5e3,\"flush interval\",fs),this.sendRequest=e}enqueue(e){this.queue.push(e),this.flushTimeout||this.setFlushTimeout()}unload(){this.clearFlushTimeout();var e=this.queue.length>0?this.formatQueue():{},t=Object.values(e),i=[...t.filter((e=>0===e.url.indexOf(\"/e\"))),...t.filter((e=>0!==e.url.indexOf(\"/e\")))];i.map((e=>{this.sendRequest(ne(ne({},e),{},{transport:\"sendBeacon\"}))}))}enable(){this.isPaused=!1,this.setFlushTimeout()}setFlushTimeout(){var e=this;this.isPaused||(this.flushTimeout=setTimeout((()=>{if(this.clearFlushTimeout(),this.queue.length>0){var t=this.formatQueue(),i=function(i){var r=t[i],s=(new Date).getTime();r.data&&B(r.data)&&y(r.data,(e=>{e.offset=Math.abs(e.timestamp-s),delete e.timestamp})),e.sendRequest(r)};for(var r in t)i(r)}}),this.flushTimeoutMs))}clearFlushTimeout(){clearTimeout(this.flushTimeout),this.flushTimeout=void 0}formatQueue(){var e={};return y(this.queue,(t=>{var i,r=t,s=(r?r.batchKey:null)||r.url;z(e[s])&&(e[s]=ne(ne({},r),{},{data:[]})),null===(i=e[s].data)||void 0===i||i.push(r.data)})),this.queue=[],e}}var bs=function(e){var t,i,r,s,n=\"\";for(t=i=0,r=(e=(e+\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\")).length,s=0;s127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),G(a)||(i>t&&(n+=e.substring(t,i)),n+=a,t=i=s+1)}return i>t&&(n+=e.substring(t,e.length)),n},ys=!!u||!!c,ws=\"text/plain\",Ss=(e,t)=>{var[i,r]=e.split(\"?\"),s=ne({},t);null==r||r.split(\"&\").forEach((e=>{var[t]=e.split(\"=\");delete s[t]}));var n=wt(s);return n=n?(r?r+\"&\":\"\")+n:r,\"\".concat(i,\"?\").concat(n)},ks=(e,t)=>JSON.stringify(e,((e,t)=>\"bigint\"==typeof t?t.toString():t),t),Es=t=>{var{data:i,compression:r}=t;if(i){if(r===e.GZipJS){var s=Qr(Zr(ks(i)),{mtime:0}),n=new Blob([s],{type:ws});return{contentType:ws,body:n,estimatedSize:n.size}}if(r===e.Base64){var o=function(e){var t,i,r,s,n,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",a=0,l=0,c=\"\",u=[];if(!e)return e;e=bs(e);do{t=(n=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>18&63,i=n>>12&63,r=n>>6&63,s=63&n,u[l++]=o.charAt(t)+o.charAt(i)+o.charAt(r)+o.charAt(s)}while(a\"data=\"+encodeURIComponent(\"string\"==typeof e?e:ks(e)))(o);return{contentType:\"application/x-www-form-urlencoded\",body:a,estimatedSize:new Blob([a]).size}}var l=ks(i);return{contentType:\"application/json\",body:l,estimatedSize:new Blob([l]).size}}},xs=[];c&&xs.push({transport:\"fetch\",method:e=>{var t,i,{contentType:r,body:s,estimatedSize:n}=null!==(t=Es(e))&&void 0!==t?t:{},o=new Headers;y(e.headers,(function(e,t){o.append(t,e)})),r&&o.append(\"Content-Type\",r);var a=e.url,l=null;if(d){var u=new d;l={signal:u.signal,timeout:setTimeout((()=>u.abort()),e.timeout)}}c(a,ne({method:(null==e?void 0:e.method)||\"GET\",headers:o,keepalive:\"POST\"===e.method&&(n||0)<52428.8,body:s,signal:null===(i=l)||void 0===i?void 0:i.signal},e.fetchOptions)).then((t=>t.text().then((i=>{var r,s={statusCode:t.status,text:i};if(200===t.status)try{s.json=JSON.parse(i)}catch(e){ee.error(e)}null===(r=e.callback)||void 0===r||r.call(e,s)})))).catch((t=>{var i;ee.error(t),null===(i=e.callback)||void 0===i||i.call(e,{statusCode:0,text:t})})).finally((()=>l?clearTimeout(l.timeout):null))}}),u&&xs.push({transport:\"XHR\",method:e=>{var t,i=new u;i.open(e.method||\"GET\",e.url,!0);var{contentType:r,body:s}=null!==(t=Es(e))&&void 0!==t?t:{};y(e.headers,(function(e,t){i.setRequestHeader(t,e)})),r&&i.setRequestHeader(\"Content-Type\",r),e.timeout&&(i.timeout=e.timeout),i.withCredentials=!0,i.onreadystatechange=()=>{if(4===i.readyState){var t,r={statusCode:i.status,text:i.responseText};if(200===i.status)try{r.json=JSON.parse(i.responseText)}catch(e){}null===(t=e.callback)||void 0===t||t.call(e,r)}},i.send(s)}}),null!=o&&o.sendBeacon&&xs.push({transport:\"sendBeacon\",method:e=>{var t=Ss(e.url,{beacon:\"1\"});try{var i,{contentType:r,body:s}=null!==(i=Es(e))&&void 0!==i?i:{},n=\"string\"==typeof s?new Blob([s],{type:r}):s;o.sendBeacon(t,n)}catch(e){}}});var Is=[\"retriesPerformedSoFar\"];class Cs{constructor(e){oe(this,\"isPolling\",!1),oe(this,\"pollIntervalMs\",3e3),oe(this,\"queue\",[]),this.instance=e,this.queue=[],this.areWeOnline=!0,!z(t)&&\"onLine\"in t.navigator&&(this.areWeOnline=t.navigator.onLine,R(t,\"online\",(()=>{this.areWeOnline=!0,this.flush()})),R(t,\"offline\",(()=>{this.areWeOnline=!1})))}retriableRequest(e){var{retriesPerformedSoFar:t}=e,i=ae(e,Is);Y(t)&&t>0&&(i.url=Ss(i.url,{retry_count:t})),this.instance._send_request(ne(ne({},i),{},{callback:e=>{var r;200!==e.statusCode&&(e.statusCode<400||e.statusCode>=500)&&(null!=t?t:0)<10?this.enqueue(ne({retriesPerformedSoFar:t},i)):null===(r=i.callback)||void 0===r||r.call(i,e)}}))}enqueue(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var i=function(e){var t=3e3*Math.pow(2,e),i=t/2,r=Math.min(18e5,t),s=(Math.random()-.5)*(r-i);return Math.ceil(r+s)}(t),r=Date.now()+i;this.queue.push({retryAt:r,requestOptions:e});var s=\"Enqueued failed request for retry in \".concat(i);navigator.onLine||(s+=\" (Browser is offline)\"),ee.warn(s),this.isPolling||(this.isPolling=!0,this.poll())}poll(){this.poller&&clearTimeout(this.poller),this.poller=setTimeout((()=>{this.areWeOnline&&this.queue.length>0&&this.flush(),this.poll()}),this.pollIntervalMs)}flush(){var e=Date.now(),t=[],i=this.queue.filter((i=>i.retryAt0)for(var{requestOptions:r}of i)this.retriableRequest(r)}unload(){for(var{requestOptions:e}of(this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.queue))try{this.instance._send_request(ne(ne({},e),{},{transport:\"sendBeacon\"}))}catch(e){ee.error(e)}this.queue=[]}}var Ps,Fs=te(\"[SessionId]\");class Ts{constructor(e,t,i){var r;if(oe(this,\"_sessionIdChangedHandlers\",[]),!e.persistence)throw new Error(\"SessionIdManager requires a PostHogPersistence instance\");if(e.config.__preview_experimental_cookieless_mode)throw new Error(\"SessionIdManager cannot be used with __preview_experimental_cookieless_mode\");this.config=e.config,this.persistence=e.persistence,this._windowId=void 0,this._sessionId=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this._sessionIdGenerator=t||st,this._windowIdGenerator=i||st;var s=this.config.persistence_name||this.config.token,n=this.config.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*pr(n,60,36e3,\"session_idle_timeout_seconds\",1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.resetIdleTimer(),this._window_id_storage_key=\"ph_\"+s+\"_window_id\",this._primary_window_exists_storage_key=\"ph_\"+s+\"_primary_window_exists\",this._canUseSessionStorage()){var o=mt.parse(this._window_id_storage_key),a=mt.parse(this._primary_window_exists_storage_key);o&&!a?this._windowId=o:mt.remove(this._window_id_storage_key),mt.set(this._primary_window_exists_storage_key,!0)}if(null!==(r=this.config.bootstrap)&&void 0!==r&&r.sessionID)try{var l=(e=>{var t=e.replace(/-/g,\"\");if(32!==t.length)throw new Error(\"Not a valid UUID\");if(\"7\"!==t[12])throw new Error(\"Not a UUIDv7\");return parseInt(t.substring(0,12),16)})(this.config.bootstrap.sessionID);this._setSessionId(this.config.bootstrap.sessionID,(new Date).getTime(),l)}catch(e){Fs.error(\"Invalid sessionID in bootstrap\",e)}this._listenToReloadWindow()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return z(this._sessionIdChangedHandlers)&&(this._sessionIdChangedHandlers=[]),this._sessionIdChangedHandlers.push(e),this._sessionId&&e(this._sessionId,this._windowId),()=>{this._sessionIdChangedHandlers=this._sessionIdChangedHandlers.filter((t=>t!==e))}}_canUseSessionStorage(){return\"memory\"!==this.config.persistence&&!this.persistence.disabled&&mt.is_supported()}_setWindowId(e){e!==this._windowId&&(this._windowId=e,this._canUseSessionStorage()&&mt.set(this._window_id_storage_key,e))}_getWindowId(){return this._windowId?this._windowId:this._canUseSessionStorage()?mt.parse(this._window_id_storage_key):null}_setSessionId(e,t,i){e===this._sessionId&&t===this._sessionActivityTimestamp&&i===this._sessionStartTimestamp||(this._sessionStartTimestamp=i,this._sessionActivityTimestamp=t,this._sessionId=e,this.persistence.register({[Ee]:[t,e,i]}))}_getSessionId(){if(this._sessionId&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this._sessionId,this._sessionStartTimestamp];var e=this.persistence.props[Ee];return B(e)&&2===e.length&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this._setSessionId(null,null,null)}_listenToReloadWindow(){R(t,\"beforeunload\",(()=>{this._canUseSessionStorage()&&mt.remove(this._primary_window_exists_storage_key)}),{capture:!1})}checkAndGetSessionAndWindowId(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.config.__preview_experimental_cookieless_mode)throw new Error(\"checkAndGetSessionAndWindowId should not be called in __preview_experimental_cookieless_mode\");var i=t||(new Date).getTime(),[r,s,n]=this._getSessionId(),o=this._getWindowId(),a=Y(n)&&n>0&&Math.abs(i-n)>864e5,l=!1,c=!s,u=!e&&Math.abs(i-r)>this.sessionTimeoutMs;c||u||a?(s=this._sessionIdGenerator(),o=this._windowIdGenerator(),Fs.info(\"new session ID generated\",{sessionId:s,windowId:o,changeReason:{noSessionId:c,activityTimeout:u,sessionPastMaximumLength:a}}),n=i,l=!0):o||(o=this._windowIdGenerator(),l=!0);var d=0===r||!e||a?i:r,h=0===n?(new Date).getTime():n;return this._setWindowId(o),this._setSessionId(s,d,h),e||this.resetIdleTimer(),l&&this._sessionIdChangedHandlers.forEach((e=>e(s,o,l?{noSessionId:c,activityTimeout:u,sessionPastMaximumLength:a}:void 0))),{sessionId:s,windowId:o,sessionStartTimestamp:h,changeReason:l?{noSessionId:c,activityTimeout:u,sessionPastMaximumLength:a}:void 0,lastActivityTimestamp:r}}resetIdleTimer(){clearTimeout(this._enforceIdleTimeout),this._enforceIdleTimeout=setTimeout((()=>{this.resetSessionId()}),1.1*this.sessionTimeoutMs)}}!function(e){e.US=\"us\",e.EU=\"eu\",e.CUSTOM=\"custom\"}(Ps||(Ps={}));var Rs=\"i.posthog.com\";class $s{constructor(e){oe(this,\"_regionCache\",{}),this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\\/$/,\"\");return\"https://app.posthog.com\"===e?\"https://us.i.posthog.com\":e}get uiHost(){var e,t=null===(e=this.instance.config.ui_host)||void 0===e?void 0:e.replace(/\\/$/,\"\");return t||(t=this.apiHost.replace(\".\".concat(Rs),\".posthog.com\")),\"https://app.posthog.com\"===t?\"https://us.posthog.com\":t}get region(){return this._regionCache[this.apiHost]||(/https:\\/\\/(app|us|us-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=Ps.US:/https:\\/\\/(eu|eu-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=Ps.EU:this._regionCache[this.apiHost]=Ps.CUSTOM),this._regionCache[this.apiHost]}endpointFor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(t&&(t=\"/\"===t[0]?t:\"/\".concat(t)),\"ui\"===e)return this.uiHost+t;if(this.region===Ps.CUSTOM)return this.apiHost+t;var i=Rs+t;switch(e){case\"assets\":return\"https://\".concat(this.region,\"-assets.\").concat(i);case\"api\":return\"https://\".concat(this.region,\".\").concat(i)}}}var Os=\"posthog-js\";function Ms(e){var{organization:t,projectId:i,prefix:r,severityAllowList:s=[\"error\"]}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n=>{var o,a,l,c,u;if(!(\"*\"===s||s.includes(n.level))||!e.__loaded)return n;n.tags||(n.tags={});var d=e.requestRouter.endpointFor(\"ui\",\"/project/\".concat(e.config.token,\"/person/\").concat(e.get_distinct_id()));n.tags[\"PostHog Person URL\"]=d,e.sessionRecordingStarted()&&(n.tags[\"PostHog Recording URL\"]=e.get_session_replay_url({withTimestamp:!0}));var h=(null===(o=n.exception)||void 0===o?void 0:o.values)||[];h.forEach((e=>{e.stacktrace&&(e.stacktrace.type=\"raw\",e.stacktrace.frames.forEach((e=>{e.platform=\"web:javascript\"})))}));var _={$exception_message:(null===(a=h[0])||void 0===a?void 0:a.value)||n.message,$exception_type:null===(l=h[0])||void 0===l?void 0:l.type,$exception_personURL:d,$exception_level:n.level,$exception_list:h,$sentry_event_id:n.event_id,$sentry_exception:n.exception,$sentry_exception_message:(null===(c=h[0])||void 0===c?void 0:c.value)||n.message,$sentry_exception_type:null===(u=h[0])||void 0===u?void 0:u.type,$sentry_tags:n.tags};return t&&i&&(_.$sentry_url=(r||\"https://sentry.io/organizations/\")+t+\"/issues/?project=\"+i+\"&query=\"+n.event_id),e.exceptions.sendExceptionEvent(_),n}}class As{constructor(e,t,i,r,s){this.name=Os,this.setupOnce=function(n){n(Ms(e,{organization:t,projectId:i,prefix:r,severityAllowList:s}))}}}var Ls=te(\"[SegmentIntegration]\");function Ds(e,t){var i=e.config.segment;if(!i)return t();!function(e,t){var i=e.config.segment;if(!i)return t();var r=i=>{var r=()=>i.anonymousId()||st();e.config.get_device_id=r,i.id()&&(e.register({distinct_id:i.id(),$device_id:r()}),e.persistence.set_property(Ae,\"identified\")),t()},s=i.user();\"then\"in s&&H(s.then)?s.then((e=>r(e))):r(s)}(e,(()=>{i.register((e=>{Promise&&Promise.resolve||Ls.warn(\"This browser does not have Promise support, and can not use the segment integration\");var t=(t,i)=>{var r;if(!i)return t;t.event.userId||t.event.anonymousId===e.get_distinct_id()||(Ls.info(\"No userId set, resetting PostHog\"),e.reset()),t.event.userId&&t.event.userId!==e.get_distinct_id()&&(Ls.info(\"UserId set, identifying with PostHog\"),e.identify(t.event.userId));var s=e._calculate_event_properties(i,null!==(r=t.event.properties)&&void 0!==r?r:{},new Date);return t.event.properties=Object.assign({},s,t.event.properties),t};return{name:\"PostHog JS\",type:\"enrichment\",version:\"1.0.0\",isLoaded:()=>!0,load:()=>Promise.resolve(),track:e=>t(e,e.event.event),page:e=>t(e,\"$pageview\"),identify:e=>t(e,\"$identify\"),screen:e=>t(e,\"$screen\")}})(e)).then((()=>{t()}))}))}class Ns{constructor(e){this._instance=e}doPageView(e,i){var r,s=this._previousPageViewProperties(e,i);return this._currentPageview={pathname:null!==(r=null==t?void 0:t.location.pathname)&&void 0!==r?r:\"\",pageViewId:i,timestamp:e},this._instance.scrollManager.resetContext(),s}doPageLeave(e){var t;return this._previousPageViewProperties(e,null===(t=this._currentPageview)||void 0===t?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:null===(e=this._currentPageview)||void 0===e?void 0:e.pageViewId}}_previousPageViewProperties(e,t){var i=this._currentPageview;if(!i)return{$pageview_id:t};var r={$pageview_id:t,$prev_pageview_id:i.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:n,lastScrollY:o,maxScrollY:a,maxContentHeight:l,lastContentY:c,maxContentY:u}=s;if(!(z(n)||z(o)||z(a)||z(l)||z(c)||z(u))){n=Math.ceil(n),o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u);var d=n<=1?1:pr(o/n,0,1),h=n<=1?1:pr(a/n,0,1),_=l<=1?1:pr(c/l,0,1),p=l<=1?1:pr(u/l,0,1);r=w(r,{$prev_pageview_last_scroll:o,$prev_pageview_last_scroll_percentage:d,$prev_pageview_max_scroll:a,$prev_pageview_max_scroll_percentage:h,$prev_pageview_last_content:c,$prev_pageview_last_content_percentage:_,$prev_pageview_max_content:u,$prev_pageview_max_content_percentage:p})}}return i.pathname&&(r.$prev_pageview_pathname=i.pathname),i.timestamp&&(r.$prev_pageview_duration=(e.getTime()-i.timestamp.getTime())/1e3),r}}var qs,Bs,Hs,Us,js,zs,Ws,Vs,Gs={},Js=[],Ys=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Ks=Array.isArray;function Xs(e,t){for(var i in t)e[i]=t[i];return e}function Qs(e){var t=e.parentNode;t&&t.removeChild(e)}function Zs(e,t,i,r,s){var n={type:e,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==s?++Hs:s,__i:-1,__u:0};return null==s&&null!=Bs.vnode&&Bs.vnode(n),n}function en(e){return e.children}function tn(e,t){this.props=e,this.context=t}function rn(e,t){if(null==t)return e.__?rn(e.__,e.__i+1):null;for(var i;tt&&Us.sort(Ws));on.__r=0}function an(e,t,i,r,s,n,o,a,l,c,u){var d,h,_,p,v,g=r&&r.__k||Js,f=t.length;for(i.__d=l,ln(i,t,g),l=i.__d,d=0;d0?Zs(s.type,s.props,s.key,s.ref?s.ref:null,s.__v):s)?(s.__=e,s.__b=e.__b+1,a=un(s,i,o=r+d,u),s.__i=a,n=null,-1!==a&&(u--,(n=i[a])&&(n.__u|=131072)),null==n||null===n.__v?(-1==a&&d--,\"function\"!=typeof s.type&&(s.__u|=65536)):a!==o&&(a===o+1?d++:a>o?u>l-o?d+=a-o:d--:d=a(null!=l&&0==(131072&l.__u)?1:0))for(;o>=0||a=0){if((l=t[o])&&0==(131072&l.__u)&&s==l.key&&n===l.type)return o;o--}if(a{},isPopup:!0,onPreviewSubmit:()=>{}}),function(e){e.Popover=\"popover\",e.API=\"api\",e.Widget=\"widget\"}(wn||(wn={})),function(e){e.Open=\"open\",e.MultipleChoice=\"multiple_choice\",e.SingleChoice=\"single_choice\",e.Rating=\"rating\",e.Link=\"link\"}(Sn||(Sn={})),function(e){e.NextQuestion=\"next_question\",e.End=\"end\",e.ResponseBased=\"response_based\",e.SpecificQuestion=\"specific_question\"}(kn||(kn={}));class En{constructor(){oe(this,\"events\",{}),this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter((e=>e!==t))}}emit(e,t){for(var i of this.events[e]||[])i(t);for(var r of this.events[\"*\"]||[])r(e,t)}}class xn{constructor(e){oe(this,\"_debugEventEmitter\",new En),oe(this,\"checkStep\",((e,t)=>this.checkStepEvent(e,t)&&this.checkStepUrl(e,t)&&this.checkStepElement(e,t))),oe(this,\"checkStepEvent\",((e,t)=>null==t||!t.event||(null==e?void 0:e.event)===(null==t?void 0:t.event))),this.instance=e,this.actionEvents=new Set,this.actionRegistry=new Set}init(){var e;if(!z(null===(e=this.instance)||void 0===e?void 0:e._addCaptureHook)){var t;null===(t=this.instance)||void 0===t||t._addCaptureHook(((e,t)=>{this.on(e,t)}))}}register(e){var t,i;if(!z(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)&&(e.forEach((e=>{var t,i;null===(t=this.actionRegistry)||void 0===t||t.add(e),null===(i=e.steps)||void 0===i||i.forEach((e=>{var t;null===(t=this.actionEvents)||void 0===t||t.add((null==e?void 0:e.event)||\"\")}))})),null!==(i=this.instance)&&void 0!==i&&i.autocapture)){var r,s=new Set;e.forEach((e=>{var t;null===(t=e.steps)||void 0===t||t.forEach((e=>{null!=e&&e.selector&&s.add(null==e?void 0:e.selector)}))})),null===(r=this.instance)||void 0===r||r.autocapture.setElementSelectors(s)}}on(e,t){var i;null!=t&&0!=e.length&&(this.actionEvents.has(e)||this.actionEvents.has(null==t?void 0:t.event))&&this.actionRegistry&&(null===(i=this.actionRegistry)||void 0===i?void 0:i.size)>0&&this.actionRegistry.forEach((e=>{this.checkAction(t,e)&&this._debugEventEmitter.emit(\"actionCaptured\",e.name)}))}_addActionHook(e){this.onAction(\"actionCaptured\",(t=>e(t)))}checkAction(e,t){if(null==(null==t?void 0:t.steps))return!1;for(var i of t.steps)if(this.checkStep(e,i))return!0;return!1}onAction(e,t){return this._debugEventEmitter.on(e,t)}checkStepUrl(e,t){if(null!=t&&t.url){var i,r=null==e||null===(i=e.properties)||void 0===i?void 0:i.$current_url;if(!r||\"string\"!=typeof r)return!1;if(!xn.matchString(r,null==t?void 0:t.url,(null==t?void 0:t.url_matching)||\"contains\"))return!1}return!0}static matchString(e,i,r){switch(r){case\"regex\":return!!t&&A(e,i);case\"exact\":return i===e;case\"contains\":var s=xn.escapeStringRegexp(i).replace(/_/g,\".\").replace(/%/g,\".*\");return A(e,s);default:return!1}}static escapeStringRegexp(e){return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}checkStepElement(e,t){if((null!=t&&t.href||null!=t&&t.tag_name||null!=t&&t.text)&&!this.getElementsList(e).some((e=>!(null!=t&&t.href&&!xn.matchString(e.href||\"\",null==t?void 0:t.href,(null==t?void 0:t.href_matching)||\"exact\"))&&((null==t||!t.tag_name||e.tag_name===(null==t?void 0:t.tag_name))&&!(null!=t&&t.text&&!xn.matchString(e.text||\"\",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||\"exact\")&&!xn.matchString(e.$el_text||\"\",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||\"exact\"))))))return!1;if(null!=t&&t.selector){var i,r=null==e||null===(i=e.properties)||void 0===i?void 0:i.$element_selectors;if(!r)return!1;if(!r.includes(null==t?void 0:t.selector))return!1}return!0}getElementsList(e){return null==(null==e?void 0:e.properties.$elements)?[]:null==e?void 0:e.properties.$elements}}class In{constructor(e){this.instance=e,this.eventToSurveys=new Map,this.actionToSurveys=new Map}register(e){var t;z(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)||(this.setupEventBasedSurveys(e),this.setupActionBasedSurveys(e))}setupActionBasedSurveys(e){var t=e.filter((e=>{var t,i,r,s;return(null===(t=e.conditions)||void 0===t?void 0:t.actions)&&(null===(i=e.conditions)||void 0===i||null===(r=i.actions)||void 0===r||null===(s=r.values)||void 0===s?void 0:s.length)>0}));if(0!==t.length){if(null==this.actionMatcher){this.actionMatcher=new xn(this.instance),this.actionMatcher.init();this.actionMatcher._addActionHook((e=>{this.onAction(e)}))}t.forEach((e=>{var t,i,r,s,n,o,a,l,c,u;e.conditions&&null!==(t=e.conditions)&&void 0!==t&&t.actions&&null!==(i=e.conditions)&&void 0!==i&&null!==(r=i.actions)&&void 0!==r&&r.values&&(null===(s=e.conditions)||void 0===s||null===(n=s.actions)||void 0===n||null===(o=n.values)||void 0===o?void 0:o.length)>0&&(null===(a=this.actionMatcher)||void 0===a||a.register(e.conditions.actions.values),null===(l=e.conditions)||void 0===l||null===(c=l.actions)||void 0===c||null===(u=c.values)||void 0===u||u.forEach((t=>{if(t&&t.name){var i=this.actionToSurveys.get(t.name);i&&i.push(e.id),this.actionToSurveys.set(t.name,i||[e.id])}})))}))}}setupEventBasedSurveys(e){var t;if(0!==e.filter((e=>{var t,i,r,s;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(r=i.events)||void 0===r||null===(s=r.values)||void 0===s?void 0:s.length)>0})).length){null===(t=this.instance)||void 0===t||t._addCaptureHook(((e,t)=>{this.onEvent(e,t)})),e.forEach((e=>{var t,i,r;null===(t=e.conditions)||void 0===t||null===(i=t.events)||void 0===i||null===(r=i.values)||void 0===r||r.forEach((t=>{if(t&&t.name){var i=this.eventToSurveys.get(t.name);i&&i.push(e.id),this.eventToSurveys.set(t.name,i||[e.id])}}))}))}}onEvent(e,t){var i,r,s=(null===(i=this.instance)||void 0===i||null===(r=i.persistence)||void 0===r?void 0:r.props[Oe])||[];if(In.SURVEY_SHOWN_EVENT_NAME==e&&t&&s.length>0){var n,o=null==t||null===(n=t.properties)||void 0===n?void 0:n.$survey_id;if(o){var a=s.indexOf(o);a>=0&&(s.splice(a,1),this._updateActivatedSurveys(s))}}else this.eventToSurveys.has(e)&&this._updateActivatedSurveys(s.concat(this.eventToSurveys.get(e)||[]))}onAction(e){var t,i,r=(null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i?void 0:i.props[Oe])||[];this.actionToSurveys.has(e)&&this._updateActivatedSurveys(r.concat(this.actionToSurveys.get(e)||[]))}_updateActivatedSurveys(e){var t,i;null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[Oe]:[...new Set(e)]})}getSurveys(){var e,t,i=null===(e=this.instance)||void 0===e||null===(t=e.persistence)||void 0===t?void 0:t.props[Oe];return i||[]}getEventToSurveys(){return this.eventToSurveys}_getActionMatcher(){return this.actionMatcher}}oe(In,\"SURVEY_SHOWN_EVENT_NAME\",\"survey shown\");var Cn=te(\"[Surveys]\"),Pn={icontains:(e,t)=>e.some((e=>t.toLowerCase().includes(e.toLowerCase()))),not_icontains:(e,t)=>e.every((e=>!t.toLowerCase().includes(e.toLowerCase()))),regex:(e,t)=>e.some((e=>A(t,e))),not_regex:(e,t)=>e.every((e=>!A(t,e))),exact:(e,t)=>e.some((e=>t===e)),is_not:(e,t)=>e.every((e=>t!==e))};function Fn(e,t,i){var r,s=e.questions[t],n=t+1;if(null===(r=s.branching)||void 0===r||!r.type)return t===e.questions.length-1?kn.End:n;if(s.branching.type===kn.End)return kn.End;if(s.branching.type===kn.SpecificQuestion){if(Number.isInteger(s.branching.index))return s.branching.index}else if(s.branching.type===kn.ResponseBased){if(s.type===Sn.SingleChoice){var o,a,l=s.choices.indexOf(\"\".concat(i));if(null!==(o=s.branching)&&void 0!==o&&null!==(a=o.responseValues)&&void 0!==a&&a.hasOwnProperty(l)){var c=s.branching.responseValues[l];return Number.isInteger(c)?c:c===kn.End?kn.End:n}}else if(s.type===Sn.Rating){var u,d;if(\"number\"!=typeof i||!Number.isInteger(i))throw new Error(\"The response type must be an integer\");var h=function(e,t){if(3===t){if(e<1||e>3)throw new Error(\"The response must be in range 1-3\");return 1===e?\"negative\":2===e?\"neutral\":\"positive\"}if(5===t){if(e<1||e>5)throw new Error(\"The response must be in range 1-5\");return e<=2?\"negative\":3===e?\"neutral\":\"positive\"}if(7===t){if(e<1||e>7)throw new Error(\"The response must be in range 1-7\");return e<=3?\"negative\":4===e?\"neutral\":\"positive\"}if(10===t){if(e<0||e>10)throw new Error(\"The response must be in range 0-10\");return e<=6?\"detractors\":e<=8?\"passives\":\"promoters\"}throw new Error(\"The scale must be one of: 3, 5, 7, 10\")}(i,s.scale);if(null!==(u=s.branching)&&void 0!==u&&null!==(d=u.responseValues)&&void 0!==d&&d.hasOwnProperty(h)){var _=s.branching.responseValues[h];return Number.isInteger(_)?_:_===kn.End?kn.End:n}}return n}return Cn.warn(\"Falling back to next question index due to unexpected branching type\"),n}function Tn(e){return null!=e?e:\"icontains\"}class Rn{constructor(e){oe(this,\"getNextSurveyStep\",Fn),this.instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){this._decideServerResponse=!!e.surveys,Cn.info(\"decideServerResponse set to \".concat(this._decideServerResponse)),this.loadIfEnabled()}reset(){localStorage.removeItem(\"lastSeenSurveyDate\");var e=(()=>{for(var e=[],t=0;tlocalStorage.removeItem(e)))}loadIfEnabled(){if(!this._surveyManager)if(this.instance.config.disable_surveys)Cn.info(\"Disabled. Not loading surveys.\");else{var e=null==_?void 0:_.__PosthogExtensions__;if(e){var t=e.generateSurveys;if(this._decideServerResponse)if(null==this._surveyEventReceiver&&(this._surveyEventReceiver=new In(this.instance)),t)this._surveyManager=t(this.instance);else{var i=e.loadExternalDependency;i?i(this.instance,\"surveys\",(t=>{var i;t?Cn.error(\"Could not load surveys script\",t):this._surveyManager=null===(i=e.generateSurveys)||void 0===i?void 0:i.call(e,this.instance)})):Cn.error(\"PostHog loadExternalDependency extension not found. Cannot load remote config.\")}else Cn.warn(\"Decide not loaded yet. Not loading surveys.\")}else Cn.error(\"PostHog Extensions not found.\")}}getSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.instance.config.disable_surveys)return Cn.info(\"Disabled. Not loading surveys.\"),e([]);null==this._surveyEventReceiver&&(this._surveyEventReceiver=new In(this.instance));var i=this.instance.get_property($e);if(i&&!t)return e(i);this.instance._send_request({url:this.instance.requestRouter.endpointFor(\"api\",\"/api/surveys/?token=\".concat(this.instance.config.token)),method:\"GET\",callback:t=>{var i,r=t.statusCode;if(200!==r||!t.json)return Cn.error(\"Surveys API could not be loaded, status: \".concat(r)),e([]);var s,n=t.json.surveys||[],o=n.filter((e=>{var t,i,r,s,n,o,a,l,c,u,d,h;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(r=i.events)||void 0===r?void 0:r.values)&&(null===(s=e.conditions)||void 0===s||null===(n=s.events)||void 0===n||null===(o=n.values)||void 0===o?void 0:o.length)>0||(null===(a=e.conditions)||void 0===a?void 0:a.actions)&&(null===(l=e.conditions)||void 0===l||null===(c=l.actions)||void 0===c?void 0:c.values)&&(null===(u=e.conditions)||void 0===u||null===(d=u.actions)||void 0===d||null===(h=d.values)||void 0===h?void 0:h.length)>0}));o.length>0&&(null===(s=this._surveyEventReceiver)||void 0===s||s.register(o));return null===(i=this.instance.persistence)||void 0===i||i.register({[$e]:n}),e(n)}})}getActiveMatchingSurveys(e){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.getSurveys((i=>{var r,s=i.filter((e=>!(!e.start_date||e.end_date))).filter((e=>{var i;if(!e.conditions)return!0;var r=function(e){var i,r,s;if(null===(i=e.conditions)||void 0===i||!i.url)return!0;var n=null==t||null===(r=t.location)||void 0===r?void 0:r.href;if(!n)return!1;var o=[e.conditions.url];return Pn[Tn(null===(s=e.conditions)||void 0===s?void 0:s.urlMatchType)](o,n)}(e),s=null===(i=e.conditions)||void 0===i||!i.selector||(null==a?void 0:a.querySelector(e.conditions.selector)),n=function(e){var t,i;if(null===(t=e.conditions)||void 0===t||!t.deviceTypes)return!0;if(!h)return!1;var r=Ei.deviceType(h);return Pn[Tn(null===(i=e.conditions)||void 0===i?void 0:i.deviceTypesMatchType)](e.conditions.deviceTypes,r)}(e);return r&&s&&n})),n=null===(r=this._surveyEventReceiver)||void 0===r?void 0:r.getSurveys(),o=s.filter((e=>{var t,i,r,s,o,a,l,c,u,d,h;if(!(e.linked_flag_key||e.targeting_flag_key||e.internal_targeting_flag_key||null!==(t=e.feature_flag_keys)&&void 0!==t&&t.length))return!0;var _=!e.linked_flag_key||this.instance.featureFlags.isFeatureEnabled(e.linked_flag_key),p=!e.targeting_flag_key||this.instance.featureFlags.isFeatureEnabled(e.targeting_flag_key),v=(null===(i=e.conditions)||void 0===i?void 0:i.events)&&(null===(r=e.conditions)||void 0===r||null===(s=r.events)||void 0===s?void 0:s.values)&&(null===(o=e.conditions)||void 0===o||null===(a=o.events)||void 0===a?void 0:a.values.length)>0,g=(null===(l=e.conditions)||void 0===l?void 0:l.actions)&&(null===(c=e.conditions)||void 0===c||null===(u=c.actions)||void 0===u?void 0:u.values)&&(null===(d=e.conditions)||void 0===d||null===(h=d.actions)||void 0===h?void 0:h.values.length)>0,f=!v&&!g||(null==n?void 0:n.includes(e.id)),m=this._canActivateRepeatedly(e),b=!(e.internal_targeting_flag_key&&!m)||this.instance.featureFlags.isFeatureEnabled(e.internal_targeting_flag_key),y=this.checkFlags(e);return _&&p&&b&&f&&y}));return e(o)}),i)}checkFlags(e){var t;return null===(t=e.feature_flag_keys)||void 0===t||!t.length||e.feature_flag_keys.every((e=>{var{key:t,value:i}=e;return!t||!i||this.instance.featureFlags.isFeatureEnabled(i)}))}_canActivateRepeatedly(e){var t;return J(null===(t=_.__PosthogExtensions__)||void 0===t?void 0:t.canActivateRepeatedly)?(Cn.warn(\"init was not called\"),!1):_.__PosthogExtensions__.canActivateRepeatedly(e)}canRenderSurvey(e){J(this._surveyManager)?Cn.warn(\"init was not called\"):this.getSurveys((t=>{var i=t.filter((t=>t.id===e))[0];this._surveyManager.canRenderSurvey(i)}))}renderSurvey(e,t){J(this._surveyManager)?Cn.warn(\"init was not called\"):this.getSurveys((i=>{var r=i.filter((t=>t.id===e))[0];this._surveyManager.renderSurvey(r,null==a?void 0:a.querySelector(t))}))}}var $n=te(\"[RateLimiter]\");class On{constructor(e){var t,i;oe(this,\"serverLimits\",{}),oe(this,\"lastEventRateLimited\",!1),oe(this,\"checkForLimiting\",(e=>{var t=e.text;if(t&&t.length)try{(JSON.parse(t).quota_limited||[]).forEach((e=>{$n.info(\"\".concat(e||\"events\",\" is quota limited.\")),this.serverLimits[e]=(new Date).getTime()+6e4}))}catch(e){return void $n.warn('could not rate limit - continuing. Error: \"'.concat(null==e?void 0:e.message,'\"'),{text:t})}})),this.instance=e,this.captureEventsPerSecond=(null===(t=e.config.rate_limiting)||void 0===t?void 0:t.events_per_second)||10,this.captureEventsBurstLimit=Math.max((null===(i=e.config.rate_limiting)||void 0===i?void 0:i.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(){var e,t,i,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],s=(new Date).getTime(),n=null!==(e=null===(t=this.instance.persistence)||void 0===t?void 0:t.get_property(De))&&void 0!==e?e:{tokens:this.captureEventsBurstLimit,last:s};n.tokens+=(s-n.last)/1e3*this.captureEventsPerSecond,n.last=s,n.tokens>this.captureEventsBurstLimit&&(n.tokens=this.captureEventsBurstLimit);var o=n.tokens<1;return o||r||(n.tokens=Math.max(0,n.tokens-1)),!o||this.lastEventRateLimited||r||this.instance.capture(\"$$client_ingestion_warning\",{$$client_ingestion_warning_message:\"posthog-js client rate limited. Config is set to \".concat(this.captureEventsPerSecond,\" events per second and \").concat(this.captureEventsBurstLimit,\" events burst limit.\")},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=o,null===(i=this.instance.persistence)||void 0===i||i.set_property(De,n),{isRateLimited:o,remainingTokens:n.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||\"events\"]||!1;return!1!==t&&(new Date).getTime(){var t=null==e?void 0:e.config;return ne({initialPathName:(null==l?void 0:l.pathname)||\"\",referringDomain:Ei.referringDomain()},Ei.campaignParams({customTrackedParams:null==t?void 0:t.custom_campaign_params,maskPersonalDataProperties:null==t?void 0:t.mask_personal_data_properties,customPersonalDataProperties:null==t?void 0:t.custom_personal_data_properties}))};class An{constructor(e,t,i,r){oe(this,\"_onSessionIdCallback\",(e=>{var t=this._getStoredProps();if(!t||t.sessionId!==e){var i={sessionId:e,props:this._sessionSourceParamGenerator(this.instance)};this._persistence.register({[Le]:i})}})),this.instance=e,this._sessionIdManager=t,this._persistence=i,this._sessionSourceParamGenerator=r||Mn,this._sessionIdManager.onSessionId(this._onSessionIdCallback)}_getStoredProps(){return this._persistence.props[Le]}getSessionProps(){var e,t=null===(e=this._getStoredProps())||void 0===e?void 0:e.props;return t?{$client_session_initial_referring_host:t.referringDomain,$client_session_initial_pathname:t.initialPathName,$client_session_initial_utm_source:t.utm_source,$client_session_initial_utm_campaign:t.utm_campaign,$client_session_initial_utm_medium:t.utm_medium,$client_session_initial_utm_content:t.utm_content,$client_session_initial_utm_term:t.utm_term}:{}}}var Ln=[\"ahrefsbot\",\"ahrefssiteaudit\",\"applebot\",\"baiduspider\",\"better uptime bot\",\"bingbot\",\"bingpreview\",\"bot.htm\",\"bot.php\",\"crawler\",\"deepscan\",\"duckduckbot\",\"facebookexternal\",\"facebookcatalog\",\"http://yandex.com/bots\",\"hubspot\",\"ia_archiver\",\"linkedinbot\",\"mj12bot\",\"msnbot\",\"nessus\",\"petalbot\",\"pinterest\",\"prerender\",\"rogerbot\",\"screaming frog\",\"semrushbot\",\"sitebulb\",\"slurp\",\"turnitin\",\"twitterbot\",\"vercelbot\",\"yahoo! slurp\",\"yandexbot\",\"gptbot\",\"oai-searchbot\",\"chatgpt-user\",\"headlesschrome\",\"cypress\",\"Google-HotelAdsVerifier\",\"adsbot-google\",\"apis-google\",\"duplexweb-google\",\"feedfetcher-google\",\"google favicon\",\"google web preview\",\"google-read-aloud\",\"googlebot\",\"googleweblight\",\"mediapartners-google\",\"storebot-google\",\"Bytespider;\"],Dn=function(e,t){if(!e)return!1;var i=e.toLowerCase();return Ln.concat(t||[]).some((e=>{var t=e.toLowerCase();return-1!==i.indexOf(t)}))},Nn=function(e,t){if(!e)return!1;var i=e.userAgent;if(i&&Dn(i,t))return!0;try{var r=null==e?void 0:e.userAgentData;if(null!=r&&r.brands&&r.brands.some((e=>Dn(null==e?void 0:e.brand,t))))return!0}catch(e){}return!!e.webdriver};class qn{constructor(){this.clicks=[]}isRageClick(e,t,i){var r=this.clicks[this.clicks.length-1];if(r&&Math.abs(e-r.x)+Math.abs(t-r.y)<30&&i-r.timestamp<1e3){if(this.clicks.push({x:e,y:t,timestamp:i}),3===this.clicks.length)return!0}else this.clicks=[{x:e,y:t,timestamp:i}];return!1}}var Bn=te(\"[Dead Clicks]\"),Hn=()=>!0,Un=e=>{var t,i=!(null===(t=e.instance.persistence)||void 0===t||!t.get_property(ve)),r=e.instance.config.capture_dead_clicks;return K(r)?r:i};class jn{get lazyLoadedDeadClicksAutocapture(){return this._lazyLoadedDeadClicksAutocapture}constructor(e,t,i){this.instance=e,this.isEnabled=t,this.onCapture=i,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[ve]:null==e?void 0:e.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.loadScript((()=>{this.start()}))}loadScript(e){var t,i,r;null!==(t=_.__PosthogExtensions__)&&void 0!==t&&t.initDeadClicksAutocapture&&e(),null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.loadExternalDependency)||void 0===r||r.call(i,this.instance,\"dead-clicks-autocapture\",(t=>{t?Bn.error(\"failed to load script\",t):e()}))}start(){var e;if(a){if(!this._lazyLoadedDeadClicksAutocapture&&null!==(e=_.__PosthogExtensions__)&&void 0!==e&&e.initDeadClicksAutocapture){var t=U(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this._lazyLoadedDeadClicksAutocapture=_.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this._lazyLoadedDeadClicksAutocapture.start(a),Bn.info(\"starting...\")}}else Bn.error(\"`document` not found. Cannot start.\")}stop(){this._lazyLoadedDeadClicksAutocapture&&(this._lazyLoadedDeadClicksAutocapture.stop(),this._lazyLoadedDeadClicksAutocapture=void 0,Bn.info(\"stopping...\"))}}var zn=te(\"[Heatmaps]\");function Wn(e){return U(e)&&\"clientX\"in e&&\"clientY\"in e&&Y(e.clientX)&&Y(e.clientY)}class Vn{constructor(e){var i;oe(this,\"rageclicks\",new qn),oe(this,\"_enabledServerSide\",!1),oe(this,\"_initialized\",!1),oe(this,\"_flushInterval\",null),this.instance=e,this._enabledServerSide=!(null===(i=this.instance.persistence)||void 0===i||!i.props[he]),R(t,\"beforeunload\",this.flush)}get flushIntervalMilliseconds(){var e=5e3;return U(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return z(this.instance.config.capture_heatmaps)?z(this.instance.config.enable_heatmaps)?this._enabledServerSide:this.instance.config.enable_heatmaps:!1!==this.instance.config.capture_heatmaps}startIfEnabled(){if(this.isEnabled){if(this._initialized)return;zn.info(\"starting...\"),this._setupListeners(),this._flushInterval=setInterval(this.flush.bind(this),this.flushIntervalMilliseconds)}else{var e,t;clearInterval(null!==(e=this._flushInterval)&&void 0!==e?e:void 0),null===(t=this.deadClicksCapture)||void 0===t||t.stop(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[he]:t}),this._enabledServerSide=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.buffer;return this.buffer=void 0,e}_onDeadClick(e){this._onClick(e.originalEvent,\"deadclick\")}_setupListeners(){t&&a&&(R(a,\"click\",(e=>this._onClick(e||(null==t?void 0:t.event))),{capture:!0}),R(a,\"mousemove\",(e=>this._onMouseMove(e||(null==t?void 0:t.event))),{capture:!0}),this.deadClicksCapture=new jn(this.instance,Hn,this._onDeadClick.bind(this)),this.deadClicksCapture.startIfEnabled(),this._initialized=!0)}_getProperties(e,i){var r=this.instance.scrollManager.scrollY(),s=this.instance.scrollManager.scrollX(),n=this.instance.scrollManager.scrollElement(),o=function(e,i,r){for(var s=e;s&&$i(s)&&!Oi(s,\"body\");){if(s===r)return!1;if($(i,null==t?void 0:t.getComputedStyle(s).position))return!0;s=ji(s)}return!1}(Hi(e),[\"fixed\",\"sticky\"],n);return{x:e.clientX+(o?0:s),y:e.clientY+(o?0:r),target_fixed:o,type:i}}_onClick(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"click\";if(!Ri(e.target)&&Wn(e)){var r=this._getProperties(e,i);null!==(t=this.rageclicks)&&void 0!==t&&t.isRageClick(e.clientX,e.clientY,(new Date).getTime())&&this._capture(ne(ne({},r),{},{type:\"rageclick\"})),this._capture(r)}}_onMouseMove(e){!Ri(e.target)&&Wn(e)&&(clearTimeout(this._mouseMoveTimeout),this._mouseMoveTimeout=setTimeout((()=>{this._capture(this._getProperties(e,\"mousemove\"))}),500))}_capture(e){if(t){var i=t.location.href;this.buffer=this.buffer||{},this.buffer[i]||(this.buffer[i]=[]),this.buffer[i].push(e)}}flush(){this.buffer&&!j(this.buffer)&&this.instance.capture(\"$$heatmap\",{$heatmap_data:this.getAndClearBuffer()})}}class Gn{constructor(e){oe(this,\"_updateScrollData\",(()=>{var e,t,i,r;this.context||(this.context={});var s=this.scrollElement(),n=this.scrollY(),o=s?Math.max(0,s.scrollHeight-s.clientHeight):0,a=n+((null==s?void 0:s.clientHeight)||0),l=(null==s?void 0:s.scrollHeight)||0;this.context.lastScrollY=Math.ceil(n),this.context.maxScrollY=Math.max(n,null!==(e=this.context.maxScrollY)&&void 0!==e?e:0),this.context.maxScrollHeight=Math.max(o,null!==(t=this.context.maxScrollHeight)&&void 0!==t?t:0),this.context.lastContentY=a,this.context.maxContentY=Math.max(a,null!==(i=this.context.maxContentY)&&void 0!==i?i:0),this.context.maxContentHeight=Math.max(l,null!==(r=this.context.maxContentHeight)&&void 0!==r?r:0)})),this.instance=e}getContext(){return this.context}resetContext(){var e=this.context;return setTimeout(this._updateScrollData,0),e}startMeasuringScrollPosition(){R(t,\"scroll\",this._updateScrollData,{capture:!0}),R(t,\"scrollend\",this._updateScrollData,{capture:!0}),R(t,\"resize\",this._updateScrollData)}scrollElement(){if(!this.instance.config.scroll_root_selector)return null==t?void 0:t.document.documentElement;var e=B(this.instance.config.scroll_root_selector)?this.instance.config.scroll_root_selector:[this.instance.config.scroll_root_selector];for(var i of e){var r=null==t?void 0:t.document.querySelector(i);if(r)return r}}scrollY(){if(this.instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollTop||0}return t&&(t.scrollY||t.pageYOffset||t.document.documentElement.scrollTop)||0}scrollX(){if(this.instance.config.scroll_root_selector){var e=this.scrollElement();return e&&e.scrollLeft||0}return t&&(t.scrollX||t.pageXOffset||t.document.documentElement.scrollLeft)||0}}var Jn=te(\"[AutoCapture]\");function Yn(e,t){return t.length>e?t.slice(0,e)+\"...\":t}function Kn(e){if(e.previousElementSibling)return e.previousElementSibling;var t=e;do{t=t.previousSibling}while(t&&!$i(t));return t}function Xn(e,t,i,r){var s=e.tagName.toLowerCase(),n={tag_name:s};Ui.indexOf(s)>-1&&!i&&(\"a\"===s.toLowerCase()||\"button\"===s.toLowerCase()?n.$el_text=Yn(1024,er(e)):n.$el_text=Yn(1024,Bi(e)));var o=Ni(e);o.length>0&&(n.classes=o.filter((function(e){return\"\"!==e}))),y(e.attributes,(function(i){var s;if((!Vi(e)||-1!==[\"name\",\"id\",\"class\",\"aria-label\"].indexOf(i.name))&&((null==r||!r.includes(i.name))&&!t&&Zi(i.value)&&(s=i.name,!W(s)||\"_ngcontent\"!==s.substring(0,10)&&\"_nghost\"!==s.substring(0,7)))){var o=i.value;\"class\"===i.name&&(o=Li(o).join(\" \")),n[\"attr__\"+i.name]=Yn(1024,o)}}));for(var a=1,l=1,c=e;c=Kn(c);)a++,c.tagName===e.tagName&&l++;return n.nth_child=a,n.nth_of_type=l,n}function Qn(e,i){for(var r,s,{e:n,maskAllElementAttributes:o,maskAllText:a,elementAttributeIgnoreList:l,elementsChainAsString:c}=i,u=[e],d=e;d.parentNode&&!Oi(d,\"body\");)Ai(d.parentNode)?(u.push(d.parentNode.host),d=d.parentNode.host):(u.push(d.parentNode),d=d.parentNode);var h,_=[],p={},v=!1,g=!1;if(y(u,(e=>{var t=Wi(e);\"a\"===e.tagName.toLowerCase()&&(v=e.getAttribute(\"href\"),v=t&&v&&Zi(v)&&v),$(Ni(e),\"ph-no-capture\")&&(g=!0),_.push(Xn(e,o,a,l));var i=function(e){if(!Wi(e))return{};var t={};return y(e.attributes,(function(e){if(e.name&&0===e.name.indexOf(\"data-ph-capture-attribute\")){var i=e.name.replace(\"data-ph-capture-attribute-\",\"\"),r=e.value;i&&r&&Zi(r)&&(t[i]=r)}})),t}(e);w(p,i)})),g)return{props:{},explicitNoCapture:g};if(a||(\"a\"===e.tagName.toLowerCase()||\"button\"===e.tagName.toLowerCase()?_[0].$el_text=er(e):_[0].$el_text=Bi(e)),v){var f,m;_[0].attr__href=v;var b=null===(f=yt(v))||void 0===f?void 0:f.host,S=null==t||null===(m=t.location)||void 0===m?void 0:m.host;b&&S&&b!==S&&(h=v)}return{props:w({$event_type:n.type,$ce_version:1},c?{}:{$elements:_},{$elements_chain:ir(_)},null!==(r=_[0])&&void 0!==r&&r.$el_text?{$el_text:null===(s=_[0])||void 0===s?void 0:s.$el_text}:{},h&&\"click\"===n.type?{$external_click_url:h}:{},p)}}class Zn{constructor(e){oe(this,\"_initialized\",!1),oe(this,\"_isDisabledServerSide\",null),oe(this,\"rageclicks\",new qn),oe(this,\"_elementsChainAsString\",!1),this.instance=e,this._elementSelectors=null}get config(){var e,t,i=U(this.instance.config.autocapture)?this.instance.config.autocapture:{};return i.url_allowlist=null===(e=i.url_allowlist)||void 0===e?void 0:e.map((e=>new RegExp(e))),i.url_ignorelist=null===(t=i.url_ignorelist)||void 0===t?void 0:t.map((e=>new RegExp(e))),i}_addDomEventHandlers(){if(this.isBrowserSupported()){if(t&&a){var e=e=>{e=e||(null==t?void 0:t.event);try{this._captureEvent(e)}catch(e){Jn.error(\"Failed to capture event\",e)}};if(R(a,\"submit\",e,{capture:!0}),R(a,\"change\",e,{capture:!0}),R(a,\"click\",e,{capture:!0}),this.config.capture_copied_text){var i=e=>{e=e||(null==t?void 0:t.event),this._captureEvent(e,v)};R(a,\"copy\",i,{capture:!0}),R(a,\"cut\",i,{capture:!0})}}}else Jn.info(\"Disabling Automatic Event Collection because this browser is not supported\")}startIfEnabled(){this.isEnabled&&!this._initialized&&(this._addDomEventHandlers(),this._initialized=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this._elementsChainAsString=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[de]:!!e.autocapture_opt_out}),this._isDisabledServerSide=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this._elementSelectors=e}getElementSelectors(e){var t,i=[];return null===(t=this._elementSelectors)||void 0===t||t.forEach((t=>{var r=null==a?void 0:a.querySelectorAll(t);null==r||r.forEach((r=>{e===r&&i.push(t)}))})),i}get isEnabled(){var e,t,i=null===(e=this.instance.persistence)||void 0===e?void 0:e.props[de],r=this._isDisabledServerSide;if(G(r)&&!K(i)&&!this.instance.config.advanced_disable_decide)return!1;var s=null!==(t=this._isDisabledServerSide)&&void 0!==t?t:!!i;return!!this.instance.config.autocapture&&!s}_captureEvent(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"$autocapture\";if(this.isEnabled){var r,s=Hi(e);if(Mi(s)&&(s=s.parentNode||null),\"$autocapture\"===i&&\"click\"===e.type&&e instanceof MouseEvent)this.instance.config.rageclick&&null!==(r=this.rageclicks)&&void 0!==r&&r.isRageClick(e.clientX,e.clientY,(new Date).getTime())&&this._captureEvent(e,\"$rageclick\");var n=i===v;if(s&&zi(s,e,this.config,n,n?[\"copy\",\"cut\"]:void 0)){var{props:o,explicitNoCapture:a}=Qn(s,{e:e,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.config.element_attribute_ignorelist,elementsChainAsString:this._elementsChainAsString});if(a)return!1;var l=this.getElementSelectors(s);if(l&&l.length>0&&(o.$element_selectors=l),i===v){var c,u=qi(null==t||null===(c=t.getSelection())||void 0===c?void 0:c.toString()),d=e.type||\"clipboard\";if(!u)return!1;o.$selected_content=u,o.$copy_type=d}return this.instance.capture(i,o),!0}}}isBrowserSupported(){return H(null==a?void 0:a.querySelectorAll)}}var eo=te(\"[TracingHeaders]\");class to{constructor(e){oe(this,\"_restoreXHRPatch\",void 0),oe(this,\"_restoreFetchPatch\",void 0),oe(this,\"_startCapturing\",(()=>{var e,t,i,r;z(this._restoreXHRPatch)&&(null===(e=_.__PosthogExtensions__)||void 0===e||null===(t=e.tracingHeadersPatchFns)||void 0===t||t._patchXHR(this.instance.sessionManager));z(this._restoreFetchPatch)&&(null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.tracingHeadersPatchFns)||void 0===r||r._patchFetch(this.instance.sessionManager))})),this.instance=e}_loadScript(e){var t,i,r;null!==(t=_.__PosthogExtensions__)&&void 0!==t&&t.tracingHeadersPatchFns&&e(),null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.loadExternalDependency)||void 0===r||r.call(i,this.instance,\"tracing-headers\",(t=>{if(t)return eo.error(\"failed to load script\",t);e()}))}startIfEnabledOrStop(){var e,t;this.instance.config.__add_tracing_headers?this._loadScript(this._startCapturing):(null===(e=this._restoreXHRPatch)||void 0===e||e.call(this),null===(t=this._restoreFetchPatch)||void 0===t||t.call(this),this._restoreXHRPatch=void 0,this._restoreFetchPatch=void 0)}}var io;!function(e){e[e.PENDING=-1]=\"PENDING\",e[e.DENIED=0]=\"DENIED\",e[e.GRANTED=1]=\"GRANTED\"}(io||(io={}));class ro{constructor(e){this.instance=e}get config(){return this.instance.config}get consent(){return this.getDnt()?io.DENIED:this.storedConsent}isOptedOut(){return this.consent===io.DENIED||this.consent===io.PENDING&&this.config.opt_out_capturing_by_default}isOptedIn(){return!this.isOptedOut()}optInOut(e){this.storage.set(this.storageKey,e?1:0,this.config.cookie_expiration,this.config.cross_subdomain_cookie,this.config.secure_cookie)}reset(){this.storage.remove(this.storageKey,this.config.cross_subdomain_cookie)}get storageKey(){var{token:e,opt_out_capturing_cookie_prefix:t}=this.instance.config;return(t||\"__ph_opt_in_out_\")+e}get storedConsent(){var e=this.storage.get(this.storageKey);return\"1\"===e?io.GRANTED:\"0\"===e?io.DENIED:io.PENDING}get storage(){if(!this._storage){var e=this.config.opt_out_capturing_persistence_type;this._storage=\"localStorage\"===e?ht:ut;var t=\"localStorage\"===e?ut:ht;t.get(this.storageKey)&&(this._storage.get(this.storageKey)||this.optInOut(\"1\"===t.get(this.storageKey)),t.remove(this.storageKey,this.config.cross_subdomain_cookie))}return this._storage}getDnt(){return!!this.config.respect_dnt&&!!T([null==o?void 0:o.doNotTrack,null==o?void 0:o.msDoNotTrack,_.doNotTrack],(e=>$([!0,1,\"1\",\"yes\"],e)))}}var so=te(\"[ExceptionAutocapture]\");class no{constructor(e){var i;oe(this,\"originalOnUnhandledRejectionHandler\",void 0),oe(this,\"startCapturing\",(()=>{var e,i,r,s;if(t&&this.isEnabled&&!this.hasHandlers&&!this.isCapturing){var n=null===(e=_.__PosthogExtensions__)||void 0===e||null===(i=e.errorWrappingFunctions)||void 0===i?void 0:i.wrapOnError,o=null===(r=_.__PosthogExtensions__)||void 0===r||null===(s=r.errorWrappingFunctions)||void 0===s?void 0:s.wrapUnhandledRejection;if(n&&o)try{this.unwrapOnError=n(this.captureException.bind(this)),this.unwrapUnhandledRejection=o(this.captureException.bind(this))}catch(e){so.error(\"failed to start\",e),this.stopCapturing()}else so.error(\"failed to load error wrapping functions - cannot start\")}})),this.instance=e,this.remoteEnabled=!(null===(i=this.instance.persistence)||void 0===i||!i.props[_e]),this.startIfEnabled()}get isEnabled(){var e;return null!==(e=this.remoteEnabled)&&void 0!==e&&e}get isCapturing(){var e;return!(null==t||null===(e=t.onerror)||void 0===e||!e.__POSTHOG_INSTRUMENTED__)}get hasHandlers(){return this.originalOnUnhandledRejectionHandler||this.unwrapOnError}startIfEnabled(){this.isEnabled&&!this.isCapturing&&(so.info(\"enabled, starting...\"),this.loadScript(this.startCapturing))}loadScript(e){var t,i;this.hasHandlers&&e(),null===(t=_.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,\"exception-autocapture\",(t=>{if(t)return so.error(\"failed to load script\",t);e()}))}stopCapturing(){var e,t;null===(e=this.unwrapOnError)||void 0===e||e.call(this),null===(t=this.unwrapUnhandledRejection)||void 0===t||t.call(this)}onRemoteConfig(e){var t=e.autocaptureExceptions;this.remoteEnabled=!!t||!1,this.instance.persistence&&this.instance.persistence.register({[_e]:this.remoteEnabled}),this.startIfEnabled()}captureException(e){var t=this.instance.requestRouter.endpointFor(\"ui\");e.$exception_personURL=\"\".concat(t,\"/project/\").concat(this.instance.config.token,\"/person/\").concat(this.instance.get_distinct_id()),this.instance.exceptions.sendExceptionEvent(e)}}var oo=te(\"[Web Vitals]\"),ao=9e5;class lo{constructor(e){var t;oe(this,\"_enabledServerSide\",!1),oe(this,\"_initialized\",!1),oe(this,\"buffer\",{url:void 0,metrics:[],firstMetricTimestamp:void 0}),oe(this,\"_flushToCapture\",(()=>{clearTimeout(this._delayedFlushTimer),0!==this.buffer.metrics.length&&(this.instance.capture(\"$web_vitals\",this.buffer.metrics.reduce(((e,t)=>ne(ne({},e),{},{[\"$web_vitals_\".concat(t.name,\"_event\")]:ne({},t),[\"$web_vitals_\".concat(t.name,\"_value\")]:t.value})),{})),this.buffer={url:void 0,metrics:[],firstMetricTimestamp:void 0})})),oe(this,\"_addToBuffer\",(e=>{var t,i=null===(t=this.instance.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0);if(z(i))oo.error(\"Could not read session ID. Dropping metrics!\");else{this.buffer=this.buffer||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var r=this._currentURL();if(!z(r))if(J(null==e?void 0:e.name)||J(null==e?void 0:e.value))oo.error(\"Invalid metric received\",e);else if(this._maxAllowedValue&&e.value>=this._maxAllowedValue)oo.error(\"Ignoring metric with value >= \"+this._maxAllowedValue,e);else this.buffer.url!==r&&(this._flushToCapture(),this._delayedFlushTimer=setTimeout(this._flushToCapture,this.flushToCaptureTimeoutMs)),z(this.buffer.url)&&(this.buffer.url=r),this.buffer.firstMetricTimestamp=z(this.buffer.firstMetricTimestamp)?Date.now():this.buffer.firstMetricTimestamp,e.attribution&&e.attribution.interactionTargetElement&&(e.attribution.interactionTargetElement=void 0),this.buffer.metrics.push(ne(ne({},e),{},{$current_url:r,$session_id:i.sessionId,$window_id:i.windowId,timestamp:Date.now()})),this.buffer.metrics.length===this.allowedMetrics.length&&this._flushToCapture()}})),oe(this,\"_startCapturing\",(()=>{var e,t,i,r,s=_.__PosthogExtensions__;z(s)||z(s.postHogWebVitalsCallbacks)||({onLCP:e,onCLS:t,onFCP:i,onINP:r}=s.postHogWebVitalsCallbacks),e&&t&&i&&r?(this.allowedMetrics.indexOf(\"LCP\")>-1&&e(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"CLS\")>-1&&t(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"FCP\")>-1&&i(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"INP\")>-1&&r(this._addToBuffer.bind(this)),this._initialized=!0):oo.error(\"web vitals callbacks not loaded - not starting\")})),this.instance=e,this._enabledServerSide=!(null===(t=this.instance.persistence)||void 0===t||!t.props[pe]),this.startIfEnabled()}get allowedMetrics(){var e,t,i=U(this.instance.config.capture_performance)?null===(e=this.instance.config.capture_performance)||void 0===e?void 0:e.web_vitals_allowed_metrics:void 0;return z(i)?(null===(t=this.instance.persistence)||void 0===t?void 0:t.props[ge])||[\"CLS\",\"FCP\",\"INP\",\"LCP\"]:i}get flushToCaptureTimeoutMs(){return(U(this.instance.config.capture_performance)?this.instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get _maxAllowedValue(){var e=U(this.instance.config.capture_performance)&&Y(this.instance.config.capture_performance.__web_vitals_max_value)?this.instance.config.capture_performance.__web_vitals_max_value:ao;return 0{t?oo.error(\"failed to load script\",t):e()}))}_currentURL(){var e=t?t.location.href:void 0;return e||oo.error(\"Could not determine current URL\"),e}}var co={icontains:(e,i)=>!!t&&i.href.toLowerCase().indexOf(e.toLowerCase())>-1,not_icontains:(e,i)=>!!t&&-1===i.href.toLowerCase().indexOf(e.toLowerCase()),regex:(e,i)=>!!t&&A(i.href,e),not_regex:(e,i)=>!!t&&!A(i.href,e),exact:(e,t)=>t.href===e,is_not:(e,t)=>t.href!==e};class uo{constructor(e){var t=this;oe(this,\"getWebExperimentsAndEvaluateDisplayLogic\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.getWebExperiments((e=>{uo.logInfo(\"retrieved web experiments from the server\"),t._flagToExperiments=new Map,e.forEach((e=>{if(e.feature_flag_key){var i;if(t._flagToExperiments)uo.logInfo(\"setting flag key \",e.feature_flag_key,\" to web experiment \",e),null===(i=t._flagToExperiments)||void 0===i||i.set(e.feature_flag_key,e);var r=t.instance.getFeatureFlag(e.feature_flag_key);W(r)&&e.variants[r]&&t.applyTransforms(e.name,r,e.variants[r].transforms)}else if(e.variants)for(var s in e.variants){var n=e.variants[s];uo.matchesTestVariant(n)&&t.applyTransforms(e.name,s,n.transforms)}}))}),e)})),this.instance=e,this.instance.onFeatureFlags((e=>{this.onFeatureFlags(e)}))}onFeatureFlags(e){if(this._is_bot())uo.logInfo(\"Refusing to render web experiment since the viewer is a likely bot\");else if(!this.instance.config.disable_web_experiments){if(J(this._flagToExperiments))return this._flagToExperiments=new Map,this.loadIfEnabled(),void this.previewWebExperiment();uo.logInfo(\"applying feature flags\",e),e.forEach((e=>{var t;if(this._flagToExperiments&&null!==(t=this._flagToExperiments)&&void 0!==t&&t.has(e)){var i,r=this.instance.getFeatureFlag(e),s=null===(i=this._flagToExperiments)||void 0===i?void 0:i.get(e);r&&null!=s&&s.variants[r]&&this.applyTransforms(s.name,r,s.variants[r].transforms)}}))}}previewWebExperiment(){var e=uo.getWindowLocation();if(null!=e&&e.search){var t=St(null==e?void 0:e.search,\"__experiment_id\"),i=St(null==e?void 0:e.search,\"__experiment_variant\");t&&i&&(uo.logInfo(\"previewing web experiments \".concat(t,\" && \").concat(i)),this.getWebExperiments((e=>{this.showPreviewWebExperiment(parseInt(t),i,e)}),!1,!0))}}loadIfEnabled(){this.instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,i){if(this.instance.config.disable_web_experiments&&!i)return e([]);var r=this.instance.get_property(\"$web_experiments\");if(r&&!t)return e(r);this.instance._send_request({url:this.instance.requestRouter.endpointFor(\"api\",\"/api/web_experiments/?token=\".concat(this.instance.config.token)),method:\"GET\",callback:t=>{if(200!==t.statusCode||!t.json)return e([]);var i=t.json.experiments||[];return e(i)}})}showPreviewWebExperiment(e,t,i){var r=i.filter((t=>t.id===e));r&&r.length>0&&(uo.logInfo(\"Previewing web experiment [\".concat(r[0].name,\"] with variant [\").concat(t,\"]\")),this.applyTransforms(r[0].name,t,r[0].variants[t].transforms))}static matchesTestVariant(e){return!J(e.conditions)&&(uo.matchUrlConditions(e)&&uo.matchUTMConditions(e))}static matchUrlConditions(e){var t;if(J(e.conditions)||J(null===(t=e.conditions)||void 0===t?void 0:t.url))return!0;var i,r,s,n=uo.getWindowLocation();return!!n&&(null===(i=e.conditions)||void 0===i||!i.url||co[null!==(r=null===(s=e.conditions)||void 0===s?void 0:s.urlMatchType)&&void 0!==r?r:\"icontains\"](e.conditions.url,n))}static getWindowLocation(){return null==t?void 0:t.location}static matchUTMConditions(e){var t;if(J(e.conditions)||J(null===(t=e.conditions)||void 0===t?void 0:t.utm))return!0;var i=Ei.campaignParams();if(i.utm_source){var r,s,n,o,a,l,c,u,d,h,_,p,v,g,f,m,b=null===(r=e.conditions)||void 0===r||null===(s=r.utm)||void 0===s||!s.utm_campaign||(null===(n=e.conditions)||void 0===n||null===(o=n.utm)||void 0===o?void 0:o.utm_campaign)==i.utm_campaign,y=null===(a=e.conditions)||void 0===a||null===(l=a.utm)||void 0===l||!l.utm_source||(null===(c=e.conditions)||void 0===c||null===(u=c.utm)||void 0===u?void 0:u.utm_source)==i.utm_source,w=null===(d=e.conditions)||void 0===d||null===(h=d.utm)||void 0===h||!h.utm_medium||(null===(_=e.conditions)||void 0===_||null===(p=_.utm)||void 0===p?void 0:p.utm_medium)==i.utm_medium,S=null===(v=e.conditions)||void 0===v||null===(g=v.utm)||void 0===g||!g.utm_term||(null===(f=e.conditions)||void 0===f||null===(m=f.utm)||void 0===m?void 0:m.utm_term)==i.utm_term;return b&&w&&S&&y}return!1}static logInfo(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r{if(i.selector){var r;uo.logInfo(\"applying transform of variant \".concat(t,\" for experiment \").concat(e,\" \"),i);var s=null===(r=document)||void 0===r?void 0:r.querySelectorAll(i.selector);null==s||s.forEach((e=>{var t=e;i.attributes&&i.attributes.forEach((e=>{switch(e.name){case\"text\":t.innerText=e.value;break;case\"html\":t.innerHTML=e.value;break;case\"cssClass\":t.className=e.value;break;default:t.setAttribute(e.name,e.value)}})),i.text&&(t.innerText=i.text),i.html&&(t.parentElement?t.parentElement.innerHTML=i.html:t.innerHTML=i.html),i.css&&t.setAttribute(\"style\",i.css)}))}})):uo.logInfo(\"Control variants leave the page unmodified.\")}_is_bot(){return o&&this.instance?Nn(o,this.instance.config.custom_blocked_useragents):void 0}}class ho{constructor(e){this.instance=e}sendExceptionEvent(e){this.instance.capture(\"$exception\",e,{_noTruncate:!0,_batchKey:\"exceptionEvent\"})}}var _o=[\"$set_once\",\"$set\"],po=te(\"[SiteApps]\");class vo{constructor(e){this.instance=e,this.bufferedInvocations=[],this.apps={}}get isEnabled(){return!!this.instance.config.opt_in_site_apps}eventCollector(e,t){if(t){var i=this.globalsForEvent(t);this.bufferedInvocations.push(i),this.bufferedInvocations.length>1e3&&(this.bufferedInvocations=this.bufferedInvocations.slice(10))}}get siteAppLoaders(){var e,t;return null===(e=_._POSTHOG_REMOTE_CONFIG)||void 0===e||null===(t=e[this.instance.config.token])||void 0===t?void 0:t.siteApps}init(){if(this.isEnabled){var e=this.instance._addCaptureHook(this.eventCollector.bind(this));this.stopBuffering=()=>{e(),this.bufferedInvocations=[],this.stopBuffering=void 0}}}globalsForEvent(e){var t,i,r,s,n,o,a;if(!e)throw new Error(\"Event payload is required\");var l={},c=this.instance.get_property(\"$groups\")||[],u=this.instance.get_property(\"$stored_group_properties\")||{};for(var[d,h]of Object.entries(u))l[d]={id:c[d],type:d,properties:h};var{$set_once:_,$set:p}=e;return{event:ne(ne({},ae(e,_o)),{},{properties:ne(ne(ne({},e.properties),p?{$set:ne(ne({},null!==(t=null===(i=e.properties)||void 0===i?void 0:i.$set)&&void 0!==t?t:{}),p)}:{}),_?{$set_once:ne(ne({},null!==(r=null===(s=e.properties)||void 0===s?void 0:s.$set_once)&&void 0!==r?r:{}),_)}:{}),elements_chain:null!==(n=null===(o=e.properties)||void 0===o?void 0:o.$elements_chain)&&void 0!==n?n:\"\",distinct_id:null===(a=e.properties)||void 0===a?void 0:a.distinct_id}),person:{properties:this.instance.get_property(\"$stored_person_properties\")},groups:l}}setupSiteApp(e){var t={id:e.id,loaded:!1,errored:!1};this.apps[e.id]=t;var i=i=>{var r;for(var s of(this.apps[e.id].errored=!i,this.apps[e.id].loaded=!0,po.info(\"Site app with id \".concat(e.id,\" \").concat(i?\"loaded\":\"errored\")),i&&this.bufferedInvocations.length&&(po.info(\"Processing \".concat(this.bufferedInvocations.length,\" events for site app with id \").concat(e.id)),this.bufferedInvocations.forEach((e=>{var i;return null===(i=t.processEvent)||void 0===i?void 0:i.call(t,e)}))),Object.values(this.apps)))if(!s.loaded)return;null===(r=this.stopBuffering)||void 0===r||r.call(this)};try{var{processEvent:r}=e.init({posthog:this.instance,callback:e=>{i(e)}});r&&(t.processEvent=r)}catch(t){po.error(\"Error while initializing PostHog app with config id \".concat(e.id),t),i(!1)}}onCapturedEvent(e){if(0!==Object.keys(this.apps).length){var t=this.globalsForEvent(e);for(var i of Object.values(this.apps))try{var r;null===(r=i.processEvent)||void 0===r||r.call(i,t)}catch(t){po.error(\"Error while processing event \".concat(e.event,\" for site app \").concat(i.id),t)}}}onRemoteConfig(e){var t,i,r,s=this;if(null!==(t=this.siteAppLoaders)&&void 0!==t&&t.length){if(!this.isEnabled)return void po.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.');for(var n of this.siteAppLoaders)this.setupSiteApp(n);this.instance.on(\"eventCaptured\",(e=>this.onCapturedEvent(e)))}else if(null===(i=this.stopBuffering)||void 0===i||i.call(this),null!==(r=e.siteApps)&&void 0!==r&&r.length)if(this.isEnabled){var o=function(e,t){var i,r;_[\"__$$ph_site_app_\".concat(e)]=s.instance,null===(i=_.__PosthogExtensions__)||void 0===i||null===(r=i.loadSiteApp)||void 0===r||r.call(i,s.instance,t,(t=>{if(t)return po.error(\"Error while initializing PostHog app with config id \".concat(e),t)}))};for(var{id:a,url:l}of e.siteApps)o(a,l)}else po.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.')}}function go(e,t,i){return ks({distinct_id:e,userPropertiesToSet:t,userPropertiesToSetOnce:i})}var fo={},mo=()=>{},bo=\"posthog\",yo=!ys&&-1===(null==h?void 0:h.indexOf(\"MSIE\"))&&-1===(null==h?void 0:h.indexOf(\"Mozilla\")),wo=()=>{var e;return{api_host:\"https://us.i.posthog.com\",ui_host:null,token:\"\",autocapture:!0,rageclick:!0,cross_subdomain_cookie:F(null==a?void 0:a.location),persistence:\"localStorage+cookie\",persistence_name:\"\",loaded:mo,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageview:!0,capture_pageleave:\"if_capture_pageview\",debug:l&&W(null==l?void 0:l.search)&&-1!==l.search.indexOf(\"__posthog_debug=true\")||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:\"https:\"===(null==t||null===(e=t.location)||void 0===e?void 0:e.protocol),ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:\"localStorage\",opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,session_recording:{},mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,on_request_error:e=>{var t=\"Bad HTTP status: \"+e.statusCode+\" \"+e.text;ee.error(t)},get_device_id:e=>e,capture_performance:void 0,name:\"posthog\",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:\"identified_only\",before_send:void 0,request_queue_config:{flush_interval_ms:fs},_onCapture:mo}},So=e=>{var t={};z(e.process_person)||(t.person_profiles=e.process_person),z(e.xhr_headers)||(t.request_headers=e.xhr_headers),z(e.cookie_name)||(t.persistence_name=e.cookie_name),z(e.disable_cookie)||(t.disable_persistence=e.disable_cookie),z(e.store_google)||(t.save_campaign_params=e.store_google),z(e.verbose)||(t.debug=e.verbose);var i=w({},t,e);return B(e.property_blacklist)&&(z(e.property_denylist)?i.property_denylist=e.property_blacklist:B(e.property_denylist)?i.property_denylist=[...e.property_blacklist,...e.property_denylist]:ee.error(\"Invalid value for property_denylist config: \"+e.property_denylist)),i};class ko{constructor(){oe(this,\"__forceAllowLocalhost\",!1)}get _forceAllowLocalhost(){return this.__forceAllowLocalhost}set _forceAllowLocalhost(e){ee.error(\"WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`\"),this.__forceAllowLocalhost=e}}class Eo{get decideEndpointWasHit(){var e,t;return null!==(e=null===(t=this.featureFlags)||void 0===t?void 0:t.hasLoadedFlags)&&void 0!==e&&e}constructor(){oe(this,\"webPerformance\",new ko),oe(this,\"version\",p.LIB_VERSION),oe(this,\"_internalEventEmitter\",new En),this.config=wo(),this.SentryIntegration=As,this.sentryIntegration=e=>function(e,t){var i=Ms(e,t);return{name:Os,processEvent:e=>i(e)}}(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint=\"/e/\",this._initialPageviewCaptured=!1,this._initialPersonProfilesConfig=null,this._cachedIdentify=null,this.featureFlags=new Xe(this),this.toolbar=new gs(this),this.scrollManager=new Gn(this),this.pageViewManager=new Ns(this),this.surveys=new Rn(this),this.experiments=new uo(this),this.exceptions=new ho(this),this.rateLimiter=new On(this),this.requestRouter=new $s(this),this.consent=new ro(this),this.people={set:(e,t,i)=>{var r=W(e)?{[e]:t}:e;this.setPersonProperties(r),null==i||i({})},set_once:(e,t,i)=>{var r=W(e)?{[e]:t}:e;this.setPersonProperties(void 0,r),null==i||i({})}},this.on(\"eventCaptured\",(e=>ee.info('send \"'.concat(null==e?void 0:e.event,'\"'),e)))}init(e,t,i){if(i&&i!==bo){var r,s=null!==(r=fo[i])&&void 0!==r?r:new Eo;return s._init(e,t,i),fo[i]=s,fo[bo][i]=s,s}return this._init(e,t,i)}_init(i){var r,s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;if(z(i)||V(i))return ee.critical(\"PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()\"),this;if(this.__loaded)return ee.warn(\"You have already initialized PostHog! Re-initializing is a no-op\"),this;this.__loaded=!0,this.config={},this._triggered_notifs=[],n.person_profiles&&(this._initialPersonProfilesConfig=n.person_profiles),this.set_config(w({},wo(),So(n),{name:o,token:i})),this.config.on_xhr_error&&ee.error(\"on_xhr_error is deprecated. Use on_request_error instead\"),this.compression=n.disable_compression?void 0:e.GZipJS,this.persistence=new Ii(this.config),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new Ii(ne(ne({},this.config),{},{persistence:\"sessionStorage\"}));var a=ne({},this.persistence.props),l=ne({},this.sessionPersistence.props);if(this._requestQueue=new ms((e=>this._send_retriable_request(e)),this.config.request_queue_config),this._retryQueue=new Cs(this),this.__request_queue=[],this.config.__preview_experimental_cookieless_mode||(this.sessionManager=new Ts(this),this.sessionPropsManager=new An(this,this.sessionManager,this.persistence)),new to(this).startIfEnabledOrStop(),this.siteApps=new vo(this),null===(r=this.siteApps)||void 0===r||r.init(),this.config.__preview_experimental_cookieless_mode||(this.sessionRecording=new cs(this),this.sessionRecording.startIfEnabledOrStop()),this.config.disable_scroll_properties||this.scrollManager.startMeasuringScrollPosition(),this.autocapture=new Zn(this),this.autocapture.startIfEnabled(),this.surveys.loadIfEnabled(),this.heatmaps=new Vn(this),this.heatmaps.startIfEnabled(),this.webVitalsAutocapture=new lo(this),this.exceptionObserver=new no(this),this.exceptionObserver.startIfEnabled(),this.deadClicksAutocapture=new jn(this,Un),this.deadClicksAutocapture.startIfEnabled(),p.DEBUG=p.DEBUG||this.config.debug,p.DEBUG&&ee.info(\"Starting in debug mode\",{this:this,config:n,thisC:ne({},this.config),p:a,s:l}),this._sync_opt_out_with_persistence(),void 0!==(null===(s=n.bootstrap)||void 0===s?void 0:s.distinctID)){var c,u,d=this.config.get_device_id(st()),h=null!==(c=n.bootstrap)&&void 0!==c&&c.isIdentifiedID?d:n.bootstrap.distinctID;this.persistence.set_property(Ae,null!==(u=n.bootstrap)&&void 0!==u&&u.isIdentifiedID?\"identified\":\"anonymous\"),this.register({distinct_id:n.bootstrap.distinctID,$device_id:h})}if(this._hasBootstrappedFeatureFlags()){var _,v,g=Object.keys((null===(_=n.bootstrap)||void 0===_?void 0:_.featureFlags)||{}).filter((e=>{var t,i;return!(null===(t=n.bootstrap)||void 0===t||null===(i=t.featureFlags)||void 0===i||!i[e])})).reduce(((e,t)=>{var i,r;return e[t]=(null===(i=n.bootstrap)||void 0===i||null===(r=i.featureFlags)||void 0===r?void 0:r[t])||!1,e}),{}),f=Object.keys((null===(v=n.bootstrap)||void 0===v?void 0:v.featureFlagPayloads)||{}).filter((e=>g[e])).reduce(((e,t)=>{var i,r,s,o;null!==(i=n.bootstrap)&&void 0!==i&&null!==(r=i.featureFlagPayloads)&&void 0!==r&&r[t]&&(e[t]=null===(s=n.bootstrap)||void 0===s||null===(o=s.featureFlagPayloads)||void 0===o?void 0:o[t]);return e}),{});this.featureFlags.receivedFeatureFlags({featureFlags:g,featureFlagPayloads:f})}if(this.config.__preview_experimental_cookieless_mode)this.register_once({distinct_id:je,$device_id:null},\"\");else if(!this.get_distinct_id()){var m=this.config.get_device_id(st());this.register_once({distinct_id:m,$device_id:m},\"\"),this.persistence.set_property(Ae,\"anonymous\")}return R(t,\"onpagehide\"in self?\"pagehide\":\"unload\",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),n.segment?Ds(this,(()=>this._loaded())):this._loaded(),H(this.config._onCapture)&&this.config._onCapture!==mo&&(ee.warn(\"onCapture is deprecated. Please use `before_send` instead\"),this.on(\"eventCaptured\",(e=>this.config._onCapture(e.event,e)))),this}_onRemoteConfig(t){var i,r,s,n,o,l,c,u;if(!a||!a.body)return ee.info(\"document not ready yet, trying again in 500 milliseconds...\"),void setTimeout((()=>{this._onRemoteConfig(t)}),500);this.compression=void 0,t.supportedCompression&&!this.config.disable_compression&&(this.compression=$(t.supportedCompression,e.GZipJS)?e.GZipJS:$(t.supportedCompression,e.Base64)?e.Base64:void 0),null!==(i=t.analytics)&&void 0!==i&&i.endpoint&&(this.analyticsDefaultEndpoint=t.analytics.endpoint),this.set_config({person_profiles:this._initialPersonProfilesConfig?this._initialPersonProfilesConfig:\"identified_only\"}),null===(r=this.siteApps)||void 0===r||r.onRemoteConfig(t),null===(s=this.sessionRecording)||void 0===s||s.onRemoteConfig(t),null===(n=this.autocapture)||void 0===n||n.onRemoteConfig(t),null===(o=this.heatmaps)||void 0===o||o.onRemoteConfig(t),this.surveys.onRemoteConfig(t),null===(l=this.webVitalsAutocapture)||void 0===l||l.onRemoteConfig(t),null===(c=this.exceptionObserver)||void 0===c||c.onRemoteConfig(t),null===(u=this.deadClicksAutocapture)||void 0===u||u.onRemoteConfig(t)}_loaded(){try{this.config.loaded(this)}catch(e){ee.critical(\"`loaded` function failed\",e)}this._start_queue_if_opted_in(),this.config.capture_pageview&&setTimeout((()=>{this.consent.isOptedIn()&&this._captureInitialPageview()}),1),new ds(this).load(),this.featureFlags.decide()}_start_queue_if_opted_in(){var e;this.has_opted_out_capturing()||this.config.request_batching&&(null===(e=this._requestQueue)||void 0===e||e.enable())}_dom_loaded(){this.has_opted_out_capturing()||b(this.__request_queue,(e=>this._send_retriable_request(e))),this.__request_queue=[],this._start_queue_if_opted_in()}_handle_unload(){var e,t;this.config.request_batching?(this._shouldCapturePageleave()&&this.capture(\"$pageleave\"),null===(e=this._requestQueue)||void 0===e||e.unload(),null===(t=this._retryQueue)||void 0===t||t.unload()):this._shouldCapturePageleave()&&this.capture(\"$pageleave\",null,{transport:\"sendBeacon\"})}_send_request(e){this.__loaded&&(yo?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Ss(e.url,{ip:this.config.ip?1:0}),e.headers=ne({},this.config.request_headers),e.compression=\"best-available\"===e.compression?this.compression:e.compression,e.fetchOptions=e.fetchOptions||this.config.fetch_options,(e=>{var t,i,r,s=ne({},e);s.timeout=s.timeout||6e4,s.url=Ss(s.url,{_:(new Date).getTime().toString(),ver:p.LIB_VERSION,compression:s.compression});var n=null!==(t=s.transport)&&void 0!==t?t:\"fetch\",o=null!==(i=null===(r=T(xs,(e=>e.transport===n)))||void 0===r?void 0:r.method)&&void 0!==i?i:xs[0].method;if(!o)throw new Error(\"No available transport method\");o(s)})(ne(ne({},e),{},{callback:t=>{var i,r,s;(this.rateLimiter.checkForLimiting(t),t.statusCode>=400)&&(null===(r=(s=this.config).on_request_error)||void 0===r||r.call(s,t));null===(i=e.callback)||void 0===i||i.call(e,t)}}))))}_send_retriable_request(e){this._retryQueue?this._retryQueue.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,i=[],r=[],s=[];b(e,(e=>{e&&(t=e[0],B(t)?s.push(e):H(e)?e.call(this):B(e)&&\"alias\"===t?i.push(e):B(e)&&-1!==t.indexOf(\"capture\")&&H(this[t])?s.push(e):r.push(e))}));var n=function(e,t){b(e,(function(e){if(B(e[0])){var i=t;y(e,(function(e){i=i[e[0]].apply(i,e.slice(1))}))}else this[e[0]].apply(this,e.slice(1))}),t)};n(i,this),n(r,this),n(s,this)}_hasBootstrappedFeatureFlags(){var e,t;return(null===(e=this.config.bootstrap)||void 0===e?void 0:e.featureFlags)&&Object.keys(null===(t=this.config.bootstrap)||void 0===t?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,i){var r;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this._requestQueue){if(!this.consent.isOptedOut())if(!z(e)&&W(e)){if(this.config.opt_out_useragent_filter||!this._is_bot()){var s=null!=i&&i.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(null==s||!s.isRateLimited){this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var n=new Date,o=(null==i?void 0:i.timestamp)||n,a=st(),l={uuid:a,event:e,properties:this._calculate_event_properties(e,t||{},o,a)};s&&(l.properties.$lib_rate_limit_remaining_tokens=s.remainingTokens),(null==i?void 0:i.$set)&&(l.$set=null==i?void 0:i.$set);var c=this._calculate_set_once_properties(null==i?void 0:i.$set_once);c&&(l.$set_once=c),(l=C(l,null!=i&&i._noTruncate?null:this.config.properties_string_max_length)).timestamp=o,z(null==i?void 0:i.timestamp)||(l.properties.$event_time_override_provided=!0,l.properties.$event_time_override_system_time=n);var u=ne(ne({},l.properties.$set),l.$set);if(j(u)||this.setPersonPropertiesForFlags(u),!J(this.config.before_send)){var d=this._runBeforeSend(l);if(!d)return;l=d}this._internalEventEmitter.emit(\"eventCaptured\",l);var h={method:\"POST\",url:null!==(r=null==i?void 0:i._url)&&void 0!==r?r:this.requestRouter.endpointFor(\"api\",this.analyticsDefaultEndpoint),data:l,compression:\"best-available\",batchKey:null==i?void 0:i._batchKey};return!this.config.request_batching||i&&(null==i||!i._batchKey)||null!=i&&i.send_instantly?this._send_retriable_request(h):this._requestQueue.enqueue(h),l}ee.critical(\"This capture call is ignored due to client rate limiting.\")}}else ee.error(\"No event name provided to posthog.capture\")}else ee.uninitializedWarning(\"posthog.capture\")}_addCaptureHook(e){return this.on(\"eventCaptured\",(t=>e(t.event,t)))}_calculate_event_properties(e,t,i,r){if(i=i||new Date,!this.persistence||!this.sessionPersistence)return t;var s=this.persistence.remove_event_timer(e),n=ne({},t);if(n.token=this.config.token,this.config.__preview_experimental_cookieless_mode&&(n.$cookieless_mode=!0),\"$snapshot\"===e){var o=ne(ne({},this.persistence.properties()),this.sessionPersistence.properties());return n.distinct_id=o.distinct_id,(!W(n.distinct_id)&&!Y(n.distinct_id)||V(n.distinct_id))&&ee.error(\"Invalid distinct_id for replay event. This indicates a bug in your implementation\"),n}var l,c=Ei.properties({maskPersonalDataProperties:this.config.mask_personal_data_properties,customPersonalDataProperties:this.config.custom_personal_data_properties});if(this.sessionManager){var{sessionId:u,windowId:d}=this.sessionManager.checkAndGetSessionAndWindowId();n.$session_id=u,n.$window_id=d}if(this.sessionRecording&&(n.$recording_status=this.sessionRecording.status),this.requestRouter.region===Ps.CUSTOM&&(n.$lib_custom_api_host=this.config.api_host),l=\"$pageview\"===e?this.pageViewManager.doPageView(i,r):\"$pageleave\"===e?this.pageViewManager.doPageLeave(i):this.pageViewManager.doEvent(),n=w(n,l),\"$pageview\"===e&&a&&(n.title=a.title),!z(s)){var _=i.getTime()-s;n.$duration=parseFloat((_/1e3).toFixed(3))}h&&this.config.opt_out_useragent_filter&&(n.$browser_type=this._is_bot()?\"bot\":\"browser\"),(n=w({},c,this.persistence.properties(),this.sessionPersistence.properties(),n)).$is_identified=this._isIdentified(),B(this.config.property_denylist)?y(this.config.property_denylist,(function(e){delete n[e]})):ee.error(\"Invalid value for property_denylist config: \"+this.config.property_denylist+\" or property_blacklist config: \"+this.config.property_blacklist);var p=this.config.sanitize_properties;p&&(ee.error(\"sanitize_properties is deprecated. Use before_send instead\"),n=p(n,e));var v=this._hasPersonProcessing();return n.$process_person_profile=v,v&&this._requirePersonProcessing(\"_calculate_event_properties\"),n}_calculate_set_once_properties(e){if(!this.persistence||!this._hasPersonProcessing())return e;var t=w({},this.persistence.get_initial_props(),e||{}),i=this.config.sanitize_properties;return i&&(ee.error(\"sanitize_properties is deprecated. Use before_send instead\"),t=i(t,\"$set_once\")),j(t)?void 0:t}register(e,t){var i;null===(i=this.persistence)||void 0===i||i.register(e,t)}register_once(e,t,i){var r;null===(r=this.persistence)||void 0===r||r.register_once(e,t,i)}register_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.register(e)}unregister(e){var t;null===(t=this.persistence)||void 0===t||t.unregister(e)}unregister_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.unregister(e)}_register_single(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){var t=this.featureFlags.getFeatureFlagPayload(e);try{return JSON.parse(t)}catch(e){return t}}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateEarlyAccessFeatureEnrollment(e,t){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t)}getEarlyAccessFeatures(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.featureFlags.getEarlyAccessFeatures(e,t)}on(e,t){return this._internalEventEmitter.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSessionId(e){var t,i;return null!==(t=null===(i=this.sessionManager)||void 0===i?void 0:i.onSessionId(e))&&void 0!==t?t:()=>{}}getSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}canRenderSurvey(e){this.surveys.canRenderSurvey(e)}getNextSurveyStep(e,t,i){return this.surveys.getNextSurveyStep(e,t,i)}identify(e,t,i){if(!this.__loaded||!this.persistence)return ee.uninitializedWarning(\"posthog.identify\");if(Y(e)&&(e=e.toString(),ee.warn(\"The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.\")),e){if([\"distinct_id\",\"distinctid\"].includes(e.toLowerCase()))ee.critical('The string \"'.concat(e,'\" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.'));else if(this._requirePersonProcessing(\"posthog.identify\")){var r=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property(\"$device_id\")){var s=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},\"\")}e!==r&&e!==this.get_property(ce)&&(this.unregister(ce),this.register({distinct_id:e}));var n=\"anonymous\"===(this.persistence.get_property(Ae)||\"anonymous\");e!==r&&n?(this.persistence.set_property(Ae,\"identified\"),this.setPersonPropertiesForFlags(t||{},!1),this.capture(\"$identify\",{distinct_id:e,$anon_distinct_id:r},{$set:t||{},$set_once:i||{}}),this.featureFlags.setAnonymousDistinctId(r),this._cachedIdentify=go(e,t,i)):(t||i)&&(this._cachedIdentify!==go(e,t,i)?(this.setPersonProperties(t,i),this._cachedIdentify=go(e,t,i)):ee.info(\"A duplicate posthog.identify call was made with the same properties. It has been ignored.\")),e!==r&&(this.reloadFeatureFlags(),this.unregister(Me))}}else ee.error(\"Unique user id has not been set in posthog.identify\")}setPersonProperties(e,t){(e||t)&&this._requirePersonProcessing(\"posthog.setPersonProperties\")&&(this.setPersonPropertiesForFlags(e||{}),this.capture(\"$set\",{$set:e||{},$set_once:t||{}}))}group(e,t,i){if(e&&t){if(this._requirePersonProcessing(\"posthog.group\")){var r=this.getGroups();r[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:ne(ne({},r),{},{[e]:t})}),i&&(this.capture(\"$groupidentify\",{$group_type:e,$group_key:t,$group_set:i}),this.setGroupPropertiesForFlags({[e]:i})),r[e]===t||i||this.reloadFeatureFlags()}}else ee.error(\"posthog.group requires a group type and group key\")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._requirePersonProcessing(\"posthog.setGroupPropertiesForFlags\")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,i,r,s;if(ee.info(\"reset\"),!this.__loaded)return ee.uninitializedWarning(\"posthog.reset\");var n=this.get_property(\"$device_id\");if(this.consent.reset(),null===(t=this.persistence)||void 0===t||t.clear(),null===(i=this.sessionPersistence)||void 0===i||i.clear(),this.surveys.reset(),null===(r=this.persistence)||void 0===r||r.set_property(Ae,\"anonymous\"),null===(s=this.sessionManager)||void 0===s||s.resetSessionId(),this._cachedIdentify=null,this.config.__preview_experimental_cookieless_mode)this.register_once({distinct_id:je,$device_id:null},\"\");else{var o=this.config.get_device_id(st());this.register_once({distinct_id:o,$device_id:e?o:n},\"\")}this.register({$last_posthog_reset:(new Date).toISOString()},1)}get_distinct_id(){return this.get_property(\"distinct_id\")}getGroups(){return this.get_property(\"$groups\")||{}}get_session_id(){var e,t;return null!==(e=null===(t=this.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)&&void 0!==e?e:\"\"}get_session_replay_url(e){if(!this.sessionManager)return\"\";var{sessionId:t,sessionStartTimestamp:i}=this.sessionManager.checkAndGetSessionAndWindowId(!0),r=this.requestRouter.endpointFor(\"ui\",\"/project/\".concat(this.config.token,\"/replay/\").concat(t));if(null!=e&&e.withTimestamp&&i){var s,n=null!==(s=e.timestampLookBack)&&void 0!==s?s:10;if(!i)return r;var o=Math.max(Math.floor(((new Date).getTime()-i)/1e3)-n,0);r+=\"?t=\".concat(o)}return r}alias(e,t){return e===this.get_property(le)?(ee.critical(\"Attempting to create alias for existing People user - aborting.\"),-2):this._requirePersonProcessing(\"posthog.alias\")?(z(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(ce,e),this.capture(\"$create_alias\",{alias:e,distinct_id:t})):(ee.warn(\"alias matches current distinct_id - skipping api call.\"),this.identify(e),-1)):void 0}set_config(e){var t,i,r,s,n=ne({},this.config);U(e)&&(w(this.config,So(e)),null===(t=this.persistence)||void 0===t||t.update_config(this.config,n),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new Ii(ne(ne({},this.config),{},{persistence:\"sessionStorage\"})),ht.is_supported()&&\"true\"===ht.get(\"ph_debug\")&&(this.config.debug=!0),this.config.debug&&(p.DEBUG=!0,ee.info(\"set_config\",{config:e,oldConfig:n,newConfig:ne({},this.config)})),null===(i=this.sessionRecording)||void 0===i||i.startIfEnabledOrStop(),null===(r=this.autocapture)||void 0===r||r.startIfEnabled(),null===(s=this.heatmaps)||void 0===s||s.startIfEnabled(),this.surveys.loadIfEnabled(),this._sync_opt_out_with_persistence())}startSessionRecording(e){var t=!0===e,i={sampling:t||!(null==e||!e.sampling),linked_flag:t||!(null==e||!e.linked_flag),url_trigger:t||!(null==e||!e.url_trigger),event_trigger:t||!(null==e||!e.event_trigger)};if(Object.values(i).some(Boolean)){var r,s,n,o,a;if(null===(r=this.sessionManager)||void 0===r||r.checkAndGetSessionAndWindowId(),i.sampling)null===(s=this.sessionRecording)||void 0===s||s.overrideSampling();if(i.linked_flag)null===(n=this.sessionRecording)||void 0===n||n.overrideLinkedFlag();if(i.url_trigger)null===(o=this.sessionRecording)||void 0===o||o.overrideTrigger(\"url\");if(i.event_trigger)null===(a=this.sessionRecording)||void 0===a||a.overrideTrigger(\"event\")}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!(null===(e=this.sessionRecording)||void 0===e||!e.started)}captureException(e,t){var i,r=new Error(\"PostHog syntheticException\"),s=H(null===(i=_.__PosthogExtensions__)||void 0===i?void 0:i.parseErrorAsProperties)?ne(ne({},_.__PosthogExtensions__.parseErrorAsProperties([e.message,void 0,void 0,void 0,e],{syntheticException:r})),t):ne({$exception_level:\"error\",$exception_list:[{type:e.name,value:e.message,mechanism:{handled:!0,synthetic:!1}}]},t);this.exceptions.sendExceptionEvent(s)}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return null===(t=this.persistence)||void 0===t?void 0:t.props[e]}getSessionProperty(e){var t;return null===(t=this.sessionPersistence)||void 0===t?void 0:t.props[e]}toString(){var e,t=null!==(e=this.config.name)&&void 0!==e?e:bo;return t!==bo&&(t=bo+\".\"+t),t}_isIdentified(){var e,t;return\"identified\"===(null===(e=this.persistence)||void 0===e?void 0:e.get_property(Ae))||\"identified\"===(null===(t=this.sessionPersistence)||void 0===t?void 0:t.get_property(Ae))}_hasPersonProcessing(){var e,t,i,r;return!(\"never\"===this.config.person_profiles||\"identified_only\"===this.config.person_profiles&&!this._isIdentified()&&j(this.getGroups())&&(null===(e=this.persistence)||void 0===e||null===(t=e.props)||void 0===t||!t[ce])&&(null===(i=this.persistence)||void 0===i||null===(r=i.props)||void 0===r||!r[He]))}_shouldCapturePageleave(){return!0===this.config.capture_pageleave||\"if_capture_pageview\"===this.config.capture_pageleave&&this.config.capture_pageview}createPersonProfile(){this._hasPersonProcessing()||this._requirePersonProcessing(\"posthog.createPersonProfile\")&&this.setPersonProperties({},{})}_requirePersonProcessing(e){return\"never\"===this.config.person_profiles?(ee.error(e+' was called, but process_person is set to \"never\". This call will be ignored.'),!1):(this._register_single(He,!0),!0)}_sync_opt_out_with_persistence(){var e,t,i,r,s=this.consent.isOptedOut(),n=this.config.opt_out_persistence_by_default,o=this.config.disable_persistence||s&&!!n;(null===(e=this.persistence)||void 0===e?void 0:e.disabled)!==o&&(null===(i=this.persistence)||void 0===i||i.set_disabled(o));(null===(t=this.sessionPersistence)||void 0===t?void 0:t.disabled)!==o&&(null===(r=this.sessionPersistence)||void 0===r||r.set_disabled(o))}opt_in_capturing(e){var t;(this.consent.optInOut(!0),this._sync_opt_out_with_persistence(),z(null==e?void 0:e.captureEventName)||null!=e&&e.captureEventName)&&this.capture(null!==(t=null==e?void 0:e.captureEventName)&&void 0!==t?t:\"$opt_in\",null==e?void 0:e.captureProperties,{send_instantly:!0});this.config.capture_pageview&&this._captureInitialPageview()}opt_out_capturing(){this.consent.optInOut(!1),this._sync_opt_out_with_persistence()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}clear_opt_in_out_capturing(){this.consent.reset(),this._sync_opt_out_with_persistence()}_is_bot(){return o?Nn(o,this.config.custom_blocked_useragents):void 0}_captureInitialPageview(){a&&!this._initialPageviewCaptured&&(this._initialPageviewCaptured=!0,this.capture(\"$pageview\",{title:a.title},{send_instantly:!0}))}debug(e){!1===e?(null==t||t.console.log(\"You've disabled debug mode.\"),localStorage&&localStorage.removeItem(\"ph_debug\"),this.set_config({debug:!1})):(null==t||t.console.log(\"You're now in debug mode. All calls to PostHog will be logged in your console.\\nYou can disable this with `posthog.debug(false)`.\"),localStorage&&localStorage.setItem(\"ph_debug\",\"true\"),this.set_config({debug:!0}))}_runBeforeSend(e){if(J(this.config.before_send))return e;var t=B(this.config.before_send)?this.config.before_send:[this.config.before_send],i=e;for(var r of t){if(i=r(i),J(i)){var s=\"Event '\".concat(e.event,\"' was rejected in beforeSend function\");return Q(e.event)?ee.warn(\"\".concat(s,\". This can cause unexpected behavior.\")):ee.info(s),null}i.properties&&!j(i.properties)||ee.warn(\"Event '\".concat(e.event,\"' has no properties after beforeSend function, this is likely an error.\"))}return i}getPageViewId(){var e;return null===(e=this.pageViewManager._currentPageview)||void 0===e?void 0:e.pageViewId}}!function(e,t){for(var i=0;i {\n const analyticsData: AnalyticsData = (window as ObjectWithAnyProps).analytics\n\n if (analyticsData.init.posthog != null) {\n posthog.init(analyticsData.init.posthog.apiKey, {\n api_host: analyticsData.init.posthog.apiHost,\n // By default, PostHog stores all its data in cookies. This can cause the cookie header to become too\n // large (Heroku has a 8k limit). To avoid this, we can store the data in localStorage instead and only\n // store the user ID in a cookie.\n persistence: 'localStorage+cookie',\n session_recording: {\n maskAllInputs: false,\n maskInputOptions: {\n search: false,\n text: true,\n email: true,\n password: true,\n },\n },\n loaded: (instance) => {\n instance.register({\n visitId: analyticsData.init.visitId,\n environment: analyticsData.init.env,\n version: analyticsData.init.version,\n })\n\n if (analyticsData.user != null) {\n if (analyticsData.user.id.toString() !== instance.get_distinct_id()) {\n instance.identify(analyticsData.user.id.toString(), analyticsData.user)\n }\n }\n },\n })\n\n tracker.addTracker(new PosthogTracker(posthog))\n } else {\n console.warn('Posthog analytics data not found, skipping initialization.')\n }\n})\n","/* eslint-disable local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nexport const ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\n/**\n * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove\n * \"console.*\" references. This causes some issue as we expect `console.*` to be defined.\n * As a workaround, let's use a variable alias, so those expressions won't be taken into account by\n * simple static analysis.\n *\n * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/\n * [2]: https://github.com/terser/terser#compress-options (look for drop_console)\n */\nexport const globalConsole = console;\nexport const originalConsoleMethods = {};\nObject.keys(ConsoleApiName).forEach((name) => {\n originalConsoleMethods[name] = globalConsole[name];\n});\nconst PREFIX = 'Datadog Browser SDK:';\nexport const display = {\n debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),\n log: originalConsoleMethods.log.bind(globalConsole, PREFIX),\n info: originalConsoleMethods.info.bind(globalConsole, PREFIX),\n warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),\n error: originalConsoleMethods.error.bind(globalConsole, PREFIX),\n};\nexport const DOCS_ORIGIN = 'https://docs.datadoghq.com';\nexport const DOCS_TROUBLESHOOTING = `${DOCS_ORIGIN}/real_user_monitoring/browser/troubleshooting`;\nexport const MORE_DETAILS = 'More details:';\n//# sourceMappingURL=display.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return (...args) => {\n try {\n return fn(...args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.js.map","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=numberUtils.js.map","import { isNumber, round } from './numberUtils';\nexport const ONE_SECOND = 1000;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\nexport const ONE_DAY = 24 * ONE_HOUR;\nexport const ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexport function timeStampToClocks(timeStamp) {\n return { relative: getRelativeTime(timeStamp), timeStamp };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n const correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n// Get the time since the navigation was started.\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nlet navigationStart;\n/**\n * Notes: this does not use `performance.timeOrigin` because:\n * - It doesn't seem to reflect the actual time on which the navigation has started: it may be much farther in the past,\n * at least in Firefox 71. (see: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926)\n * - It is not supported in Safari <15\n */\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\n//# sourceMappingURL=timeUtils.js.map","export const ONE_KIBI_BYTE = 1024;\nexport const ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nconst HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function concatBuffers(buffers) {\n const length = buffers.reduce((total, buffer) => total + buffer.length, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const buffer of buffers) {\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","export function shallowClone(object) {\n return { ...object };\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some((key) => object[key] === value);\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n const newObject = {};\n for (const key of Object.keys(object)) {\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n//# sourceMappingURL=objectUtils.js.map","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get() {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n let globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\n//# sourceMappingURL=getGlobalObject.js.map","import { getGlobalObject } from './getGlobalObject';\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n const browserWindow = getGlobalObject();\n let original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { display } from './display';\nlet onMonitorErrorCollected;\nlet debugMode = false;\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexport function monitored(_, __, descriptor) {\n const originalMethod = descriptor.value;\n descriptor.value = function (...args) {\n const decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexport function monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexport function callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n monitorError(e);\n }\n}\nexport function monitorError(e) {\n displayIfDebugEnabled(e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n }\n }\n}\nexport function displayIfDebugEnabled(...args) {\n if (debugMode) {\n display.error('[MONITOR]', ...args);\n }\n}\n//# sourceMappingURL=monitor.js.map","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue';\nimport { monitor } from './monitor';\nimport { getGlobalObject } from './getGlobalObject';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId);\n}\nexport function setInterval(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay);\n}\nexport function clearInterval(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","// eslint-disable-next-line no-restricted-syntax\nexport class Observable {\n constructor(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n subscribe(f) {\n this.observers.push(f);\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;\n }\n return {\n unsubscribe: () => {\n this.observers = this.observers.filter((other) => f !== other);\n if (!this.observers.length && this.onLastUnsubscribe) {\n this.onLastUnsubscribe();\n }\n },\n };\n }\n notify(data) {\n this.observers.forEach((observer) => observer(data));\n }\n}\nexport function mergeObservables(...observables) {\n return new Observable((globalObservable) => {\n const subscriptions = observables.map((observable) => observable.subscribe((data) => globalObservable.notify(data)));\n return () => subscriptions.forEach((subscription) => subscription.unsubscribe());\n });\n}\n//# sourceMappingURL=observable.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n const needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n const needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n let inWaitPeriod = false;\n let pendingExecutionWithParameters;\n let pendingTimeoutId;\n return {\n throttled: (...parameters) => {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn(...parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(() => {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn(...pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: () => {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n//# sourceMappingURL=functionUtils.js.map","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);\n}\nconst COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g;\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n if (match[1] === name) {\n return match[2];\n }\n }\n else {\n break;\n }\n }\n}\nexport function findCommaSeparatedValues(rawString) {\n const result = new Map();\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n result.set(match[1], match[2]);\n }\n else {\n break;\n }\n }\n return result;\n}\nexport function safeTruncate(candidate, length, suffix = '') {\n const lastChar = candidate.charCodeAt(length - 1);\n const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n const correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return `${candidate.slice(0, correctedLength)}${suffix}`;\n}\n//# sourceMappingURL=stringUtils.js.map","export function isChromium() {\n return detectBrowserCached() === 0 /* Browser.CHROMIUM */;\n}\nexport function isSafari() {\n return detectBrowserCached() === 1 /* Browser.SAFARI */;\n}\nlet browserCache;\nfunction detectBrowserCached() {\n return browserCache !== null && browserCache !== void 0 ? browserCache : (browserCache = detectBrowser());\n}\n// Exported only for tests\nexport function detectBrowser(browserWindow = window) {\n var _a;\n const userAgent = browserWindow.navigator.userAgent;\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return 0 /* Browser.CHROMIUM */;\n }\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n ((_a = browserWindow.navigator.vendor) === null || _a === void 0 ? void 0 : _a.indexOf('Apple')) === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))) {\n return 1 /* Browser.SAFARI */;\n }\n return 2 /* Browser.OTHER */;\n}\n//# sourceMappingURL=browserDetection.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay = 0, options) {\n const date = new Date();\n date.setTime(date.getTime() + expireDelay);\n const expires = `expires=${date.toUTCString()}`;\n const sameSite = options && options.crossSite ? 'none' : 'strict';\n const domain = options && options.domain ? `;domain=${options.domain}` : '';\n const secure = options && options.secure ? ';secure' : '';\n const partitioned = options && options.partitioned ? ';partitioned' : '';\n document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}${partitioned}`;\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nlet initCookieParsed;\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie);\n }\n return initCookieParsed.get(name);\n}\nexport function resetInitCookies() {\n initCookieParsed = undefined;\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_cookie_test_${generateUUID()}`;\n const testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nlet getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_site_test_${generateUUID()}`;\n const testCookieValue = 'test';\n const domainLevels = window.location.hostname.split('.');\n let candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = `${domainLevels.pop()}.${candidateDomain}`;\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","export const SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","export function findLast(array, predicate) {\n for (let i = array.length - 1; i >= 0; i -= 1) {\n const item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\n// Keep the following wrapper functions as it can be mangled and will result in smaller bundle size that using\n// the native Object.values and Object.entries directly\nexport function objectValues(object) {\n return Object.values(object);\n}\nexport function objectEntries(object) {\n return Object.entries(object);\n}\n//# sourceMappingURL=polyfills.js.map","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\n//# sourceMappingURL=typeUtils.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n const user = { ...newUser };\n const keys = ['id', 'name', 'email'];\n keys.forEach((key) => {\n if (key in user) {\n /* eslint-disable @typescript-eslint/no-base-to-string */\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n const isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\nexport function generateAnonymousId() {\n return Math.floor(Math.random() * Math.pow(36, 10))\n .toString(36)\n .padStart(10, '0');\n}\n//# sourceMappingURL=user.js.map","import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from '../../tools/utils/timeUtils';\nexport const SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport const SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\nexport const SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR;\nexport const SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage',\n};\n//# sourceMappingURL=sessionConstants.js.map","export const SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/;\nexport const SESSION_ENTRY_SEPARATOR = '&';\nexport function isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionStateValidation.js.map","import { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { generateAnonymousId } from '../user';\nimport { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { isValidSessionString, SESSION_ENTRY_REGEXP, SESSION_ENTRY_SEPARATOR } from './sessionStateValidation';\nexport const EXPIRED = '1';\nexport function getExpiredSessionState(previousSessionState, configuration) {\n const expiredSessionState = {\n isExpired: EXPIRED,\n };\n if (configuration.trackAnonymousUser) {\n if (previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId) {\n expiredSessionState.anonymousId = previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId;\n }\n else {\n expiredSessionState.anonymousId = generateAnonymousId();\n }\n }\n return expiredSessionState;\n}\nexport function isSessionInNotStartedState(session) {\n return isEmptyObject(session);\n}\nexport function isSessionStarted(session) {\n return !isSessionInNotStartedState(session);\n}\nexport function isSessionInExpiredState(session) {\n return session.isExpired !== undefined || !isActiveSession(session);\n}\n// An active session is a session in either `Tracked` or `NotTracked` state\nfunction isActiveSession(sessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire)));\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return (objectEntries(session)\n // we use `aid` as a key for anonymousId\n .map(([key, value]) => (key === 'anonymousId' ? `aid=${value}` : `${key}=${value}`))\n .join(SESSION_ENTRY_SEPARATOR));\n}\nexport function toSessionState(sessionString) {\n const session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach((entry) => {\n const matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n const [, key, value] = matches;\n if (key === 'aid') {\n // we use `aid` as a key for anonymousId\n session.anonymousId = value;\n }\n else {\n session[key] = value;\n }\n }\n });\n }\n return session;\n}\n//# sourceMappingURL=sessionState.js.map","import { getInitCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionStarted } from './sessionState';\nexport const OLD_SESSION_COOKIE_NAME = '_dd';\nexport const OLD_RUM_COOKIE_NAME = '_dd_r';\nexport const OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport const RUM_SESSION_KEY = 'rum';\nexport const LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy) {\n const sessionString = getInitCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n const oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME);\n const oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME);\n const oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME);\n const session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n if (isSessionStarted(session)) {\n expandSessionState(session);\n cookieStoreStrategy.persistSession(session);\n }\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { isChromium } from '../../../tools/utils/browserDetection';\nimport { getCurrentSite, areCookiesAuthorized, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SessionPersistence, } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n const cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: SessionPersistence.COOKIE, cookieOptions } : undefined;\n}\nexport function initCookieStrategy(configuration, cookieOptions) {\n const cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n expireSession: (sessionState) => expireSessionCookie(cookieOptions, sessionState, configuration),\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return (session) => {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction expireSessionCookie(options, sessionState, configuration) {\n const expiredSessionState = getExpiredSessionState(sessionState, configuration);\n // we do not extend cookie expiration date\n setCookie(SESSION_STORE_KEY, toSessionString(expiredSessionState), configuration.trackAnonymousUser ? SESSION_COOKIE_EXPIRATION_DELAY : SESSION_TIME_OUT_DELAY, options);\n}\nfunction retrieveSessionCookie() {\n const sessionString = getCookie(SESSION_STORE_KEY);\n const sessionState = toSessionState(sessionString);\n return sessionState;\n}\nexport function buildCookieOptions(initConfiguration) {\n const cookieOptions = {};\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\n//# sourceMappingURL=sessionInCookie.js.map","import { generateUUID } from '../../../tools/utils/stringUtils';\nimport { SessionPersistence } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nconst LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n const id = generateUUID();\n const testKey = `${LOCAL_STORAGE_TEST_KEY}${id}`;\n localStorage.setItem(testKey, id);\n const retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: SessionPersistence.LOCAL_STORAGE } : undefined;\n }\n catch (_a) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy(configuration) {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n expireSession: (sessionState) => expireSessionFromLocalStorage(sessionState, configuration),\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n const sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction expireSessionFromLocalStorage(previousSessionState, configuration) {\n persistInLocalStorage(getExpiredSessionState(previousSessionState, configuration));\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport const LOCK_RETRY_DELAY = 10;\nexport const LOCK_MAX_TRIES = 100;\nconst bufferedOperations = [];\nlet ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries = 0) {\n var _a;\n const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy;\n const persistWithLock = (session) => persistSession({ ...session, lock: currentLock });\n const retrieveStore = () => {\n const session = sessionStoreStrategy.retrieveSession();\n const lock = session.lock;\n if (session.lock) {\n delete session.lock;\n }\n return {\n session,\n lock,\n };\n };\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy);\n return;\n }\n let currentLock;\n let currentStore = retrieveStore();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n persistWithLock(currentStore.session);\n // if lock is not acquired, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n let processedSession = operations.process(currentStore.session);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession(processedSession);\n }\n else {\n expandSessionState(processedSession);\n if (isLockEnabled) {\n persistWithLock(processedSession);\n }\n else {\n persistSession(processedSession);\n }\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n persistSession(currentStore.session);\n processedSession = currentStore.session;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentStore.session);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(() => {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n const nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore);\n }\n}\n//# sourceMappingURL=sessionStoreOperations.js.map","import { clearInterval, setInterval } from '../../tools/timer';\nimport { Observable } from '../../tools/observable';\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { display } from '../../tools/display';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { getExpiredSessionState, isSessionInExpiredState, isSessionInNotStartedState, isSessionStarted, } from './sessionState';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\nimport { SessionPersistence } from './sessionConstants';\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport const STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Selects the correct session store strategy type based on the configuration and storage\n * availability.\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration);\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy();\n case undefined: {\n let sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\n }\n default:\n display.error(`Invalid session persistence '${String(initConfiguration.sessionPersistence)}'`);\n }\n}\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(sessionStoreStrategyType, configuration, productKey, computeSessionState) {\n const renewObservable = new Observable();\n const expireObservable = new Observable();\n const sessionStateUpdateObservable = new Observable();\n const sessionStoreStrategy = sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(configuration, sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy(configuration);\n const { expireSession } = sessionStoreStrategy;\n const watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n let sessionCache;\n startSession();\n const { throttled: throttledExpandOrRenewSession, cancel: cancelExpandOrRenewSession } = throttle(() => {\n processSessionStoreOperations({\n process: (sessionState) => {\n if (isSessionInNotStartedState(sessionState)) {\n return;\n }\n const synchronizedSession = synchronizeSession(sessionState);\n expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: (sessionState) => {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }, STORAGE_POLL_DELAY);\n function expandSession() {\n processSessionStoreOperations({\n process: (sessionState) => (hasSessionInCache() ? synchronizeSession(sessionState) : undefined),\n }, sessionStoreStrategy);\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations({\n process: (sessionState) => isSessionInExpiredState(sessionState) ? getExpiredSessionState(sessionState, configuration) : undefined,\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState(sessionState, configuration);\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionStateUpdateObservable.notify({ previousState: sessionCache, newState: sessionState });\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function startSession() {\n processSessionStoreOperations({\n process: (sessionState) => {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState(sessionState, configuration);\n }\n },\n after: (sessionState) => {\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false;\n }\n const { trackingType, isTracked } = computeSessionState(sessionState[productKey]);\n sessionState[productKey] = trackingType;\n delete sessionState.isExpired;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(sessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey];\n }\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState(sessionCache, configuration);\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations({\n process: (sessionState) => ({ ...sessionState, ...partialSessionState }),\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession,\n getSession: () => sessionCache,\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable,\n restartSession: startSession,\n expire: () => {\n cancelExpandOrRenewSession();\n expireSession(sessionCache);\n synchronizeSession(getExpiredSessionState(sessionCache, configuration));\n },\n stop: () => {\n clearInterval(watchSessionTimeoutId);\n },\n updateSessionState,\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import { Observable } from '../tools/observable';\nexport const TrackingConsent = {\n GRANTED: 'granted',\n NOT_GRANTED: 'not-granted',\n};\nexport function createTrackingConsentState(currentConsent) {\n const observable = new Observable();\n return {\n tryToInit(trackingConsent) {\n if (!currentConsent) {\n currentConsent = trackingConsent;\n }\n },\n update(trackingConsent) {\n currentConsent = trackingConsent;\n observable.notify();\n },\n isGranted() {\n return currentConsent === TrackingConsent.GRANTED;\n },\n observable,\n };\n}\n//# sourceMappingURL=trackingConsent.js.map","import { noop } from '../utils/functionUtils';\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n const restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n const restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexport function detachToJsonMethod(value) {\n const object = value;\n const objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return () => {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\n//# sourceMappingURL=jsonStringify.js.map","import { jsonStringify } from '../serialisation/jsonStringify';\nexport function normalizeUrl(url) {\n return buildUrl(url, location.href).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getPathName(url) {\n const pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : `/${pathname}`;\n}\nexport function buildUrl(url, base) {\n const supportedURL = getSupportedUrl();\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url);\n }\n catch (error) {\n throw new Error(`Failed to construct URL: ${String(error)} ${jsonStringify({ url, base })}`);\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(`Invalid URL: '${url}'`);\n }\n let doc = document;\n const anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n const baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nconst originalURL = URL;\nlet isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n const url = new originalURL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n }\n catch (_a) {\n isURLSupported = false;\n }\n }\n return isURLSupported ? originalURL : undefined;\n}\n//# sourceMappingURL=urlPolyfill.js.map","export const INTAKE_SITE_STAGING = 'datad0g.com';\nexport const INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';\nexport const INTAKE_SITE_US1 = 'datadoghq.com';\nexport const INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport const INTAKE_SITE_US1_FED = 'ddog-gov.com';\nexport const PCI_INTAKE_HOST_US1 = 'pci.browser-intake-datadoghq.com';\nexport const INTAKE_URL_PARAMETERS = ['ddsource', 'ddtags'];\n//# sourceMappingURL=intakeSites.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_US1, INTAKE_SITE_FED_STAGING, PCI_INTAKE_HOST_US1 } from './intakeSites';\nexport function createEndpointBuilder(initConfiguration, trackType, configurationTags) {\n const buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);\n return {\n build(api, payload) {\n const parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {\n const path = `/api/v2/${trackType}`;\n const proxy = initConfiguration.proxy;\n if (typeof proxy === 'string') {\n const normalizedProxyUrl = normalizeUrl(proxy);\n return (parameters) => `${normalizedProxyUrl}?ddforward=${encodeURIComponent(`${path}?${parameters}`)}`;\n }\n if (typeof proxy === 'function') {\n return (parameters) => proxy({ path, parameters });\n }\n const host = buildEndpointHost(trackType, initConfiguration);\n return (parameters) => `https://${host}${path}?${parameters}`;\n}\nfunction buildEndpointHost(trackType, initConfiguration) {\n const { site = INTAKE_SITE_US1, internalAnalyticsSubdomain } = initConfiguration;\n if (trackType === 'logs' && initConfiguration.usePciIntake && site === INTAKE_SITE_US1) {\n return PCI_INTAKE_HOST_US1;\n }\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return `${internalAnalyticsSubdomain}.${INTAKE_SITE_US1}`;\n }\n if (site === INTAKE_SITE_FED_STAGING) {\n return `http-intake.logs.${site}`;\n }\n const domainParts = site.split('.');\n const extension = domainParts.pop();\n return `browser-intake-${domainParts.join('-')}.${extension}`;\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters({ clientToken, internalAnalyticsSubdomain }, trackType, configurationTags, api, { retry, encoding }) {\n const tags = [`sdk_version:${\"6.1.0\"}`, `api:${api}`].concat(configurationTags);\n if (retry) {\n tags.push(`retry_count:${retry.count}`, `retry_after:${retry.lastFailureStatus}`);\n }\n const parameters = [\n 'ddsource=browser',\n `ddtags=${encodeURIComponent(tags.join(','))}`,\n `dd-api-key=${clientToken}`,\n `dd-evp-origin-version=${encodeURIComponent(\"6.1.0\")}`,\n 'dd-evp-origin=browser',\n `dd-request-id=${generateUUID()}`,\n ];\n if (encoding) {\n parameters.push(`dd-evp-encoding=${encoding}`);\n }\n if (trackType === 'rum') {\n parameters.push(`batch_time=${timeStampNow()}`);\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nexport const TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n const { env, service, version, datacenter } = configuration;\n const tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n const valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || hasForbiddenCharacters(rawValue)) {\n display.warn(`${key} value doesn't meet tag requirements and will be sanitized. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/tagging/#defining-tags`);\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n const sanitizedValue = rawValue.replace(/,/g, '_');\n return `${key}:${sanitizedValue}`;\n}\nfunction hasForbiddenCharacters(rawValue) {\n // Unicode property escapes is not supported in all browsers, so we use a try/catch.\n // Todo: Remove the try/catch when dropping support for Chrome 63 and Firefox 67\n // see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#browser_compatibility\n if (!supportUnicodePropertyEscapes()) {\n return false;\n }\n // We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.\n // p{Ll} matches a lowercase letter.\n // p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes\n return new RegExp('[^\\\\p{Ll}\\\\p{Lo}0-9_:./-]', 'u').test(rawValue);\n}\nexport function supportUnicodePropertyEscapes() {\n try {\n new RegExp('[\\\\p{Ll}]', 'u');\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n//# sourceMappingURL=tags.js.map","import { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1, INTAKE_URL_PARAMETERS } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n const site = initConfiguration.site || INTAKE_SITE_US1;\n const tags = buildTags(initConfiguration);\n const endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n const replicaConfiguration = computeReplicaConfiguration(initConfiguration, tags);\n return {\n replica: replicaConfiguration,\n site,\n ...endpointBuilders,\n };\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n const replicaConfiguration = {\n ...initConfiguration,\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n };\n const replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n return { applicationId: initConfiguration.replica.applicationId, ...replicaEndpointBuilders };\n}\nexport function isIntakeUrl(url) {\n // check if tags is present in the query string\n return INTAKE_URL_PARAMETERS.every((param) => url.includes(param));\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nimport { ONE_SECOND } from '../../tools/utils/timeUtils';\nimport { isPercentage } from '../../tools/utils/numberUtils';\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { objectHasValue } from '../../tools/utils/objectUtils';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { TrackingConsent } from '../trackingConsent';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport const DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport const TraceContextInjection = {\n ALL: 'all',\n SAMPLED: 'sampled',\n};\nfunction isString(tag, tagName) {\n if (tag !== undefined && tag !== null && typeof tag !== 'string') {\n display.error(`${tagName} must be defined as a string`);\n return false;\n }\n return true;\n}\nfunction isDatadogSite(site) {\n if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {\n display.error(`Site should be a valid Datadog site. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/site/.`);\n return false;\n }\n return true;\n}\nexport function isSampleRate(sampleRate, name) {\n if (sampleRate !== undefined && !isPercentage(sampleRate)) {\n display.error(`${name} Sample Rate should be a number between 0 and 100`);\n return false;\n }\n return true;\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e, _f;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (!isDatadogSite(initConfiguration.site) ||\n !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||\n !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||\n !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||\n !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||\n !isString(initConfiguration.version, 'Version') ||\n !isString(initConfiguration.env, 'Env') ||\n !isString(initConfiguration.service, 'Service')) {\n return;\n }\n if (initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"');\n return;\n }\n return {\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,\n service: initConfiguration.service || undefined,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n trackingConsent: (_e = initConfiguration.trackingConsent) !== null && _e !== void 0 ? _e : TrackingConsent.GRANTED,\n trackAnonymousUser: (_f = initConfiguration.trackAnonymousUser) !== null && _f !== void 0 ? _f : true,\n storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND),\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n ...computeTransportConfiguration(initConfiguration),\n };\n}\nexport function serializeConfiguration(initConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n track_anonymous_user: initConfiguration.trackAnonymousUser,\n session_persistence: initConfiguration.sessionPersistence,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n tracking_consent: initConfiguration.trackingConsent,\n };\n}\n//# sourceMappingURL=configuration.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\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 feature flag\nimport { objectHasValue } from './utils/objectUtils';\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"WRITABLE_RESOURCE_GRAPHQL\"] = \"writable_resource_graphql\";\n ExperimentalFeature[\"REMOTE_CONFIGURATION\"] = \"remote_configuration\";\n ExperimentalFeature[\"ACTION_NAME_MASKING\"] = \"action_name_masking\";\n ExperimentalFeature[\"CONSISTENT_TRACE_SAMPLING\"] = \"consistent_trace_sampling\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nconst enabledExperimentalFeatures = new Set();\nexport function initFeatureFlags(enableExperimentalFeatures) {\n if (Array.isArray(enableExperimentalFeatures)) {\n addExperimentalFeatures(enableExperimentalFeatures.filter((flag) => objectHasValue(ExperimentalFeature, flag)));\n }\n}\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach((flag) => {\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures.clear();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures;\n}\n//# sourceMappingURL=experimentalFeatures.js.map","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\nconst UNKNOWN_FUNCTION = '?';\nexport function computeStackTrace(ex) {\n const stack = [];\n let stackProperty = tryToGetString(ex, 'stack');\n const exString = String(ex);\n if (stackProperty && stackProperty.startsWith(exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach((line) => {\n const stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack,\n };\n}\nconst fileUrl = '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nconst filePosition = '(?::(\\\\d+))';\nconst CHROME_LINE_RE = new RegExp(`^\\\\s*at (.*?) ?\\\\(${fileUrl}${filePosition}?${filePosition}?\\\\)?\\\\s*$`, 'i');\nconst CHROME_EVAL_RE = new RegExp(`\\\\((\\\\S*)${filePosition}${filePosition}\\\\)`);\nfunction parseChromeLine(line) {\n const parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n const submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && 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 return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nconst CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(`^\\\\s*at ?${fileUrl}${filePosition}?${filePosition}??\\\\s*$`, 'i');\nfunction parseChromeAnonymousLine(line) {\n const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nconst WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n const parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nconst GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n const parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n const submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n const value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\nexport function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {\n const stack = [{ url, column, line }];\n const { name, message } = tryToParseMessage(messageObj);\n return {\n name,\n message,\n stack,\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nconst ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\nfunction tryToParseMessage(messageObj) {\n let name;\n let message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n [, name, message] = ERROR_TYPES_RE.exec(messageObj);\n }\n return { name, message };\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { callMonitored } from '../monitor';\nimport { computeStackTrace } from './computeStackTrace';\n/**\n * Creates a stacktrace without SDK internal frames.\n * Constraints:\n * - Has to be called at the utmost position of the call stack.\n * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n const internalFramesToSkip = 2;\n const error = new Error();\n let formattedStack;\n callMonitored(() => {\n const stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function toStackTraceString(stack) {\n let result = formatErrorMessage(stack);\n stack.stack.forEach((frame) => {\n const func = frame.func === '?' ? '' : frame.func;\n const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(', ')})` : '';\n const line = frame.line ? `:${frame.line}` : '';\n const column = frame.line && frame.column ? `:${frame.column}` : '';\n result += `\\n at ${func}${args} @ ${frame.url}${line}${column}`;\n });\n return result;\n}\nexport function formatErrorMessage(stack) {\n return `${stack.name || 'Error'}: ${stack.message}`;\n}\n//# sourceMappingURL=handlingStack.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\nimport { createHandlingStack } from './stackTrace/handlingStack';\n/**\n * Instruments a method on a object, calling the given callback before the original method is\n * invoked. The callback receives an object with information about the method call.\n *\n * This function makes sure that we are \"good citizens\" regarding third party instrumentations: when\n * removing the instrumentation, the original method is usually restored, but if a third party\n * instrumentation was set after ours, we keep it in place and just replace our instrumentation with\n * a noop.\n *\n * Note: it is generally better to instrument methods that are \"owned\" by the object instead of ones\n * that are inherited from the prototype chain. Example:\n * * do: `instrumentMethod(Array.prototype, 'push', ...)`\n * * don't: `instrumentMethod([], 'push', ...)`\n *\n * This method is also used to set event handler properties (ex: window.onerror = ...), as it has\n * the same requirements as instrumenting a method:\n * * if the event handler is already set by a third party, we need to call it and not just blindly\n * override it.\n * * if the event handler is set by a third party after us, we need to keep it in place when\n * removing ours.\n *\n * @example\n *\n * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {\n * console.log('Before calling fetch on', target, 'with parameters', parameters)\n *\n * onPostCall((result) => {\n * console.log('After fetch calling on', target, 'with parameters', parameters, 'and result', result)\n * })\n * })\n */\nexport function instrumentMethod(targetPrototype, method, onPreCall, { computeHandlingStack } = {}) {\n let original = targetPrototype[method];\n if (typeof original !== 'function') {\n if (method in targetPrototype && method.startsWith('on')) {\n original = noop;\n }\n else {\n return { stop: noop };\n }\n }\n let stopped = false;\n const instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments);\n }\n const parameters = Array.from(arguments);\n let postCallCallback;\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters,\n onPostCall: (callback) => {\n postCallCallback = callback;\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined,\n },\n ]);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const result = original.apply(this, parameters);\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result]);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n targetPrototype[method] = instrumentation;\n return {\n stop: () => {\n stopped = true;\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original;\n }\n },\n };\n}\nexport function instrumentSetter(targetPrototype, property, after) {\n const originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n const stoppedInstrumentation = noop;\n let instrumentation = (target, value) => {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(() => {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value);\n }\n }, 0);\n };\n const instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: () => {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(targetPrototype, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(targetPrototype, property, originalDescriptor);\n }\n instrumentation = stoppedInstrumentation;\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { display } from '../display';\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils';\nimport { detachToJsonMethod } from './jsonStringify';\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nconst SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nconst JSON_PATH_ROOT_ELEMENT = '$';\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nconst KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT) {\n // Unbind any toJSON function we may have on [] or {} prototypes\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n const containerQueue = [];\n const visitedObjectsWithPath = new WeakMap();\n const sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n const serializedSanitizedData = JSON.stringify(sanitizedData);\n let accumulatedCharacterCount = serializedSanitizedData ? serializedSanitizedData.length : 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n const containerToProcess = containerQueue.shift();\n let separatorLength = 0; // 0 for the first element, 1 for subsequent elements\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (let key = 0; key < containerToProcess.source.length; key++) {\n const targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length;\n }\n else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4;\n }\n accumulatedCharacterCount += separatorLength;\n separatorLength = 1;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n else {\n for (const key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n const targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH;\n separatorLength = 1;\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n }\n }\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n return sanitizedData;\n}\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(source, parentPath, key, queue, visitedObjectsWithPath) {\n // Start by handling toJSON, as we want to sanitize its output\n const sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n const sanitizedSource = sanitizeObjects(sourceToSanitize);\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource;\n }\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n const sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return `[Reference seen at ${visitedObjectsWithPath.get(sourceAsObject)}]`;\n }\n // Add processed source to queue\n const currentPath = key !== undefined ? `${parentPath}.${key}` : parentPath;\n const target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target, path: currentPath });\n return target;\n}\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return `[BigInt] ${value.toString()}`;\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return `[Function] ${value.name || 'unknown'}`;\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return `[Symbol] ${value.description || value.toString()}`;\n }\n return value;\n}\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n */\nfunction sanitizeObjects(value) {\n try {\n if (value instanceof Event) {\n return sanitizeEvent(value);\n }\n if (value instanceof RegExp) {\n return `[RegExp] ${value.toString()}`;\n }\n // Handle all remaining object types in a generic way\n const result = Object.prototype.toString.call(value);\n const match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return `[${match[1]}]`;\n }\n }\n catch (_a) {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]';\n}\nfunction sanitizeEvent(event) {\n return {\n type: event.type,\n isTrusted: event.isTrusted,\n currentTarget: event.currentTarget ? sanitizeObjects(event.currentTarget) : null,\n target: event.target ? sanitizeObjects(event.target) : null,\n };\n}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n const object = value;\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON();\n }\n catch (_a) {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n return value;\n}\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount, changeType, source) {\n display.warn(`The data provided has been ${changeType} as it is over the limit of ${maxCharacterCount} characters:`, source);\n}\n//# sourceMappingURL=sanitize.js.map","import { sanitize } from '../../tools/serialisation/sanitize';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nexport const NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError({ stackTrace, originalError, handlingStack, componentStack, startClocks, nonErrorPrefix, source, handling, }) {\n const isErrorInstance = isError(originalError);\n const message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n const stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n const causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n const type = stackTrace ? stackTrace.name : undefined;\n const fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks,\n source,\n handling,\n handlingStack,\n componentStack,\n originalError,\n type,\n message,\n stack,\n causes,\n fingerprint,\n };\n}\nfunction computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)\n ? stackTrace.message\n : !isErrorInstance\n ? `${nonErrorPrefix} ${jsonStringify(sanitize(originalError))}`\n : 'Empty message';\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false;\n }\n if (isErrorInstance) {\n return true;\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);\n}\nexport function tryToGetFingerprint(originalError) {\n return isError(originalError) && 'dd_fingerprint' in originalError ? String(originalError.dd_fingerprint) : undefined;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function isError(error) {\n return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]';\n}\nexport function flattenErrorCauses(error, parentSource) {\n let currentError = error;\n const causes = [];\n while (isError(currentError === null || currentError === void 0 ? void 0 : currentError.cause) && causes.length < 10) {\n const stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","export const ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\n//# sourceMappingURL=error.types.js.map","import { instrumentMethod } from '../../tools/instrumentMethod';\nimport { clocksNow } from '../../tools/utils/timeUtils';\nimport { computeStackTrace, computeStackTraceFromOnErrorMessage } from '../../tools/stackTrace/computeStackTrace';\nimport { computeRawError, isError } from './error';\nimport { ErrorSource } from './error.types';\nexport function trackRuntimeError(errorObservable) {\n const handleRuntimeError = (stackTrace, originalError) => {\n const rawError = computeRawError({\n stackTrace,\n originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: \"Uncaught\" /* NonErrorPrefix.UNCAUGHT */,\n source: ErrorSource.SOURCE,\n handling: \"unhandled\" /* ErrorHandling.UNHANDLED */,\n });\n errorObservable.notify(rawError);\n };\n const { stop: stopInstrumentingOnError } = instrumentOnError(handleRuntimeError);\n const { stop: stopInstrumentingOnUnhandledRejection } = instrumentUnhandledRejection(handleRuntimeError);\n return {\n stop: () => {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\nexport function instrumentOnError(callback) {\n return instrumentMethod(window, 'onerror', ({ parameters: [messageObj, url, line, column, errorObj] }) => {\n let stackTrace;\n if (isError(errorObj)) {\n stackTrace = computeStackTrace(errorObj);\n }\n else {\n stackTrace = computeStackTraceFromOnErrorMessage(messageObj, url, line, column);\n }\n callback(stackTrace, errorObj !== null && errorObj !== void 0 ? errorObj : messageObj);\n });\n}\nexport function instrumentUnhandledRejection(callback) {\n return instrumentMethod(window, 'onunhandledrejection', ({ parameters: [e] }) => {\n const reason = e.reason || 'Empty reason';\n const stack = computeStackTrace(reason);\n callback(stack, reason);\n });\n}\n//# sourceMappingURL=trackRuntimeError.js.map","import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { display } from '../tools/display';\nexport function makePublicApi(stub) {\n const publicApi = {\n version: \"6.1.0\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady(callback) {\n callback();\n },\n ...stub,\n };\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get() {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n const existingGlobalVariable = global[name];\n if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {\n display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');\n }\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach((fn) => catchUserErrors(fn, 'onReady callback threw an error:')());\n }\n}\n//# sourceMappingURL=init.js.map","import { display } from '../tools/display';\nexport function displayAlreadyInitializedError(sdkName, initConfiguration) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(`${sdkName} is already initialized.`);\n }\n}\n//# sourceMappingURL=displayAlreadyInitializedError.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(configuration, eventTarget, eventName, listener, options) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(configuration, eventTarget, eventNames, listener, { once, capture, passive } = {}) {\n const listenerWithMonitor = monitor((event) => {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return;\n }\n if (once) {\n stop();\n }\n listener(event);\n });\n const options = passive ? { capture, passive } : capture;\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n const listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;\n const add = getZoneJsOriginalValue(listenerTarget, 'addEventListener');\n eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options));\n function stop() {\n const remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener');\n eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options));\n }\n return {\n stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nimport { monitor } from '../../tools/monitor';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { addEventListener } from '../../browser/addEventListener';\nimport { safeTruncate } from '../../tools/utils/stringUtils';\nimport { ErrorSource } from '../error/error.types';\nimport { clocksNow } from '../../tools/utils/timeUtils';\nexport const RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nexport function initReportObservable(configuration, apis) {\n const observables = [];\n if (apis.includes(RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration));\n }\n const reportTypes = apis.filter((api) => api !== RawReportType.cspViolation);\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return mergeObservables(...observables);\n}\nfunction createReportObservable(reportTypes) {\n return new Observable((observable) => {\n if (!window.ReportingObserver) {\n return;\n }\n const handleReports = monitor((reports, _) => reports.forEach((report) => observable.notify(buildRawReportErrorFromReport(report))));\n const observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return () => {\n observer.disconnect();\n };\n });\n}\nfunction createCspViolationReportObservable(configuration) {\n return new Observable((observable) => {\n const { stop } = addEventListener(configuration, document, \"securitypolicyviolation\" /* DOM_EVENT.SECURITY_POLICY_VIOLATION */, (event) => {\n observable.notify(buildRawReportErrorFromCspViolation(event));\n });\n return stop;\n });\n}\nfunction buildRawReportErrorFromReport(report) {\n const { type, body } = report;\n return buildRawReportError({\n type: body.id,\n message: `${type}: ${body.message}`,\n originalError: report,\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n });\n}\nfunction buildRawReportErrorFromCspViolation(event) {\n const message = `'${event.blockedURI}' blocked by '${event.effectiveDirective}' directive`;\n return buildRawReportError({\n type: event.effectiveDirective,\n message: `${RawReportType.cspViolation}: ${message}`,\n originalError: event,\n csp: {\n disposition: event.disposition,\n },\n stack: buildStack(event.effectiveDirective, event.originalPolicy\n ? `${message} of the policy \"${safeTruncate(event.originalPolicy, 100, '...')}\"`\n : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),\n });\n}\nfunction buildRawReportError(partial) {\n return {\n startClocks: clocksNow(),\n source: ErrorSource.REPORT,\n handling: \"unhandled\" /* ErrorHandling.UNHANDLED */,\n ...partial,\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return sourceFile\n ? toStackTraceString({\n name,\n message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber !== null && lineNumber !== void 0 ? lineNumber : undefined,\n column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : undefined,\n },\n ],\n })\n : undefined;\n}\n//# sourceMappingURL=reportObservable.js.map","export function sendToExtension(type, payload) {\n const callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type, payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","import { getType } from './utils/typeUtils';\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker = createCircularReferenceChecker()) {\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n const flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n const merged = Array.isArray(destination) ? destination : [];\n for (let i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker);\n }\n return merged;\n }\n const merged = getType(destination) === 'object' ? destination : {};\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine(...sources) {\n let destination;\n for (const source of sources) {\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n const set = new WeakSet();\n return {\n hasAlreadyBeenSeen(value) {\n const has = set.has(value);\n if (!has) {\n set.add(value);\n }\n return has;\n },\n };\n }\n const array = [];\n return {\n hasAlreadyBeenSeen(value) {\n const has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n//# sourceMappingURL=mergeInto.js.map","export function getConnectivity() {\n var _a;\n const navigator = window.navigator;\n return {\n status: navigator.onLine ? 'connected' : 'not_connected',\n interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : undefined,\n effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,\n };\n}\n//# sourceMappingURL=connectivity.js.map","export function removeDuplicates(array) {\n const set = new Set();\n array.forEach((item) => set.add(item));\n return Array.from(set);\n}\nexport function removeItem(array, item) {\n const index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrayUtils.js.map","import { removeItem } from './utils/arrayUtils';\nconst BUFFER_LIMIT = 500;\nexport function createBoundedBuffer() {\n const buffer = [];\n const add = (callback) => {\n const length = buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n buffer.splice(0, 1);\n }\n };\n const remove = (callback) => {\n removeItem(buffer, callback);\n };\n const drain = (arg) => {\n buffer.forEach((callback) => callback(arg));\n buffer.length = 0;\n };\n return {\n add,\n remove,\n drain,\n };\n}\n//# sourceMappingURL=boundedBuffer.js.map","export const TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n usage: 'usage',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { NO_ERROR_STACK_PRESENT_MESSAGE, isError } from '../error/error';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { getConnectivity } from '../connectivity';\nimport { createBoundedBuffer } from '../../tools/boundedBuffer';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nconst ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n];\nconst TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\n// eslint-disable-next-line local-rules/disallow-side-effects\nlet preStartTelemetryBuffer = createBoundedBuffer();\nlet onRawTelemetryEventCollected = (event) => {\n preStartTelemetryBuffer.add(() => onRawTelemetryEventCollected(event));\n};\nexport function startTelemetry(telemetryService, configuration) {\n let contextProvider;\n const observable = new Observable();\n const alreadySentEvents = new Set();\n const telemetryEnabled = !TELEMETRY_EXCLUDED_SITES.includes(configuration.site) && performDraw(configuration.telemetrySampleRate);\n const telemetryEnabledPerType = {\n [TelemetryType.log]: telemetryEnabled,\n [TelemetryType.configuration]: telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate),\n [TelemetryType.usage]: telemetryEnabled && performDraw(configuration.telemetryUsageSampleRate),\n };\n const runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = (rawEvent) => {\n const stringifiedEvent = jsonStringify(rawEvent);\n if (telemetryEnabledPerType[rawEvent.type] &&\n alreadySentEvents.size < configuration.maxTelemetryEventsPerPage &&\n !alreadySentEvents.has(stringifiedEvent)) {\n const event = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event);\n sendToExtension('telemetry', event);\n alreadySentEvents.add(stringifiedEvent);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"6.1.0\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n connectivity: getConnectivity(),\n sdk_setup: \"npm\",\n }),\n experimental_features: Array.from(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: (provider) => {\n contextProvider = provider;\n },\n observable,\n enabled: telemetryEnabled,\n };\n}\nfunction getRuntimeEnvInfo() {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n };\n}\nexport function startFakeTelemetry() {\n const events = [];\n onRawTelemetryEventCollected = (event) => {\n events.push(event);\n };\n return events;\n}\n// need to be called after telemetry context is provided and observers are registered\nexport function drainPreStartTelemetry() {\n preStartTelemetryBuffer.drain();\n}\nexport function resetTelemetry() {\n preStartTelemetryBuffer = createBoundedBuffer();\n onRawTelemetryEventCollected = (event) => {\n preStartTelemetryBuffer.add(() => onRawTelemetryEventCollected(event));\n };\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n onRawTelemetryEventCollected({\n type: TelemetryType.log,\n message,\n status: \"debug\" /* StatusType.debug */,\n ...context,\n });\n}\nexport function addTelemetryError(e, context) {\n onRawTelemetryEventCollected({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n ...formatError(e),\n ...context,\n });\n}\nexport function addTelemetryConfiguration(configuration) {\n onRawTelemetryEventCollected({\n type: TelemetryType.configuration,\n configuration,\n });\n}\nexport function addTelemetryUsage(usage) {\n onRawTelemetryEventCollected({\n type: TelemetryType.usage,\n usage,\n });\n}\nexport function formatError(e) {\n if (isError(e)) {\n const stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: `${\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */} ${jsonStringify(e)}`,\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter((frame) => !frame.url || ALLOWED_FRAME_URLS.some((allowedFrameUrl) => frame.url.startsWith(allowedFrameUrl)));\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { setInterval, clearInterval } from './timer';\nimport { removeItem } from './utils/arrayUtils';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nconst END_OF_TIMES = Infinity;\nexport const CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\nexport function createValueHistory({ expireDelay, maxEntries, }) {\n let entries = [];\n const clearOldValuesInterval = setInterval(() => clearOldValues(), CLEAR_OLD_VALUES_INTERVAL);\n function clearOldValues() {\n const oldTimeThreshold = relativeNow() - expireDelay;\n while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {\n entries.pop();\n }\n }\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n function add(value, startTime) {\n const entry = {\n value,\n startTime,\n endTime: END_OF_TIMES,\n remove: () => {\n removeItem(entries, entry);\n },\n close: (endTime) => {\n entry.endTime = endTime;\n },\n };\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop();\n }\n entries.unshift(entry);\n return entry;\n }\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n *\n * If `option.returnInactive` is true, returns the value at `startTime` (active or not).\n */\n function find(startTime = END_OF_TIMES, options = { returnInactive: false }) {\n for (const entry of entries) {\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value;\n }\n break;\n }\n }\n }\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n function closeActive(endTime) {\n const latestEntry = entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n }\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n function findAll(startTime = END_OF_TIMES, duration = 0) {\n const endTime = addDuration(startTime, duration);\n return entries\n .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)\n .map((entry) => entry.value);\n }\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = [];\n }\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n clearInterval(clearOldValuesInterval);\n }\n return { add, find, closeActive, findAll, reset, stop };\n}\n//# sourceMappingURL=valueHistory.js.map","import { Observable } from '../../tools/observable';\nimport { createValueHistory } from '../../tools/valueHistory';\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { addEventListener, addEventListeners } from '../../browser/addEventListener';\nimport { clearInterval, setInterval } from '../../tools/timer';\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { startSessionStore } from './sessionStore';\nexport const VISIBILITY_CHECK_DELAY = ONE_MINUTE;\nconst SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;\nlet stopCallbacks = [];\nexport function startSessionManager(configuration, productKey, computeSessionState, trackingConsentState) {\n const renewObservable = new Observable();\n const expireObservable = new Observable();\n // TODO - Improve configuration type and remove assertion\n const sessionStore = startSessionStore(configuration.sessionStoreStrategyType, configuration, productKey, computeSessionState);\n stopCallbacks.push(() => sessionStore.stop());\n const sessionContextHistory = createValueHistory({\n expireDelay: SESSION_CONTEXT_TIMEOUT_DELAY,\n });\n stopCallbacks.push(() => sessionContextHistory.stop());\n sessionStore.renewObservable.subscribe(() => {\n sessionContextHistory.add(buildSessionContext(), relativeNow());\n renewObservable.notify();\n });\n sessionStore.expireObservable.subscribe(() => {\n expireObservable.notify();\n sessionContextHistory.closeActive(relativeNow());\n });\n // We expand/renew session unconditionally as tracking consent is always granted when the session\n // manager is started.\n sessionStore.expandOrRenewSession();\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative);\n trackingConsentState.observable.subscribe(() => {\n if (trackingConsentState.isGranted()) {\n sessionStore.expandOrRenewSession();\n }\n else {\n sessionStore.expire();\n }\n });\n trackActivity(configuration, () => {\n if (trackingConsentState.isGranted()) {\n sessionStore.expandOrRenewSession();\n }\n });\n trackVisibility(configuration, () => sessionStore.expandSession());\n trackResume(configuration, () => sessionStore.restartSession());\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n isReplayForced: !!sessionStore.getSession().forcedReplay,\n anonymousId: sessionStore.getSession().anonymousId,\n };\n }\n return {\n findSession: (startTime, options) => sessionContextHistory.find(startTime, options),\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable: sessionStore.sessionStateUpdateObservable,\n expire: sessionStore.expire,\n updateSessionState: sessionStore.updateSessionState,\n };\n}\nexport function stopSessionManager() {\n stopCallbacks.forEach((e) => e());\n stopCallbacks = [];\n}\nfunction trackActivity(configuration, expandOrRenewSession) {\n const { stop } = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"scroll\" /* DOM_EVENT.SCROLL */], expandOrRenewSession, { capture: true, passive: true });\n stopCallbacks.push(stop);\n}\nfunction trackVisibility(configuration, expandSession) {\n const expandSessionWhenVisible = () => {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n };\n const { stop } = addEventListener(configuration, document, \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, expandSessionWhenVisible);\n stopCallbacks.push(stop);\n const visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);\n stopCallbacks.push(() => {\n clearInterval(visibilityCheckInterval);\n });\n}\nfunction trackResume(configuration, cb) {\n const { stop } = addEventListener(configuration, window, \"resume\" /* DOM_EVENT.RESUME */, cb, { capture: true });\n stopCallbacks.push(stop);\n}\n//# sourceMappingURL=sessionManager.js.map","export function isServerError(status) {\n return status >= 500;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (_a) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=responseUtils.js.map","import { setTimeout } from '../tools/timer';\nimport { clocksNow, ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../tools/utils/byteUtils';\nimport { isServerError } from '../tools/utils/responseUtils';\nimport { ErrorSource } from '../domain/error/error.types';\nexport const MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE;\nexport const MAX_ONGOING_REQUESTS = 32;\nexport const MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE;\nexport const MAX_BACKOFF_TIME = ONE_MINUTE;\nexport const INITIAL_BACKOFF_TIME = ONE_SECOND;\nexport function sendWithRetryStrategy(payload, state, sendStrategy, trackType, reportError) {\n if (state.transportStatus === 0 /* TransportStatus.UP */ &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)) {\n send(payload, state, sendStrategy, {\n onSuccess: () => retryQueuedPayloads(0 /* RetryReason.AFTER_SUCCESS */, state, sendStrategy, trackType, reportError),\n onFailure: () => {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nfunction scheduleRetry(state, sendStrategy, trackType, reportError) {\n if (state.transportStatus !== 2 /* TransportStatus.DOWN */) {\n return;\n }\n setTimeout(() => {\n const payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: () => {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* RetryReason.AFTER_RESUME */, state, sendStrategy, trackType, reportError);\n },\n onFailure: () => {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }, state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, { onSuccess, onFailure }) {\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, (response) => {\n state.bandwidthMonitor.remove(payload);\n if (!shouldRetryRequest(response)) {\n state.transportStatus = 0 /* TransportStatus.UP */;\n onSuccess();\n }\n else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? 1 /* TransportStatus.FAILURE_DETECTED */ : 2 /* TransportStatus.DOWN */;\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n };\n onFailure();\n }\n });\n}\nfunction retryQueuedPayloads(reason, state, sendStrategy, trackType, reportError) {\n if (reason === 0 /* RetryReason.AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: `Reached max ${trackType} events size queued for upload: ${MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE}MiB`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n state.queueFullReported = true;\n }\n const previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, trackType, reportError);\n }\n}\nfunction shouldRetryRequest(response) {\n return (response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n isServerError(response.status)));\n}\nexport function newRetryState() {\n return {\n transportStatus: 0 /* TransportStatus.UP */,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n };\n}\nfunction newPayloadQueue() {\n const queue = [];\n return {\n bytesCount: 0,\n enqueue(payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first() {\n return queue[0];\n },\n dequeue() {\n const payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size() {\n return queue.length;\n },\n isFull() {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle(payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS));\n },\n add(payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove(payload) {\n this.ongoingRequestCount -= 1;\n this.ongoingByteCount -= payload.bytesCount;\n },\n };\n}\n//# sourceMappingURL=sendWithRetryStrategy.js.map","import { addTelemetryError } from '../domain/telemetry';\nimport { monitor } from '../tools/monitor';\nimport { addEventListener } from '../browser/addEventListener';\nimport { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy';\nexport function createHttpRequest(endpointBuilder, bytesLimit, reportError) {\n const retryState = newRetryState();\n const sendStrategyForRetry = (payload, onResponse) => fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse);\n return {\n send: (payload) => {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.trackType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: (payload) => {\n sendBeaconStrategy(endpointBuilder, bytesLimit, payload);\n },\n };\n}\nfunction sendBeaconStrategy(endpointBuilder, bytesLimit, payload) {\n const canUseBeacon = !!navigator.sendBeacon && payload.bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n const beaconUrl = endpointBuilder.build('beacon', payload);\n const isQueued = navigator.sendBeacon(beaconUrl, payload.data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n const xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(xhrUrl, payload.data);\n}\nlet hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addTelemetryError(e);\n }\n}\nexport function fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse) {\n const canUseKeepAlive = isKeepAliveSupported() && payload.bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n const fetchUrl = endpointBuilder.build('fetch', payload);\n fetch(fetchUrl, { method: 'POST', body: payload.data, keepalive: true, mode: 'cors' }).then(monitor((response) => onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status, type: response.type })), monitor(() => {\n const xhrUrl = endpointBuilder.build('xhr', payload);\n // failed to queue the request\n sendXHR(xhrUrl, payload.data, onResponse);\n }));\n }\n else {\n const xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(xhrUrl, payload.data, onResponse);\n }\n}\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a');\n }\n catch (_a) {\n return false;\n }\n}\nexport function sendXHR(url, data, onResponse) {\n const request = new XMLHttpRequest();\n request.open('POST', url, true);\n if (data instanceof Blob) {\n // When using a Blob instance, IE does not use its 'type' to define the 'Content-Type' header\n // automatically, so the intake request ends up being rejected with an HTTP status 415\n // Defining the header manually fixes this issue.\n request.setRequestHeader('Content-Type', data.type);\n }\n addEventListener(\n // allow untrusted event to acount for synthetic event dispatched by third party xhr wrapper\n { allowUntrustedEvents: true }, request, 'loadend', () => {\n onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: request.status });\n }, {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n once: true,\n });\n request.send(data);\n}\n//# sourceMappingURL=httpRequest.js.map","import { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n const eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getCapabilities() {\n var _a;\n return JSON.parse(((_a = eventBridgeGlobal.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal)) || '[]');\n },\n getPrivacyLevel() {\n var _a;\n return (_a = eventBridgeGlobal.getPrivacyLevel) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal);\n },\n getAllowedWebViewHosts() {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send(eventType, event, viewId) {\n const view = viewId ? { id: viewId } : undefined;\n eventBridgeGlobal.send(JSON.stringify({ eventType, event, view }));\n },\n };\n}\nexport function bridgeSupports(capability) {\n const bridge = getEventBridge();\n return !!bridge && bridge.getCapabilities().includes(capability);\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n const bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some((allowedHost) => currentHost === allowedHost || currentHost.endsWith(`.${allowedHost}`)));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { Observable } from '../tools/observable';\nimport { objectValues } from '../tools/utils/polyfills';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n return new Observable((observable) => {\n const { stop: stopListeners } = addEventListeners(configuration, window, [\"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, \"freeze\" /* DOM_EVENT.FREEZE */], (event) => {\n if (event.type === \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === \"freeze\" /* DOM_EVENT.FREEZE */) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true });\n const stopBeforeUnloadListener = addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, () => {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n return () => {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n}\nexport function isPageExitReason(reason) {\n return objectValues(PageExitReason).includes(reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../tools/display';\nimport { objectValues } from '../tools/utils/polyfills';\nimport { isPageExitReason } from '../browser/pageExitObservable';\nimport { jsonStringify } from '../tools/serialisation/jsonStringify';\nimport { computeBytesCount } from '../tools/utils/byteUtils';\nexport function createBatch({ encoder, request, flushController, messageBytesLimit, }) {\n let upsertBuffer = {};\n const flushSubscription = flushController.flushObservable.subscribe((event) => flush(event));\n function push(serializedMessage, estimatedMessageBytesCount, key) {\n flushController.notifyBeforeAddMessage(estimatedMessageBytesCount);\n if (key !== undefined) {\n upsertBuffer[key] = serializedMessage;\n flushController.notifyAfterAddMessage();\n }\n else {\n encoder.write(encoder.isEmpty ? serializedMessage : `\\n${serializedMessage}`, (realMessageBytesCount) => {\n flushController.notifyAfterAddMessage(realMessageBytesCount - estimatedMessageBytesCount);\n });\n }\n }\n function hasMessageFor(key) {\n return key !== undefined && upsertBuffer[key] !== undefined;\n }\n function remove(key) {\n const removedMessage = upsertBuffer[key];\n delete upsertBuffer[key];\n const messageBytesCount = encoder.estimateEncodedBytesCount(removedMessage);\n flushController.notifyAfterRemoveMessage(messageBytesCount);\n }\n function addOrUpdate(message, key) {\n const serializedMessage = jsonStringify(message);\n const estimatedMessageBytesCount = encoder.estimateEncodedBytesCount(serializedMessage);\n if (estimatedMessageBytesCount >= messageBytesLimit) {\n display.warn(`Discarded a message whose size was bigger than the maximum allowed size ${messageBytesLimit}KB. ${MORE_DETAILS} ${DOCS_TROUBLESHOOTING}/#technical-limitations`);\n return;\n }\n if (hasMessageFor(key)) {\n remove(key);\n }\n push(serializedMessage, estimatedMessageBytesCount, key);\n }\n function flush(event) {\n const upsertMessages = objectValues(upsertBuffer).join('\\n');\n upsertBuffer = {};\n const isPageExit = isPageExitReason(event.reason);\n const send = isPageExit ? request.sendOnExit : request.send;\n if (isPageExit &&\n // Note: checking that the encoder is async is not strictly needed, but it's an optimization:\n // if the encoder is async we need to send two requests in some cases (one for encoded data\n // and the other for non-encoded data). But if it's not async, we don't have to worry about\n // it and always send a single request.\n encoder.isAsync) {\n const encoderResult = encoder.finishSync();\n // Send encoded messages\n if (encoderResult.outputBytesCount) {\n send(formatPayloadFromEncoder(encoderResult));\n }\n // Send messages that are not yet encoded at this point\n const pendingMessages = [encoderResult.pendingData, upsertMessages].filter(Boolean).join('\\n');\n if (pendingMessages) {\n send({\n data: pendingMessages,\n bytesCount: computeBytesCount(pendingMessages),\n });\n }\n }\n else {\n if (upsertMessages) {\n encoder.write(encoder.isEmpty ? upsertMessages : `\\n${upsertMessages}`);\n }\n encoder.finish((encoderResult) => {\n send(formatPayloadFromEncoder(encoderResult));\n });\n }\n }\n return {\n flushController,\n add: addOrUpdate,\n upsert: addOrUpdate,\n stop: flushSubscription.unsubscribe,\n };\n}\nfunction formatPayloadFromEncoder(encoderResult) {\n let data;\n if (typeof encoderResult.output === 'string') {\n data = encoderResult.output;\n }\n else {\n data = new Blob([encoderResult.output], {\n // This will set the 'Content-Type: text/plain' header. Reasoning:\n // * The intake rejects the request if there is no content type.\n // * The browser will issue CORS preflight requests if we set it to 'application/json', which\n // could induce higher intake load (and maybe has other impacts).\n // * Also it's not quite JSON, since we are concatenating multiple JSON objects separated by\n // new lines.\n type: 'text/plain',\n });\n }\n return {\n data,\n bytesCount: encoderResult.outputBytesCount,\n encoding: encoderResult.encoding,\n };\n}\n//# sourceMappingURL=batch.js.map","import { Observable } from '../tools/observable';\nimport { clearTimeout, setTimeout } from '../tools/timer';\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({ messagesLimit, bytesLimit, durationLimit, pageExitObservable, sessionExpireObservable, }) {\n const pageExitSubscription = pageExitObservable.subscribe((event) => flush(event.reason));\n const sessionExpireSubscription = sessionExpireObservable.subscribe(() => flush('session_expire'));\n const flushObservable = new Observable(() => () => {\n pageExitSubscription.unsubscribe();\n sessionExpireSubscription.unsubscribe();\n });\n let currentBytesCount = 0;\n let currentMessagesCount = 0;\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return;\n }\n const messagesCount = currentMessagesCount;\n const bytesCount = currentBytesCount;\n currentMessagesCount = 0;\n currentBytesCount = 0;\n cancelDurationLimitTimeout();\n flushObservable.notify({\n reason: flushReason,\n messagesCount,\n bytesCount,\n });\n }\n let durationLimitTimeoutId;\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(() => {\n flush('duration_limit');\n }, durationLimit);\n }\n }\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId);\n durationLimitTimeoutId = undefined;\n }\n return {\n flushObservable,\n get messagesCount() {\n return currentMessagesCount;\n },\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n *\n * @param estimatedMessageBytesCount: an estimation of the message bytes count once it is\n * actually added.\n */\n notifyBeforeAddMessage(estimatedMessageBytesCount) {\n if (currentBytesCount + estimatedMessageBytesCount >= bytesLimit) {\n flush('bytes_limit');\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1;\n currentBytesCount += estimatedMessageBytesCount;\n scheduleDurationLimitTimeout();\n },\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n *\n * @param messageBytesCountDiff: the difference between the estimated message bytes count and\n * its actual bytes count once added to the pool.\n */\n notifyAfterAddMessage(messageBytesCountDiff = 0) {\n currentBytesCount += messageBytesCountDiff;\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit');\n }\n else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit');\n }\n },\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n *\n * @param messageBytesCount: the message bytes count that was added to the pool. Should\n * correspond to the sum of bytes counts passed to `notifyBeforeAddMessage` and\n * `notifyAfterAddMessage`.\n */\n notifyAfterRemoveMessage(messageBytesCount) {\n currentBytesCount -= messageBytesCount;\n currentMessagesCount -= 1;\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout();\n }\n },\n };\n}\n//# sourceMappingURL=flushController.js.map","import { createBatch } from './batch';\nimport { createHttpRequest } from './httpRequest';\nimport { createFlushController } from './flushController';\nexport function startBatchWithReplica(configuration, primary, replica, reportError, pageExitObservable, sessionExpireObservable, batchFactoryImp = createBatch) {\n const primaryBatch = createBatchFromConfig(configuration, primary);\n const replicaBatch = replica && createBatchFromConfig(configuration, replica);\n function createBatchFromConfig(configuration, { endpoint, encoder }) {\n return batchFactoryImp({\n encoder,\n request: createHttpRequest(endpoint, configuration.batchBytesLimit, reportError),\n flushController: createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable,\n sessionExpireObservable,\n }),\n messageBytesLimit: configuration.messageBytesLimit,\n });\n }\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n add(message, replicated = true) {\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(replica.transformMessage ? replica.transformMessage(message) : message);\n }\n },\n upsert: (message, key) => {\n primaryBatch.upsert(message, key);\n if (replicaBatch) {\n replicaBatch.upsert(replica.transformMessage ? replica.transformMessage(message) : message, key);\n }\n },\n stop: () => {\n primaryBatch.stop();\n if (replicaBatch) {\n replicaBatch.stop();\n }\n },\n };\n}\n//# sourceMappingURL=startBatchWithReplica.js.map","import { computeBytesCount } from './utils/byteUtils';\nexport function createIdentityEncoder() {\n let output = '';\n let outputBytesCount = 0;\n return {\n isAsync: false,\n get isEmpty() {\n return !output;\n },\n write(data, callback) {\n const additionalEncodedBytesCount = computeBytesCount(data);\n outputBytesCount += additionalEncodedBytesCount;\n output += data;\n if (callback) {\n callback(additionalEncodedBytesCount);\n }\n },\n finish(callback) {\n callback(this.finishSync());\n },\n finishSync() {\n const result = {\n output,\n outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n };\n output = '';\n outputBytesCount = 0;\n return result;\n },\n estimateEncodedBytesCount(data) {\n return data.length;\n },\n };\n}\n//# sourceMappingURL=encoder.js.map","// eslint-disable-next-line no-restricted-syntax\nexport class AbstractLifeCycle {\n constructor() {\n this.callbacks = {};\n }\n notify(eventType, data) {\n const eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach((callback) => callback(data));\n }\n }\n subscribe(eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: () => {\n this.callbacks[eventType] = this.callbacks[eventType].filter((other) => callback !== other);\n },\n };\n }\n}\n//# sourceMappingURL=abstractLifeCycle.js.map","import { setTimeout } from '../../tools/timer';\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { ErrorSource } from '../error/error.types';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n let eventCount = 0;\n let allowNextEvent = false;\n return {\n isLimitReached() {\n if (eventCount === 0) {\n setTimeout(() => {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: `Reached max number of ${eventType}s by minute: ${limit}`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","import { noop } from '../tools/utils/functionUtils';\nimport { addEventListener } from './addEventListener';\nexport function runOnReadyState(configuration, expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n return { stop: noop };\n }\n const eventName = expectedReadyState === 'complete' ? \"load\" /* DOM_EVENT.LOAD */ : \"DOMContentLoaded\" /* DOM_EVENT.DOM_CONTENT_LOADED */;\n return addEventListener(configuration, window, eventName, callback, { once: true });\n}\nexport function asyncRunOnReadyState(configuration, expectedReadyState) {\n return new Promise((resolve) => {\n runOnReadyState(configuration, expectedReadyState, resolve);\n });\n}\n//# sourceMappingURL=runOnReadyState.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nlet xhrObservable;\nconst xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n return new Observable((observable) => {\n const { stop: stopInstrumentingStart } = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr);\n const { stop: stopInstrumentingSend } = instrumentMethod(XMLHttpRequest.prototype, 'send', (call) => {\n sendXhr(call, configuration, observable);\n }, { computeHandlingStack: true });\n const { stop: stopInstrumentingAbort } = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr);\n return () => {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n}\nfunction openXhr({ target: xhr, parameters: [method, url] }) {\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr({ target: xhr, handlingStack }, configuration, observable) {\n const context = xhrContexts.get(xhr);\n if (!context) {\n return;\n }\n const startContext = context;\n startContext.state = 'start';\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = xhr;\n startContext.handlingStack = handlingStack;\n let hasBeenReported = false;\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethod(xhr, 'onreadystatechange', () => {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n });\n const onEnd = () => {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n const completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = xhr.status;\n observable.notify(shallowClone(completeContext));\n };\n const { stop: unsubscribeLoadEndListener } = addEventListener(configuration, xhr, 'loadend', onEnd);\n observable.notify(startContext);\n}\nfunction abortXhr({ target: xhr }) {\n const context = xhrContexts.get(xhr);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nlet fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nexport function resetFetchObservable() {\n fetchObservable = undefined;\n}\nfunction createFetchObservable() {\n return new Observable((observable) => {\n if (!window.fetch) {\n return;\n }\n const { stop } = instrumentMethod(window, 'fetch', (call) => beforeSend(call, observable), {\n computeHandlingStack: true,\n });\n return stop;\n });\n}\nfunction beforeSend({ parameters, onPostCall, handlingStack }, observable) {\n const [input, init] = parameters;\n let methodFromParams = init && init.method;\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method;\n }\n const method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';\n const url = input instanceof Request ? input.url : normalizeUrl(String(input));\n const startClocks = clocksNow();\n const context = {\n state: 'start',\n init,\n input,\n method,\n startClocks,\n url,\n handlingStack,\n };\n observable.notify(context);\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input;\n parameters[1] = context.init;\n onPostCall((responsePromise) => afterSend(observable, responsePromise, context));\n}\nfunction afterSend(observable, responsePromise, startContext) {\n const context = startContext;\n function reportFetch(partialContext) {\n context.state = 'resolve';\n Object.assign(context, partialContext);\n observable.notify(context);\n }\n responsePromise.then(monitor((response) => {\n reportFetch({\n response,\n responseType: response.type,\n status: response.status,\n isAborted: false,\n });\n }), monitor((error) => {\n var _a, _b;\n reportFetch({\n status: 0,\n isAborted: ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error,\n });\n }));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { setTimeout, clearTimeout } from './timer';\nimport { monitor } from './monitor';\nimport { dateNow } from './utils/timeUtils';\n/**\n * 'requestIdleCallback' with a shim.\n */\nexport function requestIdleCallback(callback, opts) {\n // Note: check both 'requestIdleCallback' and 'cancelIdleCallback' existence because some polyfills only implement 'requestIdleCallback'.\n if (window.requestIdleCallback && window.cancelIdleCallback) {\n const id = window.requestIdleCallback(monitor(callback), opts);\n return () => window.cancelIdleCallback(id);\n }\n return requestIdleCallbackShim(callback);\n}\nexport const MAX_TASK_TIME = 50;\n/*\n * Shim from https://developer.chrome.com/blog/using-requestidlecallback#checking_for_requestidlecallback\n * Note: there is no simple way to support the \"timeout\" option, so we ignore it.\n */\nexport function requestIdleCallbackShim(callback) {\n const start = dateNow();\n const timeoutId = setTimeout(() => {\n callback({\n didTimeout: false,\n timeRemaining: () => Math.max(0, MAX_TASK_TIME - (dateNow() - start)),\n });\n }, 0);\n return () => clearTimeout(timeoutId);\n}\n//# sourceMappingURL=requestIdleCallback.js.map","import { ONE_SECOND } from './utils/timeUtils';\nimport { requestIdleCallback } from './requestIdleCallback';\n/**\n * Maximum delay before starting to execute tasks in the queue. We don't want to wait too long\n * before running tasks, as it might hurt reliability (ex: if the user navigates away, we might lose\n * the opportunity to send some data). We also don't want to run tasks too often, as it might hurt\n * performance.\n */\nconst IDLE_CALLBACK_TIMEOUT = ONE_SECOND;\n/**\n * Maximum amount of time allocated to running tasks when a timeout (`IDLE_CALLBACK_TIMEOUT`) is\n * reached. We should not run tasks for too long as it will hurt performance, but we should still\n * run some tasks to avoid postponing them forever.\n *\n * Rational: Running tasks for 30ms every second (IDLE_CALLBACK_TIMEOUT) should be acceptable.\n */\nexport const MAX_EXECUTION_TIME_ON_TIMEOUT = 30;\nexport function createTaskQueue() {\n const pendingTasks = [];\n function run(deadline) {\n let executionTimeRemaining;\n if (deadline.didTimeout) {\n const start = performance.now();\n executionTimeRemaining = () => MAX_EXECUTION_TIME_ON_TIMEOUT - (performance.now() - start);\n }\n else {\n executionTimeRemaining = deadline.timeRemaining.bind(deadline);\n }\n while (executionTimeRemaining() > 0 && pendingTasks.length) {\n pendingTasks.shift()();\n }\n if (pendingTasks.length) {\n scheduleNextRun();\n }\n }\n function scheduleNextRun() {\n requestIdleCallback(run, { timeout: IDLE_CALLBACK_TIMEOUT });\n }\n return {\n push(task) {\n if (pendingTasks.push(task) === 1) {\n scheduleNextRun();\n }\n },\n };\n}\n//# sourceMappingURL=taskQueue.js.map","import { flattenErrorCauses, isError, tryToGetFingerprint } from '../error/error';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { ConsoleApiName, globalConsole } from '../../tools/display';\nimport { callMonitored } from '../../tools/monitor';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { ErrorSource } from '../error/error.types';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { createHandlingStack, toStackTraceString, formatErrorMessage } from '../../tools/stackTrace/handlingStack';\nimport { clocksNow } from '../../tools/utils/timeUtils';\nlet consoleObservablesByApi = {};\nexport function initConsoleObservable(apis) {\n const consoleObservables = apis.map((api) => {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api); // we are sure that the observable created for this api will yield the expected ConsoleLog type\n }\n return consoleObservablesByApi[api];\n });\n return mergeObservables(...consoleObservables);\n}\nexport function resetConsoleObservable() {\n consoleObservablesByApi = {};\n}\nfunction createConsoleObservable(api) {\n return new Observable((observable) => {\n const originalConsoleApi = globalConsole[api];\n globalConsole[api] = (...params) => {\n originalConsoleApi.apply(console, params);\n const handlingStack = createHandlingStack();\n callMonitored(() => {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return () => {\n globalConsole[api] = originalConsoleApi;\n };\n });\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n const message = params.map((param) => formatConsoleParameters(param)).join(' ');\n let error;\n if (api === ConsoleApiName.error) {\n const firstErrorParam = params.find(isError);\n error = {\n stack: firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined,\n fingerprint: tryToGetFingerprint(firstErrorParam),\n causes: firstErrorParam ? flattenErrorCauses(firstErrorParam, 'console') : undefined,\n startClocks: clocksNow(),\n message,\n source: ErrorSource.CONSOLE,\n handling: \"handled\" /* ErrorHandling.HANDLED */,\n handlingStack,\n };\n }\n return {\n api,\n message,\n error,\n handlingStack,\n };\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return sanitize(param);\n }\n if (isError(param)) {\n return formatErrorMessage(computeStackTrace(param));\n }\n return jsonStringify(sanitize(param), undefined, 2);\n}\n//# sourceMappingURL=consoleObservable.js.map","import { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nexport function createContextManager(customerDataTracker) {\n let context = {};\n const changeObservable = new Observable();\n const contextManager = {\n getContext: () => deepClone(context),\n setContext: (newContext) => {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: (key, property) => {\n context[key] = sanitize(property);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n removeContextProperty: (key) => {\n delete context[key];\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n clearContext: () => {\n context = {};\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.resetCustomerData();\n changeObservable.notify();\n },\n changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { addEventListener } from '../../browser/addEventListener';\nimport { combine } from '../../tools/mergeInto';\nconst CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nconst storageListeners = [];\nexport function storeContextManager(configuration, contextManager, productKey, customerDataType) {\n const storageKey = buildStorageKey(productKey, customerDataType);\n storageListeners.push(addEventListener(configuration, window, \"storage\" /* DOM_EVENT.STORAGE */, ({ key }) => {\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n contextManager.setContext(combine(getFromStorage(), contextManager.getContext()));\n function synchronizeWithStorage() {\n contextManager.setContext(getFromStorage());\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n function getFromStorage() {\n const rawContext = localStorage.getItem(storageKey);\n return rawContext !== null ? JSON.parse(rawContext) : {};\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return `${CONTEXT_STORE_KEY_PREFIX}_${productKey}_${customerDataType}`;\n}\nexport function removeStorageListeners() {\n storageListeners.map((listener) => listener.stop());\n}\n//# sourceMappingURL=storeContextManager.js.map","import { ONE_KIBI_BYTE, computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../../tools/display';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport const CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport const CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE;\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createCustomerDataTrackerManager(compressionStatus = 2 /* CustomerDataCompressionStatus.Disabled */) {\n const customerDataTrackers = new Map();\n let alreadyWarned = false;\n function checkCustomerDataLimit(initialBytesCount = 0) {\n if (alreadyWarned || compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n return;\n }\n const bytesCountLimit = compressionStatus === 2 /* CustomerDataCompressionStatus.Disabled */\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT;\n let bytesCount = initialBytesCount;\n customerDataTrackers.forEach((tracker) => {\n bytesCount += tracker.getBytesCount();\n });\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit);\n alreadyWarned = true;\n }\n }\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: () => {\n const tracker = createCustomerDataTracker(() => checkCustomerDataLimit(tracker.getBytesCount()));\n return tracker;\n },\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: (type) => {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(type, createCustomerDataTracker(checkCustomerDataLimit));\n }\n return customerDataTrackers.get(type);\n },\n setCompressionStatus: (newCompressionStatus) => {\n if (compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n compressionStatus = newCompressionStatus;\n checkCustomerDataLimit();\n }\n },\n getCompressionStatus: () => compressionStatus,\n stop: () => {\n customerDataTrackers.forEach((tracker) => tracker.stop());\n customerDataTrackers.clear();\n },\n };\n}\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n let bytesCountCache = 0;\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n const { throttled: computeBytesCountThrottled, cancel: cancelComputeBytesCount } = throttle((context) => {\n bytesCountCache = computeBytesCount(jsonStringify(context));\n checkCustomerDataLimit();\n }, BYTES_COMPUTATION_THROTTLING_DELAY);\n const resetBytesCount = () => {\n cancelComputeBytesCount();\n bytesCountCache = 0;\n };\n return {\n updateCustomerData: (context) => {\n if (isEmptyObject(context)) {\n resetBytesCount();\n }\n else {\n computeBytesCountThrottled(context);\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: () => bytesCountCache,\n stop: () => {\n cancelComputeBytesCount();\n },\n };\n}\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(`Customer data exceeds the recommended ${bytesCountLimit / ONE_KIBI_BYTE}KiB threshold. ${MORE_DETAILS} ${DOCS_TROUBLESHOOTING}/#customer-data-exceeds-the-recommended-threshold-warning`);\n}\n//# sourceMappingURL=customerDataTracker.js.map","import { monitor } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n const reader = stream.getReader();\n const chunks = [];\n let readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor((result) => {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor((error) => callback(error)));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n let bytes;\n let limitExceeded;\n if (options.collectStreamBody) {\n let completeBuffer;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer = new Uint8Array(readBytesCount);\n let offset = 0;\n chunks.forEach((chunk) => {\n completeBuffer.set(chunk, offset);\n offset += chunk.length;\n });\n }\n bytes = completeBuffer.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { getInitCookie } from '../../browser/cookie';\nexport const SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport const SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n const value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n const value = window._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","import { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n const 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 = false) {\n return list.some((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 ? value.startsWith(item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","export function buildCommonContext(globalContextManager, userContextManager, recorderApi) {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n };\n}\n//# sourceMappingURL=commonContext.js.map","import { clocksNow, combine, elapsed, generateUUID, toServerDuration } from '@datadog/browser-core';\nexport function createCustomVitalsState() {\n const vitalsByName = new Map();\n const vitalsByReference = new WeakMap();\n return { vitalsByName, vitalsByReference };\n}\nexport function startVitalCollection(lifeCycle, pageStateHistory, customVitalsState) {\n function isValid(vital) {\n return !pageStateHistory.wasInPageStateDuringPeriod(\"frozen\" /* PageState.FROZEN */, vital.startClocks.relative, vital.duration);\n }\n function addDurationVital(vital) {\n if (isValid(vital)) {\n lifeCycle.notify(11 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processVital(vital, true));\n }\n }\n return {\n addDurationVital,\n startDurationVital: (name, options = {}) => startDurationVital(customVitalsState, name, options),\n stopDurationVital: (nameOrRef, options = {}) => {\n stopDurationVital(addDurationVital, customVitalsState, nameOrRef, options);\n },\n };\n}\nexport function startDurationVital({ vitalsByName, vitalsByReference }, name, options = {}) {\n const vital = {\n name,\n startClocks: clocksNow(),\n context: options.context,\n description: options.description,\n };\n // To avoid leaking implementation details of the vital, we return a reference to it.\n const reference = { __dd_vital_reference: true };\n vitalsByName.set(name, vital);\n // To avoid memory leaks caused by the creation of numerous references (e.g., from improper useEffect implementations), we use a WeakMap.\n vitalsByReference.set(reference, vital);\n return reference;\n}\nexport function stopDurationVital(stopCallback, { vitalsByName, vitalsByReference }, nameOrRef, options = {}) {\n const vitalStart = typeof nameOrRef === 'string' ? vitalsByName.get(nameOrRef) : vitalsByReference.get(nameOrRef);\n if (!vitalStart) {\n return;\n }\n stopCallback(buildDurationVital(vitalStart, vitalStart.startClocks, options, clocksNow()));\n if (typeof nameOrRef === 'string') {\n vitalsByName.delete(nameOrRef);\n }\n else {\n vitalsByReference.delete(nameOrRef);\n }\n}\nfunction buildDurationVital(vitalStart, startClocks, stopOptions, stopClocks) {\n var _a;\n return {\n name: vitalStart.name,\n type: \"duration\" /* VitalType.DURATION */,\n startClocks,\n duration: elapsed(startClocks.timeStamp, stopClocks.timeStamp),\n context: combine(vitalStart.context, stopOptions.context),\n description: (_a = stopOptions.description) !== null && _a !== void 0 ? _a : vitalStart.description,\n };\n}\nfunction processVital(vital, valueComputedBySdk) {\n const rawRumEvent = {\n date: vital.startClocks.timeStamp,\n vital: {\n id: generateUUID(),\n type: vital.type,\n name: vital.name,\n duration: toServerDuration(vital.duration),\n description: vital.description,\n },\n type: \"vital\" /* RumEventType.VITAL */,\n };\n if (valueComputedBySdk) {\n rawRumEvent._dd = {\n vital: {\n computed_value: true,\n },\n };\n }\n return {\n rawRumEvent,\n startTime: vital.startClocks.relative,\n customerContext: vital.context,\n domainContext: {},\n };\n}\n//# sourceMappingURL=vitalCollection.js.map","export function callPluginsMethod(plugins, methodName, parameter) {\n if (!plugins) {\n return;\n }\n for (const plugin of plugins) {\n const method = plugin[methodName];\n if (method) {\n method(parameter);\n }\n }\n}\n//# sourceMappingURL=plugins.js.map","export function getCrypto() {\n // TODO: remove msCrypto when IE11 support is dropped\n return window.crypto || window.msCrypto;\n}\n//# sourceMappingURL=crypto.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nexport function createTraceIdentifier() {\n return createIdentifier(64);\n}\nexport function createSpanIdentifier() {\n return createIdentifier(63);\n}\nlet createIdentifierImplementationCache;\nexport function clearIdentifierImplementationCache() {\n createIdentifierImplementationCache = undefined;\n}\nfunction createIdentifier(bits) {\n if (!createIdentifierImplementationCache) {\n createIdentifierImplementationCache =\n isExperimentalFeatureEnabled(ExperimentalFeature.CONSISTENT_TRACE_SAMPLING) && areBigIntIdentifiersSupported()\n ? createIdentifierUsingBigInt\n : createIdentifierUsingUint32Array;\n }\n return createIdentifierImplementationCache(bits);\n}\nexport function areBigIntIdentifiersSupported() {\n try {\n crypto.getRandomValues(new BigUint64Array(1));\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createIdentifierUsingBigInt(bits) {\n let id = crypto.getRandomValues(new BigUint64Array(1))[0];\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n id >>= BigInt('1');\n }\n return id;\n}\n// TODO: remove this when all browser we support have BigInt support\nfunction createIdentifierUsingUint32Array(bits) {\n const buffer = getCrypto().getRandomValues(new Uint32Array(2));\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n buffer[buffer.length - 1] >>>= 1; // force 63-bit\n }\n return {\n toString(radix = 10) {\n let high = buffer[1];\n let low = buffer[0];\n let str = '';\n do {\n const 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}\nexport function toPaddedHexadecimalString(id) {\n const traceId = id.toString(16);\n // TODO: replace with String.prototype.padStart when we drop IE11 support\n return Array(17 - traceId.length).join('0') + traceId;\n}\n//# sourceMappingURL=identifier.js.map","import { performDraw } from '@datadog/browser-core';\nexport function isTraceSampled(identifier, sampleRate) {\n // Shortcuts for common cases. This is not strictly necessary, but it makes the code faster for\n // customers willing to ingest all traces.\n if (sampleRate === 100) {\n return true;\n }\n if (sampleRate === 0) {\n return false;\n }\n // For simplicity, we don't use consistent sampling for browser that don't support BigInt\n // TODO: remove this when all browser we support have BigInt support\n if (typeof identifier !== 'bigint') {\n return performDraw(sampleRate);\n }\n // Offer consistent sampling for the same trace id across different environments. The rule is:\n //\n // (identifier * knuthFactor) % 2^64 < sampleRate * 2^64\n //\n // Because JavaScript numbers are 64-bit floats, we can't represent 64-bit integers, and the\n // modulo would be incorrect. Thus, we are using BigInts here.\n //\n // Implementation in other languages:\n // * Go https://github.com/DataDog/dd-trace-go/blob/ec6fbb1f2d517b7b8e69961052adf7136f3af773/ddtrace/tracer/sampler.go#L86-L91\n // * Python https://github.com/DataDog/dd-trace-py/blob/0cee2f066fb6e79aa15947c1514c0f406dea47c5/ddtrace/sampling_rule.py#L197\n // * Ruby https://github.com/DataDog/dd-trace-rb/blob/1a6e255cdcb7e7e22235ea5955f90f6dfa91045d/lib/datadog/tracing/sampling/rate_sampler.rb#L42\n // * C++ https://github.com/DataDog/dd-trace-cpp/blob/159629edc438ae45f2bb318eb7bd51abd05e94b5/src/datadog/trace_sampler.cpp#L58\n // * Java https://github.com/DataDog/dd-trace-java/blob/896dd6b380533216e0bdee59614606c8272d313e/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java#L48\n //\n // Note: All implementations have slight variations. Some of them use '<=' instead of '<', and\n // use `sampleRate * 2^64 - 1` instead of `sampleRate * 2^64`. The following implementation\n // should adhere to the spec and is a bit simpler than using a 2^64-1 limit as there are less\n // BigInt arithmetic to write. In practice this does not matter, as we are using floating point\n // numbers in the end, and Number(2n**64n-1n) === Number(2n**64n).\n const knuthFactor = BigInt('1111111111111111111');\n const twoPow64 = BigInt('0x10000000000000000'); // 2n ** 64n\n const hash = (identifier * knuthFactor) % twoPow64;\n return Number(hash) <= (sampleRate / 100) * Number(twoPow64);\n}\n//# sourceMappingURL=sampler.js.map","import { objectEntries, shallowClone, getType, isMatchOption, matchList, TraceContextInjection, } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nimport { createSpanIdentifier, createTraceIdentifier, toPaddedHexadecimalString } from './identifier';\nimport { isTraceSampled } from './sampler';\nexport function isTracingOption(item) {\n const 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,\n traceFetch: (context) => injectHeadersIfTracingAllowed(configuration, context, sessionManager, (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((key) => {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n const headers = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach((value, key) => {\n headers.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach((header) => {\n headers.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach((key) => {\n headers.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers.concat(objectEntries(tracingHeaders));\n }\n }),\n traceXhr: (context, xhr) => injectHeadersIfTracingAllowed(configuration, context, sessionManager, (tracingHeaders) => {\n Object.keys(tracingHeaders).forEach((name) => {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n }),\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n const tracingOption = configuration.allowedTracingUrls.find((tracingOption) => matchList([tracingOption.match], context.url, true));\n if (!tracingOption) {\n return;\n }\n const traceId = createTraceIdentifier();\n context.traceSampled = isTraceSampled(traceId, configuration.traceSampleRate);\n const shouldInjectHeaders = context.traceSampled || configuration.traceContextInjection === TraceContextInjection.ALL;\n if (!shouldInjectHeaders) {\n return;\n }\n context.traceId = traceId;\n context.spanId = createSpanIdentifier();\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\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 const tracingHeaders = {};\n propagatorTypes.forEach((propagatorType) => {\n switch (propagatorType) {\n case 'datadog': {\n Object.assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n Object.assign(tracingHeaders, {\n traceparent: `00-0000000000000000${toPaddedHexadecimalString(traceId)}-${toPaddedHexadecimalString(spanId)}-0${traceSampled ? '1' : '0'}`,\n tracestate: `dd=s:${traceSampled ? '1' : '0'};o:rum`,\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n Object.assign(tracingHeaders, {\n b3: `${toPaddedHexadecimalString(traceId)}-${toPaddedHexadecimalString(spanId)}-${traceSampled ? '1' : '0'}`,\n });\n break;\n }\n case 'b3multi': {\n Object.assign(tracingHeaders, {\n 'X-B3-TraceId': toPaddedHexadecimalString(traceId),\n 'X-B3-SpanId': toPaddedHexadecimalString(spanId),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n//# sourceMappingURL=tracer.js.map","import { getType, isMatchOption, serializeConfiguration, DefaultPrivacyLevel, TraceContextInjection, display, objectHasValue, validateAndBuildConfiguration, isSampleRate, isNumber, } from '@datadog/browser-core';\nimport { isTracingOption } from '../tracing/tracer';\nexport const DEFAULT_PROPAGATOR_TYPES = ['tracecontext', 'datadog'];\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e, _f;\n if (initConfiguration.trackFeatureFlagsForEvents !== undefined &&\n !Array.isArray(initConfiguration.trackFeatureFlagsForEvents)) {\n display.warn('trackFeatureFlagsForEvents should be an array');\n }\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (!isSampleRate(initConfiguration.sessionReplaySampleRate, 'Session Replay') ||\n !isSampleRate(initConfiguration.traceSampleRate, 'Trace')) {\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 const allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n const baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n const sessionReplaySampleRate = (_a = initConfiguration.sessionReplaySampleRate) !== null && _a !== void 0 ? _a : 0;\n return {\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version || undefined,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate,\n startSessionReplayRecordingManually: initConfiguration.startSessionReplayRecordingManually !== undefined\n ? !!initConfiguration.startSessionReplayRecordingManually\n : sessionReplaySampleRate === 0,\n traceSampleRate: (_b = initConfiguration.traceSampleRate) !== null && _b !== void 0 ? _b : 100,\n rulePsr: isNumber(initConfiguration.traceSampleRate) ? initConfiguration.traceSampleRate / 100 : undefined,\n allowedTracingUrls,\n excludedActivityUrls: (_c = initConfiguration.excludedActivityUrls) !== null && _c !== void 0 ? _c : [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!((_d = initConfiguration.trackUserInteractions) !== null && _d !== void 0 ? _d : true),\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!((_e = initConfiguration.trackResources) !== null && _e !== void 0 ? _e : true),\n trackLongTasks: !!((_f = initConfiguration.trackLongTasks) !== null && _f !== void 0 ? _f : true),\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.SAMPLED,\n plugins: initConfiguration.plugins || [],\n trackFeatureFlagsForEvents: initConfiguration.trackFeatureFlagsForEvents || [],\n ...baseConfiguration,\n };\n}\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n if (initConfiguration.allowedTracingUrls === undefined) {\n return [];\n }\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 const tracingOptions = [];\n initConfiguration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n tracingOptions.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES });\n }\n else if (isTracingOption(option)) {\n tracingOptions.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;\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration) {\n const usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach((propagatorType) => 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((propagatorType) => usedTracingPropagators.add(propagatorType));\n }\n });\n }\n return Array.from(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a;\n const baseSerializedConfiguration = serializeConfiguration(configuration);\n return {\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((plugin) => {\n var _a;\n return ({\n name: plugin.name,\n ...(_a = plugin.getConfigurationTelemetry) === null || _a === void 0 ? void 0 : _a.call(plugin),\n });\n }),\n track_feature_flags_for_events: configuration.trackFeatureFlagsForEvents,\n ...baseSerializedConfiguration,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { display, addEventListener } from '@datadog/browser-core';\nexport const REMOTE_CONFIGURATION_URL = 'https://d3uc069fcn7uxw.cloudfront.net/configuration';\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, (remoteInitConfiguration) => {\n callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));\n });\n}\nexport function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {\n return { ...initConfiguration, ...remoteInitConfiguration };\n}\nexport function fetchRemoteConfiguration(configuration, callback) {\n const 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', `${REMOTE_CONFIGURATION_URL}/${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 { createBoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, getEventBridge, ExperimentalFeature, isExperimentalFeatureEnabled, initFeatureFlags, addTelemetryConfiguration, initFetchObservable, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration, } from '../domain/configuration';\nimport { startDurationVital, stopDurationVital } from '../domain/vital/vitalCollection';\nimport { fetchAndApplyRemoteConfiguration, serializeRumConfiguration } from '../domain/configuration';\nimport { callPluginsMethod } from '../domain/plugins';\nexport function createPreStartStrategy({ ignoreInitIfSyntheticsWillInjectRum, startDeflateWorker }, getCommonContext, trackingConsentState, customVitalsState, doStartRum) {\n const bufferApiCalls = createBoundedBuffer();\n let firstStartViewCall;\n let deflateWorker;\n let cachedInitConfiguration;\n let cachedConfiguration;\n const trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartRum);\n const emptyContext = {};\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n let 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 const startRumResult = doStartRum(cachedConfiguration, deflateWorker, initialViewOptions);\n bufferApiCalls.drain(startRumResult);\n }\n function doInit(initConfiguration) {\n const 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 const 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 // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop);\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartRum();\n }\n const addDurationVital = (vital) => {\n bufferApiCalls.add((startRumResult) => startRumResult.addDurationVital(vital));\n };\n const strategy = {\n init(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 callPluginsMethod(initConfiguration.plugins, 'onInit', { initConfiguration, publicApi });\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(name, time = timeStampNow()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addTiming(name, time));\n },\n startView(options, startClocks = clocksNow()) {\n const callback = (startRumResult) => {\n startRumResult.startView(options, startClocks);\n };\n bufferApiCalls.add(callback);\n if (!firstStartViewCall) {\n firstStartViewCall = { options, callback };\n tryStartRum();\n }\n },\n setViewName(name) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewName(name));\n },\n setViewContext(context) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewContext(context));\n },\n setViewContextProperty(key, value) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewContextProperty(key, value));\n },\n getViewContext: () => emptyContext,\n addAction(action, commonContext = getCommonContext()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addAction(action, commonContext));\n },\n addError(providedError, commonContext = getCommonContext()) {\n bufferApiCalls.add((startRumResult) => startRumResult.addError(providedError, commonContext));\n },\n addFeatureFlagEvaluation(key, value) {\n bufferApiCalls.add((startRumResult) => startRumResult.addFeatureFlagEvaluation(key, value));\n },\n startDurationVital(name, options) {\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital(name, options) {\n stopDurationVital(addDurationVital, customVitalsState, name, options);\n },\n addDurationVital,\n };\n return strategy;\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n var _a, _b;\n return {\n ...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","import { addTelemetryUsage, createContextManager, deepClone, makePublicApi, monitor, clocksNow, callMonitored, createHandlingStack, checkUser, sanitizeUser, sanitize, createIdentityEncoder, createCustomerDataTrackerManager, storeContextManager, displayAlreadyInitializedError, createTrackingConsentState, timeStampToClocks, } from '@datadog/browser-core';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { createCustomVitalsState } from '../domain/vital/vitalCollection';\nimport { callPluginsMethod } from '../domain/plugins';\nimport { createPreStartStrategy } from './preStartRum';\nconst RUM_STORAGE_KEY = 'rum';\nexport function makeRumPublicApi(startRumImpl, recorderApi, options = {}) {\n const customerDataTrackerManager = createCustomerDataTrackerManager(0 /* CustomerDataCompressionStatus.Unknown */);\n const globalContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(2 /* CustomerDataType.GlobalContext */));\n const userContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(1 /* CustomerDataType.User */));\n const trackingConsentState = createTrackingConsentState();\n const customVitalsState = createCustomVitalsState();\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager, recorderApi);\n }\n let strategy = createPreStartStrategy(options, getCommonContext, trackingConsentState, customVitalsState, (configuration, deflateWorker, initialViewOptions) => {\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(configuration, globalContextManager, RUM_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n storeContextManager(configuration, userContextManager, RUM_STORAGE_KEY, 1 /* CustomerDataType.User */);\n }\n customerDataTrackerManager.setCompressionStatus(deflateWorker ? 1 /* CustomerDataCompressionStatus.Enabled */ : 2 /* CustomerDataCompressionStatus.Disabled */);\n const startRumResult = startRumImpl(configuration, recorderApi, customerDataTrackerManager, getCommonContext, initialViewOptions, deflateWorker && options.createDeflateEncoder\n ? (streamId) => options.createDeflateEncoder(configuration, deflateWorker, streamId)\n : createIdentityEncoder, trackingConsentState, customVitalsState);\n recorderApi.onRumStart(startRumResult.lifeCycle, configuration, startRumResult.session, startRumResult.viewHistory, deflateWorker);\n strategy = createPostStartStrategy(strategy, startRumResult);\n callPluginsMethod(configuration.plugins, 'onRumStart', { strategy });\n return startRumResult;\n });\n const startView = monitor((options) => {\n const sanitizedOptions = typeof options === 'object' ? options : { name: options };\n if (sanitizedOptions.context) {\n customerDataTrackerManager.getOrCreateTracker(3 /* CustomerDataType.View */).updateCustomerData(sanitizedOptions.context);\n }\n strategy.startView(sanitizedOptions);\n addTelemetryUsage({ feature: 'start-view' });\n });\n const rumPublicApi = makePublicApi({\n init: monitor((initConfiguration) => {\n strategy.init(initConfiguration, rumPublicApi);\n }),\n setTrackingConsent: monitor((trackingConsent) => {\n trackingConsentState.update(trackingConsent);\n addTelemetryUsage({ feature: 'set-tracking-consent', tracking_consent: trackingConsent });\n }),\n setViewName: monitor((name) => {\n strategy.setViewName(name);\n }),\n setViewContext: monitor((context) => {\n strategy.setViewContext(context);\n }),\n setViewContextProperty: monitor((key, value) => {\n strategy.setViewContextProperty(key, value);\n }),\n getViewContext: monitor(() => strategy.getViewContext()),\n setGlobalContext: monitor((context) => {\n globalContextManager.setContext(context);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n getGlobalContext: monitor(() => globalContextManager.getContext()),\n setGlobalContextProperty: monitor((key, value) => {\n globalContextManager.setContextProperty(key, value);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n removeGlobalContextProperty: monitor((key) => globalContextManager.removeContextProperty(key)),\n clearGlobalContext: monitor(() => globalContextManager.clearContext()),\n getInternalContext: monitor((startTime) => strategy.getInternalContext(startTime)),\n getInitConfiguration: monitor(() => deepClone(strategy.initConfiguration)),\n addAction: (name, context) => {\n const handlingStack = createHandlingStack();\n callMonitored(() => {\n strategy.addAction({\n name: sanitize(name),\n context: sanitize(context),\n startClocks: clocksNow(),\n type: \"custom\" /* ActionType.CUSTOM */,\n handlingStack,\n });\n addTelemetryUsage({ feature: 'add-action' });\n });\n },\n addError: (error, context) => {\n const handlingStack = createHandlingStack();\n callMonitored(() => {\n strategy.addError({\n error, // Do not sanitize error here, it is needed unserialized by computeRawError()\n handlingStack,\n context: sanitize(context),\n startClocks: clocksNow(),\n });\n addTelemetryUsage({ feature: 'add-error' });\n });\n },\n addTiming: monitor((name, time) => {\n // TODO: next major decide to drop relative time support or update its behaviour\n strategy.addTiming(sanitize(name), time);\n }),\n setUser: monitor((newUser) => {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n addTelemetryUsage({ feature: 'set-user' });\n }),\n getUser: monitor(() => userContextManager.getContext()),\n setUserProperty: monitor((key, property) => {\n const sanitizedProperty = sanitizeUser({ [key]: property })[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n addTelemetryUsage({ feature: 'set-user' });\n }),\n removeUserProperty: monitor((key) => userContextManager.removeContextProperty(key)),\n clearUser: monitor(() => userContextManager.clearContext()),\n startView,\n stopSession: monitor(() => {\n strategy.stopSession();\n addTelemetryUsage({ feature: 'stop-session' });\n }),\n addFeatureFlagEvaluation: monitor((key, value) => {\n strategy.addFeatureFlagEvaluation(sanitize(key), sanitize(value));\n addTelemetryUsage({ feature: 'add-feature-flag-evaluation' });\n }),\n getSessionReplayLink: monitor(() => recorderApi.getSessionReplayLink()),\n startSessionReplayRecording: monitor((options) => {\n recorderApi.start(options);\n addTelemetryUsage({ feature: 'start-session-replay-recording', force: options && options.force });\n }),\n stopSessionReplayRecording: monitor(() => recorderApi.stop()),\n addDurationVital: monitor((name, options) => {\n addTelemetryUsage({ feature: 'add-duration-vital' });\n strategy.addDurationVital({\n name: sanitize(name),\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: timeStampToClocks(options.startTime),\n duration: options.duration,\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n startDurationVital: monitor((name, options) => {\n addTelemetryUsage({ feature: 'start-duration-vital' });\n return strategy.startDurationVital(sanitize(name), {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n stopDurationVital: monitor((nameOrRef, options) => {\n addTelemetryUsage({ feature: 'stop-duration-vital' });\n strategy.stopDurationVital(typeof nameOrRef === 'string' ? sanitize(nameOrRef) : nameOrRef, {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n });\n return rumPublicApi;\n}\nfunction createPostStartStrategy(preStartStrategy, startRumResult) {\n return {\n init: (initConfiguration) => {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n },\n initConfiguration: preStartStrategy.initConfiguration,\n ...startRumResult,\n };\n}\n//# sourceMappingURL=rumPublicApi.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n const MutationObserver = getMutationObserverConstructor();\n return new Observable((observable) => {\n if (!MutationObserver) {\n return;\n }\n const observer = new MutationObserver(monitor(() => observable.notify()));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return () => observer.disconnect();\n });\n}\nexport function getMutationObserverConstructor() {\n let constructor;\n const 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 const patchedInstance = new browserWindow.MutationObserver(noop);\n const 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 { instrumentMethod, Observable } from '@datadog/browser-core';\nexport function createWindowOpenObservable() {\n const observable = new Observable();\n const { stop } = instrumentMethod(window, 'open', () => observable.notify());\n return { observable, stop };\n}\n//# sourceMappingURL=windowOpenObservable.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n const testId = getSyntheticsTestId();\n const 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 { 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 const clone = deepClone(object);\n const result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) => {\n const newValue = get(clone, fieldPath);\n const 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 let current = object;\n for (const field of path.split('.')) {\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n let current = object;\n const fields = path.split('.');\n for (let i = 0; i < fields.length; i += 1) {\n const 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, round, isExperimentalFeatureEnabled, ExperimentalFeature, getConnectivity, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { limitModification } from './limitModification';\nconst VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nconst USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nconst ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string',\n};\nlet modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewHistory, urlContexts, actionContexts, displayContext, ciVisibilityContext, featureFlagContexts, getCommonContext, reportError) {\n modifiableFieldPathsByEvent = {\n [\"view\" /* RumEventType.VIEW */]: { ...USER_CUSTOMIZABLE_FIELD_PATHS, ...VIEW_MODIFIABLE_FIELD_PATHS },\n [\"error\" /* RumEventType.ERROR */]: {\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"resource\" /* RumEventType.RESOURCE */]: {\n 'resource.url': 'string',\n ...(isExperimentalFeatureEnabled(ExperimentalFeature.WRITABLE_RESOURCE_GRAPHQL)\n ? { 'resource.graphql': 'object' }\n : {}),\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"action\" /* RumEventType.ACTION */]: {\n 'action.target.name': 'string',\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n ...ROOT_MODIFIABLE_FIELD_PATHS,\n },\n [\"long_task\" /* RumEventType.LONG_TASK */]: {\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n },\n [\"vital\" /* RumEventType.VITAL */]: {\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS,\n },\n };\n const eventRateLimiters = {\n [\"error\" /* RumEventType.ERROR */]: createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n [\"action\" /* RumEventType.ACTION */]: createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n [\"vital\" /* RumEventType.VITAL */]: createEventRateLimiter(\"vital\" /* RumEventType.VITAL */, configuration.eventRateLimiterThreshold, reportError),\n };\n const syntheticsContext = getSyntheticsContext();\n lifeCycle.subscribe(11 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, ({ startTime, rawRumEvent, domainContext, savedCommonContext, customerContext }) => {\n const viewHistoryEntry = viewHistory.findView(startTime);\n const urlContext = urlContexts.findUrl(startTime);\n const session = sessionManager.findTrackedSession(startTime);\n if (session && viewHistoryEntry && urlContext) {\n const commonContext = savedCommonContext || getCommonContext();\n const actionId = actionContexts.findActionId(startTime);\n const 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() ? \"6.1.0\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewHistoryEntry.service || configuration.service,\n version: viewHistoryEntry.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: viewHistoryEntry.id,\n name: viewHistoryEntry.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n feature_flags: findFeatureFlagsContext(rawRumEvent, startTime, configuration.trackFeatureFlagsForEvents, featureFlagContexts),\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 const serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, viewHistoryEntry.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 (session.anonymousId && !commonContext.user.anonymous_id && !!configuration.trackAnonymousUser) {\n commonContext.user.anonymous_id = session.anonymousId;\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(12 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n const result = limitModification(event, modifiableFieldPathsByEvent[event.type], (event) => beforeSend(event, domainContext));\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 const 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}\nfunction findFeatureFlagsContext(rawRumEvent, eventStartTime, trackFeatureFlagsForEvents, featureFlagContexts) {\n const isTrackingEnforced = rawRumEvent.type === \"view\" /* RumEventType.VIEW */ || rawRumEvent.type === \"error\" /* RumEventType.ERROR */;\n const isListedInConfig = trackFeatureFlagsForEvents.includes(rawRumEvent.type);\n if (isTrackingEnforced || isListedInConfig) {\n const featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(eventStartTime);\n if (featureFlagContext && !isEmptyObject(featureFlagContext)) {\n return featureFlagContext;\n }\n }\n}\n//# sourceMappingURL=assembly.js.map","/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(applicationId, sessionManager, viewHistory, actionContexts, urlContexts) {\n return {\n get: (startTime) => {\n const viewContext = viewHistory.findView(startTime);\n const urlContext = urlContexts.findUrl(startTime);\n const session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n const actionId = actionContexts.findActionId(startTime);\n return {\n application_id: applicationId,\n session_id: session.id,\n user_action: actionId ? { id: actionId } : undefined,\n view: { id: viewContext.id, name: viewContext.name, referrer: urlContext.referrer, url: urlContext.url },\n };\n }\n },\n };\n}\n//# sourceMappingURL=internalContext.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport const LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","import { SESSION_TIME_OUT_DELAY, createValueHistory } from '@datadog/browser-core';\nexport const VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewHistory(lifeCycle) {\n const viewValueHistory = createValueHistory({ expireDelay: VIEW_CONTEXT_TIME_OUT_DELAY });\n lifeCycle.subscribe(1 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, (view) => {\n viewValueHistory.add(buildViewHistoryEntry(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(5 /* LifeCycleEventType.AFTER_VIEW_ENDED */, ({ endClocks }) => {\n viewValueHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(3 /* LifeCycleEventType.VIEW_UPDATED */, (viewUpdate) => {\n const currentView = viewValueHistory.find(viewUpdate.startClocks.relative);\n if (currentView && viewUpdate.name) {\n currentView.name = viewUpdate.name;\n }\n if (currentView && viewUpdate.context) {\n currentView.context = viewUpdate.context;\n }\n });\n lifeCycle.subscribe(9 /* LifeCycleEventType.SESSION_RENEWED */, () => {\n viewValueHistory.reset();\n });\n function buildViewHistoryEntry(view) {\n return {\n service: view.service,\n version: view.version,\n context: view.context,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: (startTime) => viewValueHistory.find(startTime),\n stop: () => {\n viewValueHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewHistory.js.map","import { addTelemetryDebug, elapsed, getPathName, isValidUrl, toServerDuration, isIntakeUrl, } from '@datadog/browser-core';\nexport const FAKE_INITIAL_DOCUMENT = 'initial_document';\nconst RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, (initiatorType) => FAKE_INITIAL_DOCUMENT === initiatorType],\n [\"xhr\" /* ResourceType.XHR */, (initiatorType) => 'xmlhttprequest' === initiatorType],\n [\"fetch\" /* ResourceType.FETCH */, (initiatorType) => 'fetch' === initiatorType],\n [\"beacon\" /* ResourceType.BEACON */, (initiatorType) => 'beacon' === initiatorType],\n [\"css\" /* ResourceType.CSS */, (_, path) => /\\.css$/i.test(path)],\n [\"js\" /* ResourceType.JS */, (_, path) => /\\.js$/i.test(path)],\n [\n \"image\" /* ResourceType.IMAGE */,\n (initiatorType, path) => ['image', 'img', 'icon'].includes(initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null,\n ],\n [\"font\" /* ResourceType.FONT */, (_, path) => /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null],\n [\n \"media\" /* ResourceType.MEDIA */,\n (initiatorType, path) => ['audio', 'video'].includes(initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null,\n ],\n];\nexport function computeResourceEntryType(entry) {\n const url = entry.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(`Failed to construct URL for \"${entry.name}\"`);\n return \"other\" /* ResourceType.OTHER */;\n }\n const path = getPathName(url);\n for (const [type, isType] of RESOURCE_TYPES) {\n if (isType(entry.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder(...numbers) {\n for (let 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 isResourceEntryRequestType(entry) {\n return entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch';\n}\nexport function computeResourceEntryDuration(entry) {\n const { duration, startTime, responseEnd } = entry;\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 computeResourceEntryDetails(entry) {\n if (!hasValidResourceEntryTimings(entry)) {\n return undefined;\n }\n const { startTime, fetchStart, workerStart, redirectStart, redirectEnd, domainLookupStart, domainLookupEnd, connectStart, secureConnectionStart, connectEnd, requestStart, responseStart, responseEnd, } = entry;\n const details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a worker processing time is recorded\n if (0 < workerStart && workerStart < fetchStart) {\n details.worker = formatTiming(startTime, workerStart, fetchStart);\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}\n/**\n * Entries with negative duration are unexpected and should be dismissed. The intake will ignore RUM\n * Resource events with negative durations anyway.\n * Since Chromium 128, more entries have unexpected negative durations, see\n * https://issues.chromium.org/issues/363031537\n */\nexport function hasValidResourceEntryDuration(entry) {\n return entry.duration >= 0;\n}\nexport function hasValidResourceEntryTimings(entry) {\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 const areCommonTimingsInOrder = areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd);\n const 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}\n/**\n * The 'nextHopProtocol' is an empty string for cross-origin resources without CORS headers,\n * meaning the protocol is unknown, and we shouldn't report it.\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/nextHopProtocol#cross-origin_resources\n */\nexport function computeResourceEntryProtocol(entry) {\n return entry.nextHopProtocol === '' ? undefined : entry.nextHopProtocol;\n}\n/**\n * Handles the 'deliveryType' property to distinguish between supported values ('cache', 'navigational-prefetch'),\n * undefined (unsupported in some browsers), and other cases ('other' for unknown or unrecognized values).\n * see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n */\nexport function computeResourceEntryDeliveryType(entry) {\n return entry.deliveryType === '' ? 'other' : entry.deliveryType;\n}\nexport function computeResourceEntrySize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n const { encodedBodySize, decodedBodySize, transferSize } = entry;\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(url) {\n return url && !isIntakeUrl(url);\n}\nconst DATA_URL_REGEX = /data:(.+)?(;base64)?,/g;\nexport const 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 `${url.match(DATA_URL_REGEX)[0]}[...]`;\n}\n//# sourceMappingURL=resourceUtils.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nlet nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n const tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n const subscription = initXhrObservable(configuration).subscribe((rawContext) => {\n const context = rawContext;\n if (!isAllowedRequestUrl(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(6 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(7 /* 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: () => subscription.unsubscribe() };\n}\nexport function trackFetch(lifeCycle, tracer) {\n const subscription = initFetchObservable().subscribe((rawContext) => {\n const context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(6 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, (duration) => {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n 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: () => subscription.unsubscribe() };\n}\nfunction getNextRequestIndex() {\n const result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n const 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, () => {\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({ lifeCycle, isChildEvent, onChange: callback = noop, }) {\n const eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n const subscription = lifeCycle.subscribe(12 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, (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: () => {\n subscription.unsubscribe();\n },\n eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { addEventListeners, dateNow, relativeNow } from '@datadog/browser-core';\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nexport function retrieveFirstInputTiming(configuration, callback) {\n const startTimeStamp = dateNow();\n let timingSent = false;\n const { stop: removeEventListeners } = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"mousedown\" /* DOM_EVENT.MOUSE_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */], (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 const timing = {\n entryType: '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 cancelable: false,\n target: null,\n toJSON: () => ({}),\n };\n if (evt.type === \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */) {\n sendTimingIfPointerIsNotCancelled(configuration, timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true });\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, [\"pointerup\" /* DOM_EVENT.POINTER_UP */, \"pointercancel\" /* DOM_EVENT.POINTER_CANCEL */], (event) => {\n if (event.type === \"pointerup\" /* 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 const delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\n//# sourceMappingURL=firstInputPolyfill.js.map","import { addEventListener, Observable, setTimeout, clearTimeout, monitor } from '@datadog/browser-core';\nimport { hasValidResourceEntryDuration, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { retrieveFirstInputTiming } from './firstInputPolyfill';\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[\"LONG_ANIMATION_FRAME\"] = \"long-animation-frame\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nexport function createPerformanceObservable(configuration, options) {\n return new Observable((observable) => {\n if (!window.PerformanceObserver) {\n return;\n }\n const handlePerformanceEntries = (entries) => {\n const rumPerformanceEntries = filterRumPerformanceEntries(entries);\n if (rumPerformanceEntries.length > 0) {\n observable.notify(rumPerformanceEntries);\n }\n };\n let timeoutId;\n let isObserverInitializing = true;\n const observer = new PerformanceObserver(monitor((entries) => {\n // In Safari the performance observer callback is synchronous.\n // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init\n if (isObserverInitializing) {\n timeoutId = setTimeout(() => handlePerformanceEntries(entries.getEntries()));\n }\n else {\n handlePerformanceEntries(entries.getEntries());\n }\n }));\n try {\n observer.observe(options);\n }\n catch (_a) {\n // Some old browser versions (<= chrome 74 ) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to getEntriesByType and PerformanceObserver with entryTypes\n // TODO: remove this fallback in the next major version\n const fallbackSupportedEntryTypes = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n if (fallbackSupportedEntryTypes.includes(options.type)) {\n if (options.buffered) {\n timeoutId = setTimeout(() => handlePerformanceEntries(performance.getEntriesByType(options.type)));\n }\n try {\n observer.observe({ entryTypes: [options.type] });\n }\n catch (_b) {\n // Old versions of Safari are throwing \"entryTypes contained only unsupported types\"\n // errors when observing only unsupported entry types.\n //\n // We could use `supportPerformanceTimingEvent` to make sure we don't invoke\n // `observer.observe` with an unsupported entry type, but Safari 11 and 12 don't support\n // `Performance.supportedEntryTypes`, so doing so would lose support for these versions\n // even if they do support the entry type.\n return;\n }\n }\n }\n isObserverInitializing = false;\n manageResourceTimingBufferFull(configuration);\n let stopFirstInputTiming;\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT) &&\n options.type === RumPerformanceEntryType.FIRST_INPUT) {\n ;\n ({ stop: stopFirstInputTiming } = retrieveFirstInputTiming(configuration, (timing) => {\n handlePerformanceEntries([timing]);\n }));\n }\n return () => {\n observer.disconnect();\n if (stopFirstInputTiming) {\n stopFirstInputTiming();\n }\n clearTimeout(timeoutId);\n };\n });\n}\nlet resourceTimingBufferFullListener;\nfunction manageResourceTimingBufferFull(configuration) {\n if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n resourceTimingBufferFullListener = addEventListener(configuration, performance, 'resourcetimingbufferfull', () => {\n performance.clearResourceTimings();\n });\n }\n return () => {\n resourceTimingBufferFullListener === null || resourceTimingBufferFullListener === void 0 ? void 0 : resourceTimingBufferFullListener.stop();\n };\n}\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}\nfunction filterRumPerformanceEntries(entries) {\n return entries.filter((entry) => !isForbiddenResource(entry));\n}\nfunction isForbiddenResource(entry) {\n return (entry.entryType === RumPerformanceEntryType.RESOURCE &&\n (!isAllowedRequestUrl(entry.name) || !hasValidResourceEntryDuration(entry)));\n}\n//# sourceMappingURL=performanceObservable.js.map","import { matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout } from '@datadog/browser-core';\nimport { createPerformanceObservable, RumPerformanceEntryType } from '../browser/performanceObservable';\n// Delay to wait for a page activity to validate the tracking process\nexport const PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport const 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, windowOpenObservable, configuration, pageActivityEndCallback, maxDuration) {\n const pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n let pageActivityEndTimeoutId;\n let hasCompleted = false;\n const validationTimeoutId = setTimeout(monitor(() => complete({ hadActivity: false })), PAGE_ACTIVITY_VALIDATION_DELAY);\n const maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(() => complete({ hadActivity: true, end: timeStampNow() })), maxDuration)\n : undefined;\n const pageActivitySubscription = pageActivityObservable.subscribe(({ isBusy }) => {\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n const lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(() => complete({ hadActivity: true, end: lastChangeTime })), PAGE_ACTIVITY_END_DELAY);\n }\n });\n const stop = () => {\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 };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration) {\n return new Observable((observable) => {\n const subscriptions = [];\n let firstRequestIndex;\n let pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), windowOpenObservable.subscribe(notifyPageActivity), createPerformanceObservable(configuration, { type: RumPerformanceEntryType.RESOURCE }).subscribe((entries) => {\n if (entries.some((entry) => !isExcludedUrl(configuration, entry.name))) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(6 /* LifeCycleEventType.REQUEST_STARTED */, (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(7 /* LifeCycleEventType.REQUEST_COMPLETED */, (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 return () => {\n subscriptions.forEach((s) => 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}\n//# sourceMappingURL=waitPageActivityEnd.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 const 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 let 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 { DefaultPrivacyLevel } from '@datadog/browser-core';\nimport { isElementNode, getParentNode, isTextNode } from '../browser/htmlDomUtils';\nexport const 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 const PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport const PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport const PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport const PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport const PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport const PRIVACY_CLASS_PREFIX = 'dd-privacy-';\n// Private Replacement Templates\nexport const CENSORED_STRING_MARK = '***';\nexport const CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport const 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};\nconst 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 const parentNode = getParentNode(node);\n const parentNodePrivacyLevel = parentNode\n ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel, cache)\n : defaultPrivacyLevel;\n const selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n const 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 const 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 const autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year/new-password/current-password]\n if (autocomplete && (autocomplete.startsWith('cc-') || autocomplete.endsWith('-password'))) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (node.matches(getPrivacySelector(NodePrivacyLevel.HIDDEN))) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (node.matches(getPrivacySelector(NodePrivacyLevel.MASK))) {\n return NodePrivacyLevel.MASK;\n }\n if (node.matches(getPrivacySelector(NodePrivacyLevel.MASK_USER_INPUT))) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (node.matches(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 const 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 const censorText = (text) => 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 const parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n let textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n const nodePrivacyLevel = parentNodePrivacyLevel;\n const 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 //