{"version":3,"mappings":"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","names":["bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","obj","allOwnKeys","i","l","keys","len","key","findKey","_key","_global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","a","b","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","data","cb","asap","utils$4","AxiosError","message","code","config","request","response","utils","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","h","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","e","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$3","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","composeSignals$1","streamChunk","chunk","chunkSize","pos","end","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","getBodyLength","body","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","c","CancelToken$1","spread","callback","isAxiosError","payload","HttpStatusCode","HttpStatusCode$1","createInstance","defaultConfig","instance","axios","promises","_typeof","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_extends","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","o","p","_isNativeReflectConstruct","_assertThisInitialized","_possibleConstructorReturn","call","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","Channel","event","EventFormatter","namespace","isConstructor","PusherChannel","_Channel","_super","pusher","_this","_this2","formattedEvent","PusherPrivateChannel","_PusherChannel","eventName","PusherEncryptedPrivateChannel","PusherPresenceChannel","_PusherPrivateChannel","k","member","SocketIoChannel","socket","channel","_this3","SocketIoPrivateChannel","_SocketIoChannel","SocketIoPresenceChannel","_SocketIoPrivateChann","members","NullChannel","NullPrivateChannel","_NullChannel","NullEncryptedPrivateChannel","NullPresenceChannel","_NullPrivateChannel","Connector","selector","PusherConnector","_Connector","channels","SocketIoConnector","io","NullConnector","Echo","_channel","next","originalOptions","xhr","_this4","root","factory","module","modules","installedModules","__webpack_require__","moduleId","exports","getter","mode","ns","object","property","__extends","extendStatics","d","__","INVALID_BYTE","Coder","_paddingCharacter","out","left","paddingLength","op","haveBad","v0","v1","v2","v3","stdCoder","decode","URLSafeCoder","urlSafeCoder","encodeURLSafe","decodeURLSafe","INVALID_UTF16","INVALID_UTF8","encodedLength","chars","n1","n2","n3","__webpack_exports__","ScriptReceiverFactory","prefix","number","called","callbackWrapper","receiver","ScriptReceivers","Defaults","dependency_loader_DependencyLoader","runtime","successCallback","wasSuccessful","cdn","DependenciesReceivers","Dependencies","urlStore","url_store","urlPrefix","urlObj","AuthRequestType","BadEventName","msg","BadChannelName","RequestTimedOut","TransportPriorityTooLow","TransportClosed","UnsupportedFeature","UnsupportedTransport","UnsupportedStrategy","HTTPAuthError","xhr_auth","query","authOptions","authRequestType","headerName","dynamicHeaders","suffix","btoa","utob","fromCharCode","b64chars","cb_utob","cc","u","cb_encode","ccc","padlen","ord","Timer","set","clear","delay","abstract_timer","timers_clearTimeout","timers_clearInterval","timers_OneOffTimer","timers_PeriodicTimer","Util","boundArguments","util","sources","extensions","stringify","safeJSONStringify","arrayIndexOf","array","item","nativeIndexOf","objectApply","values","apply","map","mapObject","filterObject","flatten","any","collections_all","encodeParamsObject","buildQueryString","decycleObject","objects","paths","derez","nu","logger_Logger","defaultLoggingFunction","core_pusher","logger","jsonp","callbackName","document","script","callback_name","jsonp_auth","ScriptRequest","src","errorString","jsonp_request_JSONPRequest","getAgent","sender","useTLS","scheme","jsonp_timeline_jsonp","jsonp_timeline","getGenericURL","baseScheme","host","getGenericPath","queryString","ws","http","sockjs","callback_registry_CallbackRegistry","prefixedEventName","names","binding","dispatcher_Dispatcher","failThrough","metadata","transport_connection_TransportConnection","hooks","priority","closeEvent","transport_Transport","environment","WSTransport","httpConfiguration","streamingConfiguration","pollingConfiguration","xhrConfiguration","XHRStreamingTransport","XHRPollingTransport","Transports","transports","SockJSTransport","xdrConfiguration","yes","XDRStreamingTransport","XDRPollingTransport","transports_transports","net_info_NetInfo","net_info_Network","assistant_to_the_transport_manager_AssistantToTheTransportManager","manager","transport","connection","openTimestamp","onOpen","onClosed","lifespan","Protocol","messageEvent","messageData","pusherEventData","pusherEvent","protocol_protocol","connection_Connection","listeners","unbindListeners","action","handshake_Handshake","timeline_sender_TimelineSender","timeline","channel_Channel","socketId","private_channel_PrivateChannel","members_Members","subscriptionData","memberData","__awaiter","_arguments","P","generator","adopt","step","presence_channel_PresenceChannel","authData","channelData","addedMember","removedMember","utf8","base64","encrypted_channel_EncryptedChannel","nacl","sharedSecret","cipherText","nonce","raw","connection_manager_ConnectionManager","Network","handshake","errorCallbacks","withErrorEmitted","newState","previousState","newStateDescription","channels_Channels","createChannel","errMsg","Factory","transport_manager_TransportManager","sequential_strategy_SequentialStrategy","strategies","minPriority","current","runner","tryNextStrategy","strategy","best_connected_ever_strategy_BestConnectedEverStrategy","connect","runners","allRunnersFailed","callbackBuilder","rs","abortRunner","websocket_prioritized_cached_strategy_WebSocketPrioritizedCachedStrategy","usingTLS","info","fetchTransportCache","cacheSkipCount","startTimestamp","flushTransportCache","storeTransportCache","getTransportCacheKey","storage","serializedCache","latency","delayed_strategy_DelayedStrategy","IfStrategy","trueBranch","falseBranch","branch","FirstConnectedStrategy","testSupportsStrategy","getDefaultStrategy","baseOptions","defineTransport","definedTransports","defineTransportStrategy","ws_options","wss_options","sockjs_options","timeouts","ws_manager","streaming_manager","ws_transport","wss_transport","sockjs_transport","xhr_streaming_transport","xdr_streaming_transport","xhr_polling_transport","xdr_polling_transport","ws_loop","wss_loop","sockjs_loop","streaming_loop","polling_loop","http_loop","http_fallback_loop","wsStrategy","default_strategy","transport_connection_initializer","http_xdomain_request_hooks","xdr","http_xdomain_request","MAX_BUFFER_LENGTH","http_request_HTTPRequest","buffer","unreadData","endOfLinePosition","State","autoIncrement","http_socket_HTTPSocket","randomNumber","randomString","getLocation","getUniqueURL","getSendURL","wasClean","replaceHost","parts","session","separator","hostname","urlParts","max","http_socket","http_streaming_socket_hooks","http_streaming_socket","http_polling_socket_hooks","http_polling_socket","http_xhr_request_hooks","http_xhr_request","HTTP","http_http","web_http_http","Runtime","PusherClass","initializeOnDocumentBody","documentProtocol","TimelineLevel","timeline_level","timeline_Timeline","level","sendfn","transport_strategy_TransportStrategy","failAttempt","connected","onInitialized","onError","serializedTransport","strategy_builder_Transports","strategy_builder_defineTransport","transportClass","enabled","strategy_builder_UnsupportedStrategy","deferred","validateOptions","composeChannelQuery","dynamicParams","user_authenticator","channel_authorizer_composeChannelQuery","channel_authorizer","ChannelAuthorizerProxy","channelAuthorizerGenerator","deprecatedAuthorizerOptions","getConfig","getEnableStatsConfig","getHttpHost","shouldUseTLS","getWebsocketHost","buildUserAuthenticator","buildChannelAuthorizer","getWebsocketHostFromCluster","cluster","userAuthentication","buildChannelAuth","channelAuthorization","watchlist_WatchlistFacade","watchlistEvent","flatPromise","rej","flat_promise","user_UserFacade","previous","ensure_subscribed","setDone","pusher_Pusher","t","app_key","checkAppKey","getStrategy","internal","timelineSender","event_name","channelName","channel_name","ConsoleApiName","globalConsole","originalConsoleMethods","PREFIX","display","catchUserErrors","errorMsg","_i","ExperimentalFeature","enabledExperimentalFeatures","addExperimentalFeatures","enabledFeatures","flag","isExperimentalFeatureEnabled","featureName","getExperimentalFeatures","performDraw","round","num","decimals","isPercentage","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","relativeToClocks","relative","getCorrectedTimeStamp","relativeTime","correctedOrigin","dateNow","getNavigationStart","addDuration","getTimeStamp","currentDrift","toServerDuration","duration","timeStampNow","relativeNow","clocksNow","clocksOrigin","elapsed","start","getRelativeTime","looksLikeRelativeTime","time","navigationStart","ONE_KIBI_BYTE","ONE_MEBI_BYTE","HAS_MULTI_BYTES_CHARACTERS","computeBytesCount","candidate","concatBuffers","buffers","offset","buffers_1","includes","search","arrayFrom","arrayLike","find","predicate","findLast","list","objectValues","objectEntries","startsWith","elementMatches","element","cssEscape","ch","asCodePoint","assign","toAssign","shallowClone","objectHasValue","isEmptyObject","mapValues","newObject","_a","getGlobalObject","globalObject","getZoneJsOriginalValue","browserWindow","original","__spreadArray","this","to","from","pack","ar","onMonitorErrorCollected","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","monitor","callMonitored","displayIfDebugEnabled","setTimeout","clearTimeout","timeoutId","setInterval","clearInterval","Observable","onFirstSubscribe","f","other","observer","mergeObservables","observables","globalObservable","subscriptions","observable","subscription","wait","needLeadingExecution","needTrailingExecution","inWaitPeriod","pendingExecutionWithParameters","pendingTimeoutId","parameters","generateUUID","placeholder","findCommaSeparatedValue","rawString","regex","safeTruncate","lastChar","isLastCharSurrogatePair","correctedLength","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","browserIsIE","isIE","browserIsChromium","isChromium","browserIsSafari","isSafari","setCookie","expireDelay","date","sameSite","getCookie","deleteCookie","areCookiesAuthorized","testCookieName","testCookieValue","isCookieCorrectlySet","getCurrentSiteCache","getCurrentSite","domainLevels","candidateDomain","SESSION_STORE_KEY","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","isSessionInExpiredState","expandSessionState","toSessionString","toSessionState","sessionString","isValidSessionString","entry","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","deleteSessionCookie","LOCAL_STORAGE_TEST_KEY","selectLocalStorageStrategy","testKey","retrievedId","initLocalStorageStrategy","persistInLocalStorage","retrieveSessionFromLocalStorage","clearSessionFromLocalStorage","sessionState","LOCK_RETRY_DELAY","LOCK_MAX_TRIES","bufferedOperations","ongoingOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","isLockEnabled","retrieveSession","persistSession","clearSession","currentLock","currentSession","retryLater","processedSession","sessionStore","currentNumberOfRetries","nextOperations","STORAGE_POLL_DELAY","selectSessionStoreStrategyType","sessionStoreStrategyType","startSessionStore","productKey","computeSessionState","renewObservable","expireObservable","watchSessionTimeoutId","watchSession","sessionCache","retrieveActiveSession","expandOrRenewSession","isTracked","synchronizedSession","synchronizeSession","expandOrRenewSessionState","hasSessionInCache","renewSessionInCache","expandSession","isActiveSession","isSessionInCacheOutdated","expireSessionInCache","trackingType","jsonStringify","replacer","space","restoreObjectPrototypeToJson","detachToJsonMethod","restoreArrayPrototypeToJson","restoreValuePrototypeToJson","restoreValueToJson","objectToJson","normalizeUrl","buildUrl","getLocationOrigin","isValidUrl","getOrigin","getLinkElementOrigin","getPathName","pathname","base","supportedURL","getSupportedUrl","doc","anchorElement","baseElement","originalURL","isURLSupported","sanitizedHost","INTAKE_SITE_STAGING","INTAKE_SITE_US1","INTAKE_SITE_EU1","INTAKE_SITE_AP1","INTAKE_SITE_US1_FED","ENDPOINTS","INTAKE_TRACKS","createEndpointBuilder","endpointType","configurationTags","buildUrlWithParameters","createEndpointUrlWithParametersBuilder","api","buildEndpointParameters","proxy","proxyUrl","normalizedProxyUrl_1","buildEndpointHost","normalizedProxyUrl_2","site","internalAnalyticsSubdomain","domainParts","extension","subdomain","_b","clientToken","retry","flushReason","encoding","tags","TAG_SIZE_LIMIT","buildTags","configuration","env","service","datacenter","buildTag","FORBIDDEN_CHARACTERS","valueSizeLimit","sanitizedValue","computeTransportConfiguration","endpointBuilders","computeEndpointBuilders","intakeUrlPrefixes","builder","replicaConfiguration","computeReplicaConfiguration","intakeEndpoint","replicaEndpointBuilders","DefaultPrivacyLevel","validateAndBuildConfiguration","_c","sessionSampleRate","serializeConfiguration","UNKNOWN_FUNCTION","computeStackTrace","ex","stackProperty","tryToGetString","exString","stackFrame","parseChromeLine","parseChromeAnonymousLine","parseWinLine","parseGeckoLine","fileUrl","filePosition","CHROME_LINE_RE","CHROME_EVAL_RE","isNative","isEval","submatch","CHROME_ANONYMOUS_FUNCTION_RE","WINJS_LINE_RE","GECKO_LINE_RE","GECKO_EVAL_RE","instrumentMethod","instrumentationFactory","instrumentation","instrumentationWrapper","instrumentMethodAndCallOriginal","before","after","instrumentSetter","originalDescriptor","thisObject","ERROR_TYPES_RE","startUnhandledErrorCollection","stopInstrumentingOnError","instrumentOnError","stopInstrumentingOnUnhandledRejection","instrumentUnhandledRejection","messageObj","column","errorObj","stackTrace","tryToParseMessage","name_1","SANITIZE_DEFAULT_MAX_CHARACTER_COUNT","JSON_PATH_ROOT_ELEMENT","KEY_DECORATION_LENGTH","sanitize","maxCharacterCount","containerQueue","visitedObjectsWithPath","sanitizedData","sanitizeProcessor","accumulatedCharacterCount","warnOverCharacterLimit","containerToProcess","separatorLength","targetData","parentPath","queue","sourceToSanitize","tryToApplyToJSON","sanitizePrimitivesAndFunctions","sanitizedSource","sanitizeObjects","sourceAsObject","currentPath","changeType","NO_ERROR_STACK_PRESENT_MESSAGE","computeRawError","originalError","handlingStack","startClocks","nonErrorPrefix","handling","isErrorInstance","computeMessage","hasUsableStack","toStackTraceString","causes","flattenErrorCauses","fingerprint","tryToGetFingerprint","formatErrorMessage","frame","func","createHandlingStack","internalFramesToSkip","formattedStack","parentSource","currentError","ErrorSource","trackRuntimeError","errorObservable","makePublicApi","stub","publicApi","defineGlobal","global","existingGlobalVariable","addEventListener","eventTarget","addEventListeners","eventNames","once","capture","passive","listenerWithMonitor","stop","add","remove","RawReportType","initReportObservable","apis","createCspViolationReportObservable","reportTypes","createReportObservable","handleReports","reports","report","buildRawReportFromReport","buildRawReportFromCspViolation","buildStack","sourceFile","lineNumber","columnNumber","sendToExtension","getType","mergeInto","destination","circularReferenceChecker","createCircularReferenceChecker","flags","merged_1","deepClone","combine","sources_1","set_1","has","TelemetryType","ALLOWED_FRAME_URLS","TELEMETRY_EXCLUDED_SITES","telemetryConfiguration","onRawTelemetryEventCollected","startTelemetry","telemetryService","contextProvider","runtimeEnvInfo","getRuntimeEnvInfo","rawEvent","event_1","toTelemetryEvent","addTelemetryError","provider","isTelemetryReplicationAllowed","addTelemetryDebug","addTelemetry","formatError","addTelemetryConfiguration","scrubCustomerFrames","allowedFrameUrl","END_OF_TIMES","CLEAR_OLD_VALUES_INTERVAL","ValueHistory","maxEntries","startTime","endTime","latestEntry","oldTimeThreshold","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","startSessionManager","sessionContextHistory","buildSessionContext","trackActivity","trackVisibility","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","canUseBeacon","beaconUrl","isQueued","reportBeaconError","xhrUrl","sendXHR","hasReportedBeaconError","canUseKeepAlive","isKeepAliveSupported","fetchUrl","getEventBridge","eventBridgeGlobal","getEventBridgeGlobal","eventType","canUseEventBridge","currentHost","bridge","allowedHost","PageExitReason","createPageExitObservable","pagehideEnabled","stopListeners","stopBeforeUnloadListener","isPageExitReason","Batch","flushController","messageBytesLimit","messages","processedMessage","messageBytesCount","separatorBytesCount","removedMessage","createFlushController","messagesLimit","durationLimit","pageExitObservable","sessionExpireObservable","pageExitSubscription","sessionExpireSubscription","flushObservable","currentBytesCount","currentMessagesCount","messagesCount","cancelDurationLimitTimeout","durationLimitTimeoutId","scheduleDurationLimitTimeout","startBatchWithReplica","primary","replica","primaryBatch","createBatch","replicaBatch","replicated","AbstractLifeCycle","eventCallbacks","createEventRateLimiter","limit","onLimitReached","eventCount","allowNextEvent","runOnReadyState","expectedReadyState","xhrObservable","xhrContexts","initXhrObservable","createXhrObservable","stopInstrumentingStart","openXhr","stopInstrumentingSend","sendXhr","stopInstrumentingAbort","abortXhr","startContext","hasBeenReported","stopInstrumentingOnReadyStateChange","onEnd","unsubscribeLoadEndListener","completeContext","fetchObservable","initFetchObservable","createFetchObservable","originalFetch","input","init","responsePromise","beforeSend","afterSend","reportFetch","consoleObservablesByApi","initConsoleObservable","consoleObservables","createConsoleObservable","originalConsoleApi","buildConsoleLog","param","formatConsoleParameters","firstErrorParam","BUFFER_LIMIT","BoundedBuffer","CUSTOMER_DATA_BYTES_LIMIT","CustomerDataLabel","warnIfCustomerDataLimitReached","customerDataType","BYTES_COMPUTATION_THROTTLING_DELAY","createContextManager","computeBytesCountImpl","bytesCountCache","alreadyWarned","changeObservable","computeBytesCountThrottled","contextManager","newContext","CONTEXT_STORE_KEY_PREFIX","storageListeners","createStoredContextManager","storageKey","buildStorageKey","synchronizeWithStorage","dumpToStorage","rawContext","readBytesFromStream","chunks","readBytesCount","readMore","onDone","limitExceeded","completeBuffer_1","offset_1","SYNTHETICS_TEST_ID_COOKIE_NAME","SYNTHETICS_RESULT_ID_COOKIE_NAME","SYNTHETICS_INJECTS_RUM_COOKIE_NAME","willSyntheticsInjectRum","getSyntheticsTestId","getSyntheticsResultId","sanitizeUser","newUser","user","checkUser","isValid","isMatchOption","itemType","matchList","useStartsWith","isTracingOption","expectedItem","clearTracingIfNeeded","startTracer","sessionManager","injectHeadersIfTracingAllowed","tracingHeaders","headers_1","inject","isTracingSupported","tracingOption","TraceIdentifier","makeTracingHeaders","getCrypto","traceId","spanId","traceSampled","propagatorTypes","propagatorType","radix","high","low","mod","validateAndBuildRumConfiguration","_d","_e","_f","premiumSampleRate","traceSampleRate","allowedTracingUrls","validateAndBuildTracingOptions","baseConfiguration","trackUserInteractions","trackFrustrations","tracingOptions_1","tracingOptions_2","legacyMatchOption","convertLegacyMatchOptionToTracingOption","getSelectedTracingPropagators","usedTracingPropagators","serializeRumConfiguration","baseSerializedConfiguration","buildCommonContext","globalContextManager","userContextManager","recorderApi","RUM_STORAGE_KEY","makeRumPublicApi","startRumImpl","ignoreInitIfSyntheticsWillInjectRum","isAlreadyInitialized","getInternalContextStrategy","getInitConfigurationStrategy","stopSessionStrategy","getSessionReplayLinkStrategy","bufferApiCalls","addTimingStrategy","startViewStrategy","addActionStrategy","commonContext","addErrorStrategy","providedError","addFeatureFlagEvaluationStrategy","initRum","eventBridgeAvailable","overrideInitConfigurationForBridge","canInitRum","doStartRum","beforeInitCalls","initialViewOptions","beforeInitGlobalContext","beforeInitUserContext","startRumResults","startView","sanitizedOptions","rumPublicApi","sanitizedProperty","createDOMMutationObservable","MutationObserver","getMutationObserverConstructor","patchedInstance","originalInstance","FAKE_INITIAL_DOCUMENT","RESOURCE_TYPES","initiatorType","computeResourceKind","timing","RESOURCE_TYPES_1","isType","areInOrder","numbers","isRequestKind","computePerformanceResourceDuration","responseEnd","computePerformanceResourceDetails","validEntry","toValidEntry","fetchStart","redirectStart","redirectEnd","domainLookupStart","domainLookupEnd","connectStart","secureConnectionStart","connectEnd","requestStart","responseStart","details","formatTiming","hasRedirection","computeSize","isAllowedRequestUrl","isTextNode","node","isCommentNode","isElementNode","isNodeShadowHost","isNodeShadowRoot","shadowRoot","hasChildNodes","forEachChildNodes","getParentNode","INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD","getDocumentTraceId","getDocumentTraceDataFromMeta","getDocumentTraceDataFromComment","traceIdMeta","traceTimeMeta","createDocumentTraceData","comment","findTraceComment","rawTraceTime","traceTime","getTraceCommentFromNode","RumPerformanceEntryType","supportPerformanceObject","supportPerformanceTimingEvent","entryType","startPerformanceCollection","lifeCycle","retrieveInitialDocumentResourceTiming","handleRumPerformanceEntries","performanceEntries_1","handlePerformanceEntryList_1","entries","mainEntries","experimentalEntries","mainObserver","retrieveNavigationTiming","retrieveFirstInputTiming","forcedAttributes","navigationEntry","relativePerformanceTiming","computeRelativePerformanceTiming","sendFakeTiming","startTimeStamp","timingSent","removeEventListeners","evt","sendTimingIfPointerIsNotCancelled","sendTiming","numberKey","timingElement","rumPerformanceEntries","rumAllowedPerformanceEntries","isIncompleteNavigation","isForbiddenResource","getSyntheticsContext","testId","resultId","getCiTestContext","testExecutionId","limitModification","modifiableFieldPaths","modifier","clone","fieldPath","fieldType","newValue","get","newType","field","isValidObjectContaining","fields","isValidObject","VIEW_MODIFIABLE_FIELD_PATHS","USER_CUSTOMIZABLE_FIELD_PATHS","modifiableFieldPathsByEvent","startRumAssembly","viewContexts","urlContexts","actionContexts","displayContext","eventRateLimiters","syntheticsContext","ciTestContext","rawRumEvent","domainContext","savedCommonContext","customerContext","viewContext","urlContext","actionId","rumContext","needToAssembleWithAction","serverRumEvent","shouldSend","rateLimitReached","startInternalContext","applicationId","LifeCycle","VIEW_CONTEXT_TIME_OUT_DELAY","startViewContexts","viewContextHistory","view","buildViewContext","endClocks","nextRequestIndex","startRequestCollection","tracer","trackXhr","trackFetch","getNextRequestIndex","waitForResponseToComplete","clonedResponse","trackEventCounts","isChildEvent","eventCounts","PAGE_ACTIVITY_VALIDATION_DELAY","PAGE_ACTIVITY_END_DELAY","waitPageActivityEnd","domMutationObservable","pageActivityEndCallback","maxDuration","pageActivityObservable","createPageActivityObservable","doWaitPageActivityEnd","pageActivityEndTimeoutId","hasCompleted","validationTimeoutId","complete","maxDurationTimeoutId","pageActivitySubscription","isBusy","lastChangeTime","firstRequestIndex","pendingRequestsCount","notifyPageActivity","isExcludedUrl","startEvent","stopTrackingWindowOpen","trackWindowOpen","requestUrl","DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE","getActionNameFromElement","userProgrammaticAttribute","getActionNameFromElementProgrammatically","getActionNameFromElementForStrategies","priorityStrategies","fallbackStrategies","targetElement","programmaticAttribute","elementWithAttribute","supportsElementClosest","truncate","normalizeWhitespace","supportsLabelProperty","getTextualContent","label","labelledByAttribute","getElementById","MAX_PARENTS_TO_CONSIDER","recursionCounter","strategies_1","trimmedName","refElement","text_1","removeTextFromElements","element_1","textToReplace","supportsInnerTextScriptAndStyleRemoval","supportsLabelPropertyResult","supportsElementClosestResult","STABLE_ATTRIBUTES","GLOBALLY_UNIQUE_SELECTOR_GETTERS","getStableAttributeSelector","getIDSelector","UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS","getClassSelector","getTagNameSelector","getSelectorFromElement","actionNameAttribute","targetElementSelector","globallyUniqueSelector","findSelector","isSelectorUniqueGlobally","uniqueSelectorAmongChildren","isSelectorUniqueAmongSiblings","combineSelector","getPositionSelector","isGeneratedValue","className","getAttributeSelector","STABLE_ATTRIBUTES_1","attributeName","sibling","elementIndex","selectorGetters","childSelector","selectorGetters_1","selectorGetter","elementSelector","fullSelector","supportScopeSelector","parent","child","supportScopeSelectorCache","MAX_DURATION_BETWEEN_CLICKS","MAX_DISTANCE_BETWEEN_CLICKS","createClickChain","firstClick","onFinalize","bufferedClicks","maxDurationBetweenClicksTimeoutId","appendClick","click","tryFinalize","dontAcceptMoreClick","areEventsSimilar","second","mouseEventDistance","listenActionEvents","onPointerDown","onPointerUp","selectionEmptyAtPointerDown","userActivity","clickContext","isValidPointerEvent","isSelectionEmpty","localUserActivity_1","selection","MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE","computeFrustration","clicks","rageClick","isRage","isDead","hasSelectionChanged","DEAD_CLICK_EXCLUDE_SELECTOR","CLICK_ACTION_MAX_DURATION","ACTION_CONTEXT_TIME_OUT_DELAY","trackClickActions","history","stopObservable","currentClickChain","stopClickChain","stopActionEventsListener","pointerDownEvent","processPointerDown","getUserActivity","clickActionBase","hadActivityOnPointerDown","startClickAction","appendClickToClickChain","rageClick_1","finalizeClicks","computeClickActionBase","pageActivityEndEvent","newClick","stopWaitPageActivityEnd","viewEndedSubscription","stopSubscription","rect","historyEntry","eventCountsSubscription","activityEndTime","frustrationTypes","newActivityEndTime","frustrationType","domEvents","resourceCount","errorCount","longTaskCount","clickAction","startActionCollection","pageStateHistory","processAction","autoActionProperties","isAutoAction","actionEvent","trackConsoleError","consoleError","trackReportError","startErrorCollection","featureFlagContexts","doStartErrorCollection","processError","rawError","featureFlagContext","startLongTaskCollection","entries_1","matchRequestTiming","sameNameEntries","candidates","isBetween","errorMargin","startResourceCollection","processRequest","processResourceEntry","matchingTiming","correspondingTimingOverrides","computePerformanceEntryMetrics","tracingInfo","computeRequestTracingInfo","indexingInfo","computeIndexingInfo","computeRequestDuration","pageStateInfo","computePageStateInfo","resourceEvent","entryMetrics","computeEntryTracingInfo","hasBeenTraced","getRulePsr","resourceStart","requestCrossedFrozenState","pageState","mapToForegroundPeriods","pageStateServerEntries","foregroundPeriods","trackViewEventCounts","viewId","onChange","FCP_MAXIMUM_DELAY","trackFirstContentfulPaint","firstHidden","unsubscribeLifeCycle","fcpEntry","trackFirstInput","firstInputEntry","firstInputDelay","firstInputTargetSelector","trackNavigationTimings","LCP_MAXIMUM_DELAY","trackLargestContentfulPaint","firstInteractionTimestamp","stopEventListener","lcpEntry","lcpTargetSelector","trackFirstHidden","timeStamp","trackInitialViewMetrics","setLoadEvent","scheduleViewUpdate","initialViewMetrics","stopNavigationTracking","navigationTimings","stopFCPTracking","firstContentfulPaint","stopLCPTracking","largestContentfulPaint","stopFIDTracking","firstInput","trackCumulativeLayoutShift","isLayoutShiftSupported","maxClsValue","window","slidingSessionWindow","cls","clsTarget","cslTargetSelector","largestLayoutShift","largestLayoutShiftTarget","largestLayoutShiftTime","shouldCreateNewWindow","interactionCountEstimate","minKnownInteractionId","maxKnownInteractionId","initInteractionCountPolyfill","getInteractionCount","MAX_INTERACTION_ENTRIES","trackInteractionToNextPaint","viewStart","viewLoadingType","isInteractionToNextPaintSupported","getViewInteractionCount","trackViewInteractionCount","longestInteractions","trackLongestInteractions","interactionToNextPaint","interactionToNextPaintTargetSelector","telemetryCollected","newInteraction","sortAndTrimLongestInteractions","interactionIndex","interaction","minLongestInteraction","previousInteractionCount","trackLoadingTime","loadType","isWaitingForLoadEvent","isWaitingForActivityLoadingTime","loadingTimeCandidates","invokeCallbackIfAllCandidatesAreReceived","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","height","throttleDuration","notify","throttledNotify_1","observerTarget_1","resizeObserver_1","eventListener_1","trackCommonViewMetrics","loadingType","commonViewMetrics","newLoadingTime","stopLoadingTimeTracking","stopScrollMetricsTracking","newScrollMetrics","stopCLSTracking","cumulativeLayoutShift","stopINPTracking","getInteractionToNextPaint","THROTTLE_VIEW_UPDATE_PERIOD","SESSION_KEEP_ALIVE_INTERVAL","KEEP_TRACKING_AFTER_VIEW_DELAY","trackViews","location","locationChangeObservable","areViewsTrackedAutomatically","activeViews","currentView","startNewView","startViewLifeCycle","locationChangeSubscription","renewViewOnLocationChange","viewOptions","newlyCreatedView","newView","pageExitEvent","oldLocation","newLocation","areDifferentLocation","initialLocation","customTimings","documentVersion","sessionIsActive","triggerViewUpdate","cancelScheduleViewUpdate","stopCommonViewMetricsTracking","getCommonViewMetrics","stopInitialViewMetricsTracking","stopEventCountsTracking","keepAliveIntervalId","currentEnd","sanitizeTiming","sanitized","currentLocation","otherLocation","isHashAnAnchor","getPathFromHash","hash","correspondingId","startViewCollection","processViewUpdate","_g","_h","_j","_k","_l","_m","_o","_p","replayStats","pageStatesEnabled","pageStates","viewEvent","discardNegativeDuration","startRumSessionManager","rawTrackingType","isTypeTracked","plan","startRumSessionManagerStub","hasValidRumSession","rumSessionType","startRumBatch","telemetryEventObservable","batch","startRumEventBridge","URL_CONTEXT_TIME_OUT_DELAY","startUrlContexts","urlContextHistory","previousViewUrl","viewUrl","buildUrlContext","changeTime","referrer","createLocationChangeObservable","stopHistoryTracking","trackHistory","onLocationChange","stopHashTracking","trackHash","onHistoryChange","stopInstrumentingPushState","stopInstrumentingReplaceState","removeListener","onHashChange","FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY","startFeatureFlagContexts","cancelPendingComputation","currentContext","MEASURES_PERIOD_DURATION","currentPeriodMeasures","currentBatchMeasures","batchHasRumEvent","startCustomerDataTelemetry","telemetry","batchFlushObservable","customerDataTelemetryEnabled","initCurrentPeriodMeasures","initCurrentBatchMeasures","updateMeasure","hasFeatureFlagContext","mergeMeasure","sendCurrentPeriodMeasures","createMeasure","measure","MAX_PAGE_STATE_ENTRIES","MAX_PAGE_STATE_ENTRIES_SELECTABLE","PAGE_STATE_CONTEXT_TIME_OUT_DELAY","startPageStateHistory","maxPageStateEntriesSelectable","currentPageState","addPageState","getPageState","stopEventListeners","computePageState","nextPageState","eventStartTime","pageStateEntries","relativeStartTime","pageStateEntry","startDisplayContext","viewport","unsubscribeViewport","viewportDimension","startRum","cleanupTasks","startRumTelemetry","batch_1","startRumEventCollection","addAction","stopRumEventCollection","addTiming","stopViewCollection","addError","internalContext","task","bridge_1","getSessionReplayUrl","errorType","sessionId","getDatadogSiteUrl","rumConfiguration","getSiteDefaultSubdomain","RecordType","NodeType","IncrementalSource","MouseInteractionType","MediaInteractionType","assembleIncrementalSnapshot","NodePrivacyLevel","PRIVACY_ATTR_NAME","PRIVACY_ATTR_VALUE_ALLOW","PRIVACY_ATTR_VALUE_MASK","PRIVACY_ATTR_VALUE_MASK_USER_INPUT","PRIVACY_ATTR_VALUE_HIDDEN","PRIVACY_CLASS_ALLOW","PRIVACY_CLASS_MASK","PRIVACY_CLASS_MASK_USER_INPUT","PRIVACY_CLASS_HIDDEN","CENSORED_STRING_MARK","CENSORED_IMG_MARK","FORM_PRIVATE_TAG_NAMES","MAX_ATTRIBUTE_VALUE_CHAR_LENGTH","TEXT_MASKING_CHAR","getNodePrivacyLevel","defaultPrivacyLevel","parentNode","parentNodePrivacyLevel","selfNodePrivacyLevel","getNodeSelfPrivacyLevel","reducePrivacyLevel","childPrivacyLevel","privAttr","inputElement","autocomplete","shouldIgnoreElement","shouldMaskNode","privacyLevel","isFormElement","censorText","text","getTextContent","textNode","ignoreWhiteSpace","parentTagName","textContent","nodePrivacyLevel","isScript","relAttribute","getLowerCaseAttribute","nameAttribute","propertyAttribute","serializedNodeIds","hasSerializedNode","nodeAndAncestorsHaveSerializedNode","getSerializedNodeId","setSerializedNodeId","serializeNodeId","getElementInputValue","tagName","URL_IN_CSS_REF","ABSOLUTE_URL","DATA_URI","switchToAbsoluteUrl","cssText","cssHref","matchingSubstring","singleQuote","urlWrappedInSingleQuotes","doubleQuote","urlWrappedInDoubleQuotes","urlNotWrappedInQuotes","quote","makeUrlAbsolute","baseUrl","TAG_NAME_REGEX","getValidTagName","processedTagName","serializeStyleSheets","cssStyleSheets","cssStyleSheet","rules","cssRules","cssRule","styleSheet","serializeAttribute","attributeValue","serializeAttributes","safeAttrs","attribute","formValue","optionElement","stylesheet","getCssRulesString","mediaElement","scrollLeft","serializationContext","styleSheetCssText","getCssRuleStringForSafari","getCssRuleString","rule","isCSSStyleRule","escapeColon","isCSSImportRule","serializeNodeWithId","serializedNode","serializeNode","generateNextId","serializedNodeWithId","_nextId","serializeChildNodes","childNode","serializedChildNode","serializeDocumentNode","serializeDocumentFragmentNode","serializeDocumentTypeNode","serializeElementNode","serializeTextNode","serializeCDataNode","isShadowRoot","documentType","isSVG","isSVGElement","width","attributes","childNodes","childNodesSerializationOptions","serializeDocument","isTouchEvent","getEventTarget","TOLERANCE","isVisualViewportFactoredIn","visualViewport","convertMouseEventToLayoutCoordinates","clientX","clientY","getVisualViewport","MOUSE_MOVE_OBSERVER_THRESHOLD","initMoveObserver","updatePosition","coordinates","tryToComputeCoordinates","x","y","visualViewportX","visualViewportY","SCROLL_OBSERVER_THRESHOLD","initScrollObserver","elementsScrollPositions","scrollPositions","eventTypeToMouseInteraction","initMouseInteractionObserver","recordIds","handler","record","initInputObserver","lastInputStateMap","onElementChange","stopPropertySetterInstrumentation","instrumentationStoppers_1","stopper","inputState","cbWithDedup","lastInputState","initStyleSheetObserver","checkStyleSheetAndCallback","instrumentationStoppers","instrumentGroupingCSSRuleClass","getPathToNestedCSSRule","currentRule","rules_1","index_1","initMediaInteractionObserver","mediaInteractionCb","initFrustrationObserver","frustrationCb","VISUAL_VIEWPORT_OBSERVER_THRESHOLD","initViewportResizeObserver","initVisualViewportResizeObserver","cancelThrottle","MUTATION_PROCESS_MAX_DELAY","createMutationBatch","processMutationBatch","cancelScheduledFlush","pendingMutations","mutations","requestIdleCallback","id_1","initMutationObserver","mutationCallback","shadowRootsController","mutationBatch","processMutations","mutation","removedNode","traverseRemovedShadowDom","filteredMutations","processChildListMutations","adds","removes","hasBeenSerialized","texts","processCharacterDataMutations","processAttributesMutations","addedAndMovedNodes","removedNodes","_loop_1","mutations_1","sortedAddedAndMovedNodes","sortAddedAndMovedNodes","addedNodeMutations","sortedAddedAndMovedNodes_1","getNextSibling","removedNodeMutations","nextSibling","textMutations","handledNodes","filteredMutations_1","attributeMutations","handledElements","handledAttributes","emittedMutations","filteredMutations_2","uncensoredValue","transformedValue","inputValue","emittedMutation","nodes","shadowDomRemovedCallback","initFocusObserver","focusCb","initRecordIds","nextId","initObservers","mutationHandler","mousemoveHandler","mouseInteractionHandler","scrollHandler","viewportResizeHandler","inputHandler","mediaInteractionHandler","styleSheetObserver","focusHandler","visualViewportResizeHandler","frustrationHandler","createElementsScrollPositions","scrollPositionsByElement","initShadowRootsController","mutationCb","inputCb","controllerByShadowRoot","stopMutationObserver","stopInputObserver","emit","takeFullSnapshot","mouseInteractionRecord","positions","r","frustrationRecord","stopObservers","flushMutationsFromObservers","flushMutations","buildReplayPayload","rawSegmentBytesCount","metadataAndSegmentSizes","serializedMetadataAndSegmentSizes","MAX_STATS_HISTORY","statsPerView","getSegmentsCount","getOrCreateReplayStats","addSegment","addRecord","addWroteData","additionalBytesCount","getReplayStats","deleteOldestStats","isFirst_1","Segment","creationReason","replayStats.getSegmentsCount","replayStats.addSegment","replayStats.addRecord","replayStats.addWroteData","SEGMENT_DURATION_LIMIT","SEGMENT_BYTES_LIMIT","startSegmentCollection","httpRequest","doStartSegmentCollection","computeSegmentContext","getSegmentContext","unsubscribeViewCreated","flushSegment","unsubscribePageExited","segment","startRecording","replayRequest","stopSegmentCollection","stopRecording","takeSubsequentFullSnapshot","unsubscribeViewEnded","isBrowserSupported","getSessionReplayLink","isRecordingStarted","getErrorType","createDeflateEncoder","worker","streamId","rawBytesCount","compressedData","compressedDataTrailer","nextWriteActionId","pendingWriteActions","removeMessageListener","nextPendingAction","INITIALIZATION_TIME_OUT_DELAY","createDeflateWorker","startDeflateWorker","onInitializationFailure","createDeflateWorkerImpl","doStartDeflateWorker","getDeflateWorkerStatus","removeErrorListener_1","removeMessageListener_1","onTimeout","stop_1","isMessageCspRelated","baseMessage","makeRecorderApi","startRecordingImpl","startStrategy","stopStrategy","getReplayStatsImpl","datadogRum","initVars","Pusher","__viteBrowserExternal","makeMap","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","hasOwn","isMap","toTypeString","isSet","isSymbol","isPromise","objectToString","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","arg","def","writable","looseToNumber","n","toNumber","_globalThis","getGlobalThis","genCacheKey","GLOBALS_ALLOWED","isGloballyAllowed","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","normalizeClass","normalizeProps","klass","style","HTML_TAGS","SVG_TAGS","MATH_TAGS","VOID_TAGS","isHTMLTag","isSVGTag","isMathMLTag","isVoidTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","isRef","toDisplayString","val2","stringifySymbol","v","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","prev","removeDep","refreshComputed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","effect","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","depsMap","trigger","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","depMap","reactiveReadArray","toRaw","isShallow","toReactive","shallowReadArray","arrayInstrumentations","searchProxy","noTracking","reduce","comparer","wrapValue","iter","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","acc","isProxy","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","observed","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isReactive","markRaw","ref","createRef","shallowRef","RefImpl","useDirectValue","triggerRef","ref2","unref","toValue","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","newVal","customRef","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","TrackOpTypes","TriggerOpTypes","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","getCurrentWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","immediate","deep","scheduler","augmentJob","reactiveGetter","source2","traverse","boundCleanup","forceTrigger","isMultiSource","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","pushWarningContext","vnode","popWarningContext","assertNumber","ErrorCodes","ErrorTypeStrings$1","callWithErrorHandling","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","findInsertionIndex","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","flushPostFlushCbs","deduped","check","devtools$1","setDevtoolsHook$1","hook","newHook","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","withDirectives","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","TeleportEndKey","isTeleport","isTeleportDisabled","isTeleportDeferred","isTargetSVG","isTargetMathML","resolveTarget","select","targetSelector","TeleportImpl","container","anchor","parentComponent","parentSuspense","slotScopeIds","optimized","internals","mountChildren","patchChildren","patchBlockChildren","insert","querySelector","createText","createComment","disabled","shapeFlag","children","dynamicChildren","mainAnchor","mount","container2","anchor2","mountToTarget","targetAnchor","prepareAnchor","updateCssVars","queuePostRenderEffect","wasDisabled","currentContainer","currentAnchor","traverseStaticChildren","moveTeleport","nextTarget","unmount","hostRemove","doRemove","targetStart","shouldRemove","hydrateTeleport","parentAnchor","move","moveType","isReorder","hydrateChildren","targetNode","Teleport","isDisabled","leaveCbKey","enterCbKey","useTransitionState","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","recursiveGetSubtree","subTree","BaseTransitionImpl","slots","getCurrentInstance","getTransitionRawChildren","findNonCommentChild","rawProps","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","Comment","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","postClone","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","leavingVNode","afterHook","cancelHook","cancelled","vnode2","hooks2","isKeepAlive","cloneVNode","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","useId","markAsyncBoundary","useTemplateRef","refs","setRef","rawRef","oldRawRef","isUnmount","isAsyncWrapper","refValue","oldRef","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","existing","hasLoggedMismatchError","logMismatchError","isSVGContainer","isMathMLContainer","getContainerType","isComment","createHydrationFunctions","rendererInternals","mountComponent","patch","patchProp","hydrate","hydrateNode","isFragmentStart","onMismatch","handleMismatch","patchFlag","domType","nextNode","Text","isTemplateNode","replaceNode","Static","needToAdoptContent","hydrateFragment","hydrateElement","locateClosingAnchor","createVNode","createTextVNode","dirs","transition","forcePatch","needCallTransitionHooks","needTransition","isMismatchAllowed","clientText","isCustomElement","vnodeHooks","invokeVNodeHook","queueEffectWithSuspense","parentVNode","normalizeVNode","isText","fragmentSlotScopeIds","isFragment","next2","updateHOCHostEl","open","close","newNode","oldNode","parentNode2","allowMismatchAttr","MismatchTypeString","allowedType","allowedAttr","cancelIdleCallback","hydrateOnIdle","elementIsVisibleInViewport","top","bottom","right","innerHeight","innerWidth","hydrateOnVisible","ob","hydrateOnMediaQuery","mql","hydrateOnInteraction","interactions","hasHydrated","doHydrate","teardown","forEachElement","defineAsyncComponent","loader","loadingComponent","errorComponent","hydrateStrategy","suspensible","userOnError","pendingRequest","resolvedComp","retries","load","thisRequest","comp","currentInstance","createInnerComp","isInSSRComponentSetup","delayed","ce","KeepAliveImpl","sharedContext","_unmount","createElement","storageContainer","instance2","vnodeHook","invalidateMount","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","cached","include","exclude","pendingCacheKey","cacheSubtree","isSuspense","getInnerChild","onUpdated","suspense","da","rawVNode","isVNode","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","reset","setCurrentInstance","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","component","resolveDirective","warnMissing","Component","selfName","registry","renderList","renderItem","sourceIsArray","sourceIsReactiveArray","createSlots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","openBlock","createBlock","validSlotContent","ensureValidVNode","slotKey","rendered","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","instanceWatch","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","appContext","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","propsOptions","RuntimeCompiledPublicInstanceProxyHandlers","defineProps","defineEmits","defineExpose","exposed","defineOptions","defineSlots","defineModel","withDefaults","useSlots","getContext","useAttrs","createSetupContext","normalizePropsOrEmits","mergeDefaults","mergeModels","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","unsetCurrentInstance","applyOptions","publicThis","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","createWatcher","provides","provide","registerLifecycleHook","register","_hook","checkDuplicateProperties","normalizeInject","createPathGetter","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","mergeOptions","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","createAppContext","uid$1","createAppAPI","rootComponent","rootProps","installedPlugins","pluginCleanupFns","isMounted","app","plugin","mixin","directive","rootContainer","isHydrate","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","attrs","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","isEmitListener","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","hasExtends","extendProps","raw2","normalizedKey","validatePropName","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","hostInsert","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","moveStaticNode","removeStaticNode","mountElement","patchElement","resolveChildrenNamespace","setScopeId","scopeId","cloneIfMounted","oldProps","newProps","toggleRecurse","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","shouldUpdateComponent","updateComponentPreRender","componentUpdateFn","bu","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","renderComponentRoot","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","update","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","leave","delayLeave","afterLeave","remove2","performLeave","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","teleportEnd","isFlushing","currentNamespace","allowed","ch1","ch2","arrI","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","watchPostEffect","watchSyncEffect","baseWatchOptions","runsImmediately","ssrCleanup","watchStopHandle","isPre","isFirstRun","watch$1","segments","useModel","camelizedName","hyphenatedName","getModelModifiers","localValue","prevSetValue","prevEmittedValue","propValue","emittedValue","i2","modelName","rawArgs","handlerName","onceHandler","normalizeEmitsOptions","extendEmits","normalizedFromExtend","withProxy","renderCache","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","filterSingleRoot","recurse","singleRoot","prevChildren","nextProps","nextChildren","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","suspenseId","SuspenseImpl","mountSuspense","patchSuspense","hydrateSuspense","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","hiddenContainer","createSuspenseBoundary","setActiveBranch","newBranch","newFallback","activeBranch","pendingBranch","isInFallback","isHydrating","pendingId","parentSuspenseId","isSuspensible","isVNodeSuspensible","initialAnchor","resume","sync","effects","parentComponent2","delayEnter","hasUnresolvedAncestor","fallbackVNode","namespace2","mountFallback","optimized2","isInPendingSuspense","hydratedEl","asyncSetupResult","handleSetupResult","parentSuspense2","isSlotChildren","normalizeSuspenseSlot","block","trackBlock","isBlockTreeEnabled","currentBlock","closeBlock","disableTracking","inVOnce","setupBlock","createElementBlock","createBaseVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createStaticVNode","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","setupResult","setupStatefulComponent","setup","setupContext","isAsyncSetup","resolvedResult","finishComponentSetup","compile","installWithProxy","registerRuntimeCompiler","_compile","isRuntimeOnly","skipOptions","template","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","initCustomFormatter","withMemo","memo","isMemoSame","warn","ErrorTypeStrings","devtools","setDevtoolsHook","_ssrUtils","ssrUtils","resolveFilter","compatUtils","DeprecationTypes","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","templateContainer","nodeOps","tag","is","wrapper","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","TransitionPropsValidators","decorate$1","Transition","resolveTransitionProps","h2","hasExplicitCallback","baseProps","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","patchClass","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","initVShowForSSR","CSS_VAR_TEXT","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","patchDOMProp","attrName","needRemove","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","shouldSetAsProp","camelize$1","REMOVAL","defineCustomElement","_createApp","Comp","VueCustomElement","VueElement","initialProps","defineSSRCustomElement","createSSRApp","BaseClass","_def","_props","createApp","isAsync","numberProps","asyncDef","declaredPropKeys","shouldReflect","dispatch","slotName","outlets","walker","useHost","caller","useShadowRoot","useCssModule","positionMap","newPositionMap","moveCbKey","decorate","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","TransitionGroup","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","castToNumber","domValue","elValue","vModelCheckbox","modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","setSelected","_binding","isMultiple","isArrayValue","optionValue","optionType","vModelDynamic","callModelHook","resolveDynamicModel","initVModelForSSR","modelToUse","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","rendererOptions","renderer","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","ssrDirectiveInitialized","initDirectivesForSSR","FRAGMENT","TELEPORT","SUSPENSE","KEEP_ALIVE","BASE_TRANSITION","OPEN_BLOCK","CREATE_BLOCK","CREATE_ELEMENT_BLOCK","CREATE_VNODE","CREATE_ELEMENT_VNODE","CREATE_COMMENT","CREATE_TEXT","CREATE_STATIC","RESOLVE_COMPONENT","RESOLVE_DYNAMIC_COMPONENT","RESOLVE_DIRECTIVE","RESOLVE_FILTER","WITH_DIRECTIVES","RENDER_LIST","RENDER_SLOT","CREATE_SLOTS","TO_DISPLAY_STRING","MERGE_PROPS","NORMALIZE_CLASS","NORMALIZE_STYLE","NORMALIZE_PROPS","GUARD_REACTIVE_PROPS","TO_HANDLERS","CAMELIZE","CAPITALIZE","TO_HANDLER_KEY","SET_BLOCK_TRACKING","PUSH_SCOPE_ID","POP_SCOPE_ID","WITH_CTX","UNREF","IS_REF","WITH_MEMO","IS_MEMO_SAME","helperNameMap","registerRuntimeHelpers","locStub","createRoot","createVNodeCall","isBlock","isComponent","loc","getVNodeBlockHelper","getVNodeHelper","createArrayExpression","elements","createObjectExpression","properties","createObjectProperty","createSimpleExpression","isStatic","constType","createCompoundExpression","createCallExpression","callee","createFunctionExpression","returns","newline","isSlot","createConditionalExpression","consequent","alternate","createCacheExpression","needPauseTracking","createBlockStatement","ssr","convertToBlock","helper","removeHelper","inSSR","defaultDelimitersOpen","defaultDelimitersClose","isTagStartChar","isWhitespace","isEndOfTagSection","toCharCodes","Sequences","Tokenizer","cbs","newlineIndex","isEnd","endOfText","actualIndex","sequence","endIndex","cp","consumed","getCompatValue","compatConfig","isCompatEnabled","checkCompatEnabled","defaultOnError","defaultOnWarn","createCompilerError","additionalMessage","isStaticExp","isCoreComponent","nonIdentifierRE","isSimpleIdentifier","validFirstIdentCharRE","validIdentCharRE","whitespaceRE","getExpSource","exp","isMemberExpressionBrowser","stateStack","currentOpenBracketCount","currentOpenParensCount","currentStringType","isMemberExpression","fnExpRE","isFnExpressionBrowser","isFnExpression","findDir","allowEmpty","findProp","dynamicOnly","isStaticArgOf","hasDynamicKeyVBind","isText$1","isVSlot","isSlotOutlet","propsHelperSet","getUnnormalizedProps","callPath","injectProp","propsWithInjection","parentCall","hasProp","propKeyName","toValidAssetId","searchValue","replaceValue","getMemoedVNodeCall","forAliasRE","defaultParserOptions","currentOptions","currentRoot","currentInput","currentOpenTag","currentProp","currentAttrValue","currentAttrStartIndex","currentAttrEndIndex","inPre","inVPre","currentVPreBoundary","tokenizer","emitError","onText","getSlice","innerStart","innerEnd","addNode","createExp","getLoc","endOpenTag","onCloseTag","backTrack","dirToAttr","setLocEnd","condense","expParseMode","parseForExpression","syncIndex","forIteratorRE","stripParensRE","inMatch","LHS","RHS","createAliasExpression","asParam","valueContent","trimmedOffset","iteratorMatch","keyContent","keyOffset","indexContent","lastNode","isImplied","lookAhead","isFragmentTemplate","condenseWhitespace","inlineTemplateProp","specialTemplateDir","isUpperCase","windowsNewlineRE","shouldCondense","removedWhitespace","isAllWhitespace","hasNewlineChar","prevCharIsWhitespace","cloneLoc","attr","parseMode","baseParse","cacheStatic","walk","isSingleElementRoot","doNotHoistNode","inFor","toCache","constantType","getConstantType","codegenNode","getGeneratedPropsConstantType","getNodeProps","cachedAsArray","getCacheExpression","getSlotNode","node2","constantCache","returnType2","generatedPropsType","childType","expType","returnType","allowHoistedHelperSet","getConstantTypeOfHelperCall","keyType","valueType","createTransformContext","filename","prefixIdentifiers","hoistStatic","hmr","cacheHandlers","nodeTransforms","directiveTransforms","transformHoist","isBuiltInComponent","expressionPlugins","slotted","ssrCssVars","bindingMetadata","inline","isTS","onWarn","nameMatch","count","currentCount","removalIndex","identifier","cacheExp","transform","traverseNode","createRootCodegen","traverseChildren","nodeRemoved","exitFns","onExit","createStructuralDirectiveTransform","PURE_ANNOTATION","aliasHelper","createCodegenContext","ast","sourceMap","optimizeImports","runtimeGlobalName","runtimeModuleName","ssrRuntimeModuleName","withoutNewLine","generate","push","indent","deindent","hasHelpers","useWithBlock","genFunctionPreamble","functionName","signature","genAssets","genNode","VueBinding","staticHelpers","genHoists","assets","resolver","hoists","genNodeListAsArray","multilines","genNodeList","comma","genText","genExpression","genInterpolation","genCompoundExpression","genComment","genVNodeCall","genCallExpression","genObjectExpression","genArrayExpression","genFunctionExpression","genConditionalExpression","genCacheExpression","pure","genExpressionAsPropertyKey","patchFlagString","callHelper","genNullableArgs","needNewline","needsParens","isNested","needArraySpread","transformIf","processIf","ifNode","isRoot","siblings","createCodegenNodeForBranch","parentCondition","getParentCondition","processCodegen","createIfBranch","isTemplateIf","keyIndex","createChildrenCodegenNode","keyProperty","firstChild","vnodeCall","transformBind","_node","transformBindShorthand","injectPrefix","propName","transformFor","processFor","forNode","renderExp","isTemplate","keyProp","keyExp","isStableFragment","fragmentFlag","childBlock","needFragmentWrapper","slotOutlet","loop","createForLoopParams","parseResult","finalizeForParseResult","addIdentifiers","removeIdentifiers","scopes","memoArgs","createParamsList","defaultFallback","trackSlotScopes","vSlot","buildClientSlotFn","_vForExp","buildSlots","buildSlotFn","slotsProperties","hasDynamicSlots","onComponentSlot","hasTemplateSlots","hasNamedDefaultSlot","implicitDefaultChildren","seenSlotNames","conditionalBranchIndex","slotElement","slotDir","slotChildren","slotLoc","slotProps","dirLoc","staticSlotName","vFor","slotFunction","vIf","vElse","buildDynamicSlot","conditional","buildDefaultSlotProperty","children2","isNonWhitespaceContent","hasForwardedSlots","directiveImportMap","transformElement","vnodeTag","resolveComponentType","isDynamicComponent","vnodeProps","vnodeChildren","vnodeDynamicProps","dynamicPropNames","vnodeDirectives","shouldUseBlock","propsBuildResult","buildProps","buildDirectiveArgs","hasDynamicTextChild","stringifyDynamicPropNames","isExplicitDynamic","isComponentTag","isProp","builtIn","elementLoc","mergeArgs","runtimeDirectives","hasChildren","hasRef","hasClassBinding","hasStyleBinding","hasHydrationEventBinding","hasDynamicKeys","hasVnodeHook","pushMergeArg","dedupeProperties","pushRefVForMarker","analyzePatchFlag","isEventHandler","nameLoc","isVBind","isVOn","directiveTransform","props2","needRuntime","propsExpression","classKeyIndex","styleKeyIndex","hasDynamicKey","classProp","styleProp","knownProps","dirArgs","trueExpression","propsNamesString","transformSlotOutlet","processSlotOutlet","slotArgs","expectedLen","nonNameProps","transformOn","augmentor","eventString","shouldCache","isMemberExp","isInlineStatement","hasMultipleStatements","transformText","hasText","callArgs","seen$1","transformOnce","transformModel","createTransformProps","rawExp","expString","bindingType","maybeRef","assignmentExp","eventArg","modifiersKey","validDivisionCharRE","transformFilter","rewriteFilter","parseFilter","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","expression","pushFilter","wrapFilter","transformMemo","getBaseTransformPreset","baseCompile","isModuleMode","resolvedOptions","noopDirectiveTransform","V_MODEL_RADIO","V_MODEL_CHECKBOX","V_MODEL_TEXT","V_MODEL_SELECT","V_MODEL_DYNAMIC","V_ON_WITH_MODIFIERS","V_ON_WITH_KEYS","V_SHOW","TRANSITION_GROUP","decoder","decodeHtmlBrowser","asAttr","parserOptions","rootNamespace","transformStyle","parseInlineCSS","createDOMCompilerError","transformVHtml","transformVText","baseResult","transformModel$1","directiveToUse","isInvalidType","isEventOptionModifier","isNonKeyModifier","maybeKeyModifier","isKeyboardEvent","resolveModifiers","keyModifiers","nonKeyModifiers","eventOptionModifiers","transformClick","transformOn$1","handlerExp","modifierPostfix","transformShow","ignoreSideEffectTags","DOMNodeTransforms","DOMDirectiveTransforms","compileCache","compileToFunction","runtimeDom","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","propertyIsUnsafe","mergeObject","sourceAndTargetTypesMatch","deepmerge_1","cjs","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","booleanValueOf","functionToString","$match","$slice","$replace","$toUpperCase","$toLowerCase","$test","$concat","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","sepRegex","int","intStr","dec","utilInspect","require$$0","inspectCustom","inspectSymbol","quotes","quoteREs","objectInspect","inspect_","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","getIndent","indexOf","inspect","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","isElement","wrapQuotes","xs","singleLineValues","indentedJoin","isError","mapParts","collectionOf","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","toStr","constructorTag","defaultStyle","quoteChar","canTrustToString","remaining","trailer","quoteRE","lowbyte","joinedEntries","baseIndent","lineJoiner","isArr","syms","symMap","$TypeError","require$$1","listGetNode","isDelete","curr","listGet","listSet","listHas","listDelete","sideChannelList","$o","deletedNode","esObjectAtoms","esErrors","_eval","range","syntax","uri","abs","floor","pow","_isNaN","$isNaN","sign","gOPD","$gOPD","gopd","$defineProperty","esDefineProperty","shams","sym","symObj","symVal","origSymbol","hasSymbolSham","hasSymbols","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","funcType","concatty","slicy","arrLike","joiny","joiner","implementation","that","bound","binder","boundLength","boundArgs","Empty","functionBind","functionCall","functionApply","reflectApply","$apply","$call","require$$2","$reflectApply","require$$3","actualApply","$actualApply","callBindApplyHelpers","callBind","hasProtoAccessor","$getPrototypeOf","reflectGetProto","originalGetProto","getDunderProto","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","require$$23","require$$24","$spliceApply","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","string","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","GetIntrinsic","callBindBasic","$indexOf","callBound","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","sideChannelMap","$m","getSideChannelMap","$WeakMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","sideChannelWeakmap","$wm","getSideChannelList","getSideChannelWeakMap","makeChannel","sideChannel","$channelData","replace","percentTwenties","Format","formats","hexTable","compactQueue","compacted","mergeTarget","targetItem","defaultDecoder","charset","strWithoutPlus","defaultEncoder","$0","compact","maybeMap","getSideChannel","arrayPrefixGenerators","pushToArray","valueOrArray","toISO","defaultFormat","isNonNullishPrimitive","sentinel","generateArrayPrefix","commaRoundTrip","allowEmptyArrays","strictNullHandling","skipNulls","encodeDotInKeys","sort","allowDots","serializeDate","formatter","encodeValuesOnly","tmpSc","findFlag","keyValue","objKeys","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","stringify_1","joined","interpretNumericEntities","numberStr","parseArrayValue","currentArrayLength","isoSentinel","charsetSentinel","parseValues","cleanStr","skipIndex","bracketEqualsPos","encodedVal","parseObject","valuesParsed","leaf","cleanRoot","decodedRoot","parseKeys","givenKey","brackets","normalizeParseOptions","duplicates","parse","tempObj","newObj","lib","NProgress","Settings","started","clamp","progress","bar","speed","ease","css","barPositionCSS","work","force","amount","initial","$promise","fromStart","addClass","perc","toBarPerc","spinner","removeElement","removeClass","bodyStyle","vendorPrefix","barCSS","pending","cssPrefixes","cssProps","camelCase","letter","getVendorProp","capName","vendorName","getStyleProp","applyCss","hasClass","classList","oldList","newList","T","H","q","$","N","W","K","X","B","I","z","J","D","O.stringify","oe","O.parse","E","C","Y","Z","F","L","ne","U","G","A","S","R","M","Q","V","se","ee","te","ae","le","de","pe","ie","re","Ne","LARGE_ARRAY_SIZE","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","addMapEntry","addSetEntry","arrayEach","iteratee","arrayPush","arrayReduce","accumulator","initAccum","baseTimes","isHostObject","mapToArray","overArg","setToArray","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","reIsNative","Buffer","Symbol","Uint8Array","getPrototype","objectCreate","propertyIsEnumerable","splice","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","objValue","eq","baseAssign","copyObject","baseClone","isDeep","isFull","customizer","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","proto","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","baseIsNative","isMasked","baseKeys","isPrototype","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","regexp","cloneSet","cloneSymbol","cloneTypedArray","typedArray","getSymbols","isKeyable","stubArray","Ctor","ctorString","cloneDeep","isArrayLikeObject","isArrayLike","isLength","isObjectLike","stubFalse","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","asyncTag","nullTag","proxyTag","undefinedTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","arrayFilter","resIndex","arraySome","baseUnary","cacheHas","nativeObjectToString","symToStringTag","SetCache","setCacheAdd","setCacheHas","isArg","isBuff","getRawTag","baseIsArguments","baseIsEqual","bitmask","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsTypedArray","isPartial","arrLength","othLength","arrValue","othValue","compared","othIndex","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","unmasked","isEqual","resolvePageComponent","pages","page","loadFonts","webFontLoader","__vitePreload","isVue2","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","createPinia","toBeInstalled","addSubscription","onCleanup","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","createOptionsStore","hot","actions","getters","initialState","store","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","$state","$dispose","wrappedAction","afterCallbackList","onErrorCallbackList","partialStore","stopWatcher","setupStore","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","storeToRefs","rawStore","loadZiggy","route"],"sources":["../../../node_modules/axios/lib/helpers/bind.js","../../../node_modules/axios/lib/utils.js","../../../node_modules/axios/lib/core/AxiosError.js","../../../node_modules/axios/lib/helpers/null.js","../../../node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/axios/lib/defaults/transitional.js","../../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../../node_modules/axios/lib/platform/browser/index.js","../../../node_modules/axios/lib/platform/common/utils.js","../../../node_modules/axios/lib/platform/index.js","../../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/axios/lib/defaults/index.js","../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/axios/lib/core/transformData.js","../../../node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/axios/lib/core/settle.js","../../../node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/axios/lib/helpers/throttle.js","../../../node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/axios/lib/helpers/cookies.js","../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/axios/lib/adapters/xhr.js","../../../node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/axios/lib/adapters/fetch.js","../../../node_modules/axios/lib/adapters/adapters.js","../../../node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/axios/lib/env/data.js","../../../node_modules/axios/lib/helpers/validator.js","../../../node_modules/axios/lib/core/Axios.js","../../../node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/axios/lib/helpers/spread.js","../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/axios/lib/axios.js","../../../resources/js/Services/http.js","../../../node_modules/laravel-echo/dist/echo.js","../../../node_modules/pusher-js/dist/web/pusher.js","../../../node_modules/@datadog/browser-core/esm/tools/display.js","../../../node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","../../../node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","../../../node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","../../../node_modules/@datadog/browser-core/esm/tools/monitor.js","../../../node_modules/@datadog/browser-core/esm/tools/timer.js","../../../node_modules/@datadog/browser-core/esm/tools/observable.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","../../../node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","../../../node_modules/@datadog/browser-core/esm/browser/cookie.js","../../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","../../../node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","../../../node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","../../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","../../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","../../../node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","../../../node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","../../../node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","../../../node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","../../../node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","../../../node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","../../../node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","../../../node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","../../../node_modules/@datadog/browser-core/esm/domain/tracekit/computeStackTrace.js","../../../node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","../../../node_modules/@datadog/browser-core/esm/domain/tracekit/tracekit.js","../../../node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","../../../node_modules/@datadog/browser-core/esm/domain/error/error.js","../../../node_modules/@datadog/browser-core/esm/domain/error/error.types.js","../../../node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","../../../node_modules/@datadog/browser-core/esm/boot/init.js","../../../node_modules/@datadog/browser-core/esm/browser/addEventListener.js","../../../node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","../../../node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","../../../node_modules/@datadog/browser-core/esm/tools/mergeInto.js","../../../node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","../../../node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","../../../node_modules/@datadog/browser-core/esm/tools/valueHistory.js","../../../node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","../../../node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","../../../node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","../../../node_modules/@datadog/browser-core/esm/transport/httpRequest.js","../../../node_modules/@datadog/browser-core/esm/transport/eventBridge.js","../../../node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","../../../node_modules/@datadog/browser-core/esm/transport/batch.js","../../../node_modules/@datadog/browser-core/esm/transport/flushController.js","../../../node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","../../../node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","../../../node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","../../../node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","../../../node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","../../../node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","../../../node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","../../../node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","../../../node_modules/@datadog/browser-core/esm/domain/context/heavyCustomerDataWarning.js","../../../node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","../../../node_modules/@datadog/browser-core/esm/domain/context/storedContextManager.js","../../../node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","../../../node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","../../../node_modules/@datadog/browser-core/esm/domain/user/user.js","../../../node_modules/@datadog/browser-core/esm/tools/matchOption.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/configuration.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","../../../node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/performanceCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciTestContext.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewContexts.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestTiming.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/foregroundContexts.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","../../../node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","../../../node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","../../../node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","../../../node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","../../../node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","../../../node_modules/@datadog/browser-rum/esm/types/sessionReplayConstants.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/assembly.js","../../../node_modules/@datadog/browser-rum/esm/constants.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/privacy.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializationUtils.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeStyleSheets.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttribute.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttributes.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeNode.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeDocument.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/eventsUtils.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/viewports.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/moveObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/scrollObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/mouseInteractionObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/inputObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/styleSheetObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/mediaInteractionObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/frustrationObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/viewportResizeObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/mutationBatch.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/mutationObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/focusObserver.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/recordIds.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/observers/observers.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/elementsScrollPositions.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/shadowRootsController.js","../../../node_modules/@datadog/browser-rum/esm/domain/record/record.js","../../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/buildReplayPayload.js","../../../node_modules/@datadog/browser-rum/esm/domain/replayStats.js","../../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segment.js","../../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segmentCollection.js","../../../node_modules/@datadog/browser-rum/esm/boot/startRecording.js","../../../node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","../../../node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","../../../node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","../../../node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","../../../node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","../../../node_modules/@datadog/browser-rum/esm/entries/main.js","../../../resources/js/bootstrap.js","../../../__vite-browser-external","../../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js","../../../node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js","../../../node_modules/vue/dist/vue.esm-bundler.js","../../../node_modules/deepmerge/dist/cjs.js","../../../node_modules/es-errors/type.js","../../../node_modules/object-inspect/index.js","../../../node_modules/side-channel-list/index.js","../../../node_modules/es-object-atoms/index.js","../../../node_modules/es-errors/index.js","../../../node_modules/es-errors/eval.js","../../../node_modules/es-errors/range.js","../../../node_modules/es-errors/ref.js","../../../node_modules/es-errors/syntax.js","../../../node_modules/es-errors/uri.js","../../../node_modules/math-intrinsics/abs.js","../../../node_modules/math-intrinsics/floor.js","../../../node_modules/math-intrinsics/max.js","../../../node_modules/math-intrinsics/min.js","../../../node_modules/math-intrinsics/pow.js","../../../node_modules/math-intrinsics/round.js","../../../node_modules/math-intrinsics/isNaN.js","../../../node_modules/math-intrinsics/sign.js","../../../node_modules/gopd/gOPD.js","../../../node_modules/gopd/index.js","../../../node_modules/es-define-property/index.js","../../../node_modules/has-symbols/shams.js","../../../node_modules/has-symbols/index.js","../../../node_modules/get-proto/Reflect.getPrototypeOf.js","../../../node_modules/get-proto/Object.getPrototypeOf.js","../../../node_modules/function-bind/implementation.js","../../../node_modules/function-bind/index.js","../../../node_modules/call-bind-apply-helpers/functionCall.js","../../../node_modules/call-bind-apply-helpers/functionApply.js","../../../node_modules/call-bind-apply-helpers/reflectApply.js","../../../node_modules/call-bind-apply-helpers/actualApply.js","../../../node_modules/call-bind-apply-helpers/index.js","../../../node_modules/dunder-proto/get.js","../../../node_modules/get-proto/index.js","../../../node_modules/hasown/index.js","../../../node_modules/get-intrinsic/index.js","../../../node_modules/call-bound/index.js","../../../node_modules/side-channel-map/index.js","../../../node_modules/side-channel-weakmap/index.js","../../../node_modules/side-channel/index.js","../../../node_modules/qs/lib/formats.js","../../../node_modules/qs/lib/utils.js","../../../node_modules/qs/lib/stringify.js","../../../node_modules/qs/lib/parse.js","../../../node_modules/qs/lib/index.js","../../../node_modules/nprogress/nprogress.js","../../../node_modules/@inertiajs/core/dist/index.esm.js","../../../node_modules/lodash.clonedeep/index.js","../../../node_modules/lodash.isequal/index.js","../../../node_modules/@inertiajs/vue3/dist/index.esm.js","../../../node_modules/laravel-vite-plugin/inertia-helpers/index.js","../../../resources/js/Plugins/webfontloader.js","../../../node_modules/vue-demi/lib/index.mjs","../../../node_modules/pinia/dist/pinia.mjs","../../../resources/js/Store/index.js","../../../resources/js/Plugins/ziggy.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from \"axios\"\n\nconst instance = axios.create({\n\tbaseURL: import.meta.env.VITE_BASE_API_URL + \"/\",\n\theaders: {\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t\t\"x-timezone\": Intl.DateTimeFormat().resolvedOptions().timeZone,\n\t},\n\twithCredentials: true,\n})\n\nexport default instance\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n/**\r\n * This class represents a basic channel.\r\n */\nvar Channel = /*#__PURE__*/function () {\n function Channel() {\n _classCallCheck(this, Channel);\n }\n\n _createClass(Channel, [{\n key: \"listenForWhisper\",\n value:\n /**\r\n * Listen for a whisper event on the channel instance.\r\n */\n function listenForWhisper(event, callback) {\n return this.listen('.client-' + event, callback);\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"notification\",\n value: function notification(callback) {\n return this.listen('.Illuminate\\\\Notifications\\\\Events\\\\BroadcastNotificationCreated', callback);\n }\n /**\r\n * Stop listening for a whisper event on the channel instance.\r\n */\n\n }, {\n key: \"stopListeningForWhisper\",\n value: function stopListeningForWhisper(event, callback) {\n return this.stopListening('.client-' + event, callback);\n }\n }]);\n\n return Channel;\n}();\n\n/**\r\n * Event name formatter\r\n */\nvar EventFormatter = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function EventFormatter(namespace) {\n _classCallCheck(this, EventFormatter);\n\n this.namespace = namespace; //\n }\n /**\r\n * Format the given event name.\r\n */\n\n\n _createClass(EventFormatter, [{\n key: \"format\",\n value: function format(event) {\n if (['.', '\\\\'].includes(event.charAt(0))) {\n return event.substring(1);\n } else if (this.namespace) {\n event = this.namespace + '.' + event;\n }\n\n return event.replace(/\\./g, '\\\\');\n }\n /**\r\n * Set the event namespace.\r\n */\n\n }, {\n key: \"setNamespace\",\n value: function setNamespace(value) {\n this.namespace = value;\n }\n }]);\n\n return EventFormatter;\n}();\n\nfunction isConstructor(obj) {\n try {\n new obj();\n } catch (err) {\n if (err.message.includes('is not a constructor')) return false;\n }\n\n return true;\n}\n\n/**\r\n * This class represents a Pusher channel.\r\n */\n\nvar PusherChannel = /*#__PURE__*/function (_Channel) {\n _inherits(PusherChannel, _Channel);\n\n var _super = _createSuper(PusherChannel);\n\n /**\r\n * Create a new class instance.\r\n */\n function PusherChannel(pusher, name, options) {\n var _this;\n\n _classCallCheck(this, PusherChannel);\n\n _this = _super.call(this);\n _this.name = name;\n _this.pusher = pusher;\n _this.options = options;\n _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n _this.subscribe();\n\n return _this;\n }\n /**\r\n * Subscribe to a Pusher channel.\r\n */\n\n\n _createClass(PusherChannel, [{\n key: \"subscribe\",\n value: function subscribe() {\n this.subscription = this.pusher.subscribe(this.name);\n }\n /**\r\n * Unsubscribe from a Pusher channel.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {\n this.pusher.unsubscribe(this.name);\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n this.on(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Listen for all events on the channel instance.\r\n */\n\n }, {\n key: \"listenToAll\",\n value: function listenToAll(callback) {\n var _this2 = this;\n\n this.subscription.bind_global(function (event, data) {\n if (event.startsWith('pusher:')) {\n return;\n }\n\n var namespace = _this2.options.namespace.replace(/\\./g, '\\\\');\n\n var formattedEvent = event.startsWith(namespace) ? event.substring(namespace.length + 1) : '.' + event;\n callback(formattedEvent, data);\n });\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n if (callback) {\n this.subscription.unbind(this.eventFormatter.format(event), callback);\n } else {\n this.subscription.unbind(this.eventFormatter.format(event));\n }\n\n return this;\n }\n /**\r\n * Stop listening for all events on the channel instance.\r\n */\n\n }, {\n key: \"stopListeningToAll\",\n value: function stopListeningToAll(callback) {\n if (callback) {\n this.subscription.unbind_global(callback);\n } else {\n this.subscription.unbind_global();\n }\n\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n this.on('pusher:subscription_succeeded', function () {\n callback();\n });\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n this.on('pusher:subscription_error', function (status) {\n callback(status);\n });\n return this;\n }\n /**\r\n * Bind a channel to an event.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n this.subscription.bind(event, callback);\n return this;\n }\n }]);\n\n return PusherChannel;\n}(Channel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n _inherits(PusherPrivateChannel, _PusherChannel);\n\n var _super = _createSuper(PusherPrivateChannel);\n\n function PusherPrivateChannel() {\n _classCallCheck(this, PusherPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n }]);\n\n return PusherPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherEncryptedPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n _inherits(PusherEncryptedPrivateChannel, _PusherChannel);\n\n var _super = _createSuper(PusherEncryptedPrivateChannel);\n\n function PusherEncryptedPrivateChannel() {\n _classCallCheck(this, PusherEncryptedPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherEncryptedPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n }]);\n\n return PusherEncryptedPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher presence channel.\r\n */\n\nvar PusherPresenceChannel = /*#__PURE__*/function (_PusherPrivateChannel) {\n _inherits(PusherPresenceChannel, _PusherPrivateChannel);\n\n var _super = _createSuper(PusherPresenceChannel);\n\n function PusherPresenceChannel() {\n _classCallCheck(this, PusherPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PusherPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n this.on('pusher:subscription_succeeded', function (data) {\n callback(Object.keys(data.members).map(function (k) {\n return data.members[k];\n }));\n });\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n this.on('pusher:member_added', function (member) {\n callback(member.info);\n });\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n this.on('pusher:member_removed', function (member) {\n callback(member.info);\n });\n return this;\n }\n }]);\n\n return PusherPresenceChannel;\n}(PusherPrivateChannel);\n\n/**\r\n * This class represents a Socket.io channel.\r\n */\n\nvar SocketIoChannel = /*#__PURE__*/function (_Channel) {\n _inherits(SocketIoChannel, _Channel);\n\n var _super = _createSuper(SocketIoChannel);\n\n /**\r\n * Create a new class instance.\r\n */\n function SocketIoChannel(socket, name, options) {\n var _this;\n\n _classCallCheck(this, SocketIoChannel);\n\n _this = _super.call(this);\n /**\r\n * The event callbacks applied to the socket.\r\n */\n\n _this.events = {};\n /**\r\n * User supplied callbacks for events on this channel.\r\n */\n\n _this.listeners = {};\n _this.name = name;\n _this.socket = socket;\n _this.options = options;\n _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n _this.subscribe();\n\n return _this;\n }\n /**\r\n * Subscribe to a Socket.io channel.\r\n */\n\n\n _createClass(SocketIoChannel, [{\n key: \"subscribe\",\n value: function subscribe() {\n this.socket.emit('subscribe', {\n channel: this.name,\n auth: this.options.auth || {}\n });\n }\n /**\r\n * Unsubscribe from channel and ubind event callbacks.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {\n this.unbind();\n this.socket.emit('unsubscribe', {\n channel: this.name,\n auth: this.options.auth || {}\n });\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n this.on(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n this.unbindEvent(this.eventFormatter.format(event), callback);\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n this.on('connect', function (socket) {\n callback(socket);\n });\n return this;\n }\n /**\r\n * Register a callback to be called anytime an error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n return this;\n }\n /**\r\n * Bind the channel's socket to an event and store the callback.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n var _this2 = this;\n\n this.listeners[event] = this.listeners[event] || [];\n\n if (!this.events[event]) {\n this.events[event] = function (channel, data) {\n if (_this2.name === channel && _this2.listeners[event]) {\n _this2.listeners[event].forEach(function (cb) {\n return cb(data);\n });\n }\n };\n\n this.socket.on(event, this.events[event]);\n }\n\n this.listeners[event].push(callback);\n return this;\n }\n /**\r\n * Unbind the channel's socket from all stored event callbacks.\r\n */\n\n }, {\n key: \"unbind\",\n value: function unbind() {\n var _this3 = this;\n\n Object.keys(this.events).forEach(function (event) {\n _this3.unbindEvent(event);\n });\n }\n /**\r\n * Unbind the listeners for the given event.\r\n */\n\n }, {\n key: \"unbindEvent\",\n value: function unbindEvent(event, callback) {\n this.listeners[event] = this.listeners[event] || [];\n\n if (callback) {\n this.listeners[event] = this.listeners[event].filter(function (cb) {\n return cb !== callback;\n });\n }\n\n if (!callback || this.listeners[event].length === 0) {\n if (this.events[event]) {\n this.socket.removeListener(event, this.events[event]);\n delete this.events[event];\n }\n\n delete this.listeners[event];\n }\n }\n }]);\n\n return SocketIoChannel;\n}(Channel);\n\n/**\r\n * This class represents a Socket.io private channel.\r\n */\n\nvar SocketIoPrivateChannel = /*#__PURE__*/function (_SocketIoChannel) {\n _inherits(SocketIoPrivateChannel, _SocketIoChannel);\n\n var _super = _createSuper(SocketIoPrivateChannel);\n\n function SocketIoPrivateChannel() {\n _classCallCheck(this, SocketIoPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SocketIoPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n this.socket.emit('client event', {\n channel: this.name,\n event: \"client-\".concat(eventName),\n data: data\n });\n return this;\n }\n }]);\n\n return SocketIoPrivateChannel;\n}(SocketIoChannel);\n\n/**\r\n * This class represents a Socket.io presence channel.\r\n */\n\nvar SocketIoPresenceChannel = /*#__PURE__*/function (_SocketIoPrivateChann) {\n _inherits(SocketIoPresenceChannel, _SocketIoPrivateChann);\n\n var _super = _createSuper(SocketIoPresenceChannel);\n\n function SocketIoPresenceChannel() {\n _classCallCheck(this, SocketIoPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(SocketIoPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n this.on('presence:subscribed', function (members) {\n callback(members.map(function (m) {\n return m.user_info;\n }));\n });\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n this.on('presence:joining', function (member) {\n return callback(member.user_info);\n });\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n this.socket.emit('client event', {\n channel: this.name,\n event: \"client-\".concat(eventName),\n data: data\n });\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n this.on('presence:leaving', function (member) {\n return callback(member.user_info);\n });\n return this;\n }\n }]);\n\n return SocketIoPresenceChannel;\n}(SocketIoPrivateChannel);\n\n/**\r\n * This class represents a null channel.\r\n */\n\nvar NullChannel = /*#__PURE__*/function (_Channel) {\n _inherits(NullChannel, _Channel);\n\n var _super = _createSuper(NullChannel);\n\n function NullChannel() {\n _classCallCheck(this, NullChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullChannel, [{\n key: \"subscribe\",\n value:\n /**\r\n * Subscribe to a channel.\r\n */\n function subscribe() {//\n }\n /**\r\n * Unsubscribe from a channel.\r\n */\n\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe() {//\n }\n /**\r\n * Listen for an event on the channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(event, callback) {\n return this;\n }\n /**\r\n * Listen for all events on the channel instance.\r\n */\n\n }, {\n key: \"listenToAll\",\n value: function listenToAll(callback) {\n return this;\n }\n /**\r\n * Stop listening for an event on the channel instance.\r\n */\n\n }, {\n key: \"stopListening\",\n value: function stopListening(event, callback) {\n return this;\n }\n /**\r\n * Register a callback to be called anytime a subscription succeeds.\r\n */\n\n }, {\n key: \"subscribed\",\n value: function subscribed(callback) {\n return this;\n }\n /**\r\n * Register a callback to be called anytime an error occurs.\r\n */\n\n }, {\n key: \"error\",\n value: function error(callback) {\n return this;\n }\n /**\r\n * Bind a channel to an event.\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, callback) {\n return this;\n }\n }]);\n\n return NullChannel;\n}(Channel);\n\n/**\r\n * This class represents a null private channel.\r\n */\n\nvar NullPrivateChannel = /*#__PURE__*/function (_NullChannel) {\n _inherits(NullPrivateChannel, _NullChannel);\n\n var _super = _createSuper(NullPrivateChannel);\n\n function NullPrivateChannel() {\n _classCallCheck(this, NullPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n return this;\n }\n }]);\n\n return NullPrivateChannel;\n}(NullChannel);\n\n/**\r\n * This class represents a null private channel.\r\n */\n\nvar NullEncryptedPrivateChannel = /*#__PURE__*/function (_NullChannel) {\n _inherits(NullEncryptedPrivateChannel, _NullChannel);\n\n var _super = _createSuper(NullEncryptedPrivateChannel);\n\n function NullEncryptedPrivateChannel() {\n _classCallCheck(this, NullEncryptedPrivateChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullEncryptedPrivateChannel, [{\n key: \"whisper\",\n value:\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n function whisper(eventName, data) {\n return this;\n }\n }]);\n\n return NullEncryptedPrivateChannel;\n}(NullChannel);\n\n/**\r\n * This class represents a null presence channel.\r\n */\n\nvar NullPresenceChannel = /*#__PURE__*/function (_NullPrivateChannel) {\n _inherits(NullPresenceChannel, _NullPrivateChannel);\n\n var _super = _createSuper(NullPresenceChannel);\n\n function NullPresenceChannel() {\n _classCallCheck(this, NullPresenceChannel);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NullPresenceChannel, [{\n key: \"here\",\n value:\n /**\r\n * Register a callback to be called anytime the member list changes.\r\n */\n function here(callback) {\n return this;\n }\n /**\r\n * Listen for someone joining the channel.\r\n */\n\n }, {\n key: \"joining\",\n value: function joining(callback) {\n return this;\n }\n /**\r\n * Send a whisper event to other clients in the channel.\r\n */\n\n }, {\n key: \"whisper\",\n value: function whisper(eventName, data) {\n return this;\n }\n /**\r\n * Listen for someone leaving the channel.\r\n */\n\n }, {\n key: \"leaving\",\n value: function leaving(callback) {\n return this;\n }\n }]);\n\n return NullPresenceChannel;\n}(NullPrivateChannel);\n\nvar Connector = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function Connector(options) {\n _classCallCheck(this, Connector);\n\n /**\r\n * Default connector options.\r\n */\n this._defaultOptions = {\n auth: {\n headers: {}\n },\n authEndpoint: '/broadcasting/auth',\n userAuthentication: {\n endpoint: '/broadcasting/user-auth',\n headers: {}\n },\n broadcaster: 'pusher',\n csrfToken: null,\n bearerToken: null,\n host: null,\n key: null,\n namespace: 'App.Events'\n };\n this.setOptions(options);\n this.connect();\n }\n /**\r\n * Merge the custom options with the defaults.\r\n */\n\n\n _createClass(Connector, [{\n key: \"setOptions\",\n value: function setOptions(options) {\n this.options = _extends(this._defaultOptions, options);\n var token = this.csrfToken();\n\n if (token) {\n this.options.auth.headers['X-CSRF-TOKEN'] = token;\n this.options.userAuthentication.headers['X-CSRF-TOKEN'] = token;\n }\n\n token = this.options.bearerToken;\n\n if (token) {\n this.options.auth.headers['Authorization'] = 'Bearer ' + token;\n this.options.userAuthentication.headers['Authorization'] = 'Bearer ' + token;\n }\n\n return options;\n }\n /**\r\n * Extract the CSRF token from the page.\r\n */\n\n }, {\n key: \"csrfToken\",\n value: function csrfToken() {\n var selector;\n\n if (typeof window !== 'undefined' && window['Laravel'] && window['Laravel'].csrfToken) {\n return window['Laravel'].csrfToken;\n } else if (this.options.csrfToken) {\n return this.options.csrfToken;\n } else if (typeof document !== 'undefined' && typeof document.querySelector === 'function' && (selector = document.querySelector('meta[name=\"csrf-token\"]'))) {\n return selector.getAttribute('content');\n }\n\n return null;\n }\n }]);\n\n return Connector;\n}();\n\n/**\r\n * This class creates a connector to Pusher.\r\n */\n\nvar PusherConnector = /*#__PURE__*/function (_Connector) {\n _inherits(PusherConnector, _Connector);\n\n var _super = _createSuper(PusherConnector);\n\n function PusherConnector() {\n var _this;\n\n _classCallCheck(this, PusherConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh Pusher connection.\r\n */\n\n\n _createClass(PusherConnector, [{\n key: \"connect\",\n value: function connect() {\n if (typeof this.options.client !== 'undefined') {\n this.pusher = this.options.client;\n } else if (this.options.Pusher) {\n this.pusher = new this.options.Pusher(this.options.key, this.options);\n } else {\n this.pusher = new Pusher(this.options.key, this.options);\n }\n }\n /**\r\n * Sign in the user via Pusher user authentication (https://pusher.com/docs/channels/using_channels/user-authentication/).\r\n */\n\n }, {\n key: \"signin\",\n value: function signin() {\n this.pusher.signin();\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return this.channel(name).listen(event, callback);\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n if (!this.channels[name]) {\n this.channels[name] = new PusherChannel(this.pusher, name, this.options);\n }\n\n return this.channels[name];\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n if (!this.channels['private-' + name]) {\n this.channels['private-' + name] = new PusherPrivateChannel(this.pusher, 'private-' + name, this.options);\n }\n\n return this.channels['private-' + name];\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivateChannel\",\n value: function encryptedPrivateChannel(name) {\n if (!this.channels['private-encrypted-' + name]) {\n this.channels['private-encrypted-' + name] = new PusherEncryptedPrivateChannel(this.pusher, 'private-encrypted-' + name, this.options);\n }\n\n return this.channels['private-encrypted-' + name];\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n if (!this.channels['presence-' + name]) {\n this.channels['presence-' + name] = new PusherPresenceChannel(this.pusher, 'presence-' + name, this.options);\n }\n\n return this.channels['presence-' + name];\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {\n var _this2 = this;\n\n var channels = [name, 'private-' + name, 'private-encrypted-' + name, 'presence-' + name];\n channels.forEach(function (name, index) {\n _this2.leaveChannel(name);\n });\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {\n if (this.channels[name]) {\n this.channels[name].unsubscribe();\n delete this.channels[name];\n }\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.pusher.connection.socket_id;\n }\n /**\r\n * Disconnect Pusher connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.pusher.disconnect();\n }\n }]);\n\n return PusherConnector;\n}(Connector);\n\n/**\r\n * This class creates a connnector to a Socket.io server.\r\n */\n\nvar SocketIoConnector = /*#__PURE__*/function (_Connector) {\n _inherits(SocketIoConnector, _Connector);\n\n var _super = _createSuper(SocketIoConnector);\n\n function SocketIoConnector() {\n var _this;\n\n _classCallCheck(this, SocketIoConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh Socket.io connection.\r\n */\n\n\n _createClass(SocketIoConnector, [{\n key: \"connect\",\n value: function connect() {\n var _this2 = this;\n\n var io = this.getSocketIO();\n this.socket = io(this.options.host, this.options);\n this.socket.on('reconnect', function () {\n Object.values(_this2.channels).forEach(function (channel) {\n channel.subscribe();\n });\n });\n return this.socket;\n }\n /**\r\n * Get socket.io module from global scope or options.\r\n */\n\n }, {\n key: \"getSocketIO\",\n value: function getSocketIO() {\n if (typeof this.options.client !== 'undefined') {\n return this.options.client;\n }\n\n if (typeof io !== 'undefined') {\n return io;\n }\n\n throw new Error('Socket.io client not found. Should be globally available or passed via options.client');\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return this.channel(name).listen(event, callback);\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n if (!this.channels[name]) {\n this.channels[name] = new SocketIoChannel(this.socket, name, this.options);\n }\n\n return this.channels[name];\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n if (!this.channels['private-' + name]) {\n this.channels['private-' + name] = new SocketIoPrivateChannel(this.socket, 'private-' + name, this.options);\n }\n\n return this.channels['private-' + name];\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n if (!this.channels['presence-' + name]) {\n this.channels['presence-' + name] = new SocketIoPresenceChannel(this.socket, 'presence-' + name, this.options);\n }\n\n return this.channels['presence-' + name];\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {\n var _this3 = this;\n\n var channels = [name, 'private-' + name, 'presence-' + name];\n channels.forEach(function (name) {\n _this3.leaveChannel(name);\n });\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {\n if (this.channels[name]) {\n this.channels[name].unsubscribe();\n delete this.channels[name];\n }\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.socket.id;\n }\n /**\r\n * Disconnect Socketio connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.socket.disconnect();\n }\n }]);\n\n return SocketIoConnector;\n}(Connector);\n\n/**\r\n * This class creates a null connector.\r\n */\n\nvar NullConnector = /*#__PURE__*/function (_Connector) {\n _inherits(NullConnector, _Connector);\n\n var _super = _createSuper(NullConnector);\n\n function NullConnector() {\n var _this;\n\n _classCallCheck(this, NullConnector);\n\n _this = _super.apply(this, arguments);\n /**\r\n * All of the subscribed channel names.\r\n */\n\n _this.channels = {};\n return _this;\n }\n /**\r\n * Create a fresh connection.\r\n */\n\n\n _createClass(NullConnector, [{\n key: \"connect\",\n value: function connect() {//\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(name, event, callback) {\n return new NullChannel();\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n }, {\n key: \"channel\",\n value: function channel(name) {\n return new NullChannel();\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"privateChannel\",\n value: function privateChannel(name) {\n return new NullPrivateChannel();\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivateChannel\",\n value: function encryptedPrivateChannel(name) {\n return new NullEncryptedPrivateChannel();\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"presenceChannel\",\n value: function presenceChannel(name) {\n return new NullPresenceChannel();\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(name) {//\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(name) {//\n }\n /**\r\n * Get the socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return 'fake-socket-id';\n }\n /**\r\n * Disconnect the connection.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {//\n }\n }]);\n\n return NullConnector;\n}(Connector);\n\n/**\r\n * This class is the primary API for interacting with broadcasting.\r\n */\n\nvar Echo = /*#__PURE__*/function () {\n /**\r\n * Create a new class instance.\r\n */\n function Echo(options) {\n _classCallCheck(this, Echo);\n\n this.options = options;\n this.connect();\n\n if (!this.options.withoutInterceptors) {\n this.registerInterceptors();\n }\n }\n /**\r\n * Get a channel instance by name.\r\n */\n\n\n _createClass(Echo, [{\n key: \"channel\",\n value: function channel(_channel) {\n return this.connector.channel(_channel);\n }\n /**\r\n * Create a new connection.\r\n */\n\n }, {\n key: \"connect\",\n value: function connect() {\n if (this.options.broadcaster == 'reverb') {\n this.connector = new PusherConnector(_extends(_extends({}, this.options), {\n cluster: ''\n }));\n } else if (this.options.broadcaster == 'pusher') {\n this.connector = new PusherConnector(this.options);\n } else if (this.options.broadcaster == 'socket.io') {\n this.connector = new SocketIoConnector(this.options);\n } else if (this.options.broadcaster == 'null') {\n this.connector = new NullConnector(this.options);\n } else if (typeof this.options.broadcaster == 'function' && isConstructor(this.options.broadcaster)) {\n this.connector = new this.options.broadcaster(this.options);\n } else {\n throw new Error(\"Broadcaster \".concat(_typeof(this.options.broadcaster), \" \").concat(this.options.broadcaster, \" is not supported.\"));\n }\n }\n /**\r\n * Disconnect from the Echo server.\r\n */\n\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.connector.disconnect();\n }\n /**\r\n * Get a presence channel instance by name.\r\n */\n\n }, {\n key: \"join\",\n value: function join(channel) {\n return this.connector.presenceChannel(channel);\n }\n /**\r\n * Leave the given channel, as well as its private and presence variants.\r\n */\n\n }, {\n key: \"leave\",\n value: function leave(channel) {\n this.connector.leave(channel);\n }\n /**\r\n * Leave the given channel.\r\n */\n\n }, {\n key: \"leaveChannel\",\n value: function leaveChannel(channel) {\n this.connector.leaveChannel(channel);\n }\n /**\r\n * Leave all channels.\r\n */\n\n }, {\n key: \"leaveAllChannels\",\n value: function leaveAllChannels() {\n for (var channel in this.connector.channels) {\n this.leaveChannel(channel);\n }\n }\n /**\r\n * Listen for an event on a channel instance.\r\n */\n\n }, {\n key: \"listen\",\n value: function listen(channel, event, callback) {\n return this.connector.listen(channel, event, callback);\n }\n /**\r\n * Get a private channel instance by name.\r\n */\n\n }, {\n key: \"private\",\n value: function _private(channel) {\n return this.connector.privateChannel(channel);\n }\n /**\r\n * Get a private encrypted channel instance by name.\r\n */\n\n }, {\n key: \"encryptedPrivate\",\n value: function encryptedPrivate(channel) {\n if (this.connector instanceof SocketIoConnector) {\n throw new Error(\"Broadcaster \".concat(_typeof(this.options.broadcaster), \" \").concat(this.options.broadcaster, \" does not support encrypted private channels.\"));\n }\n\n return this.connector.encryptedPrivateChannel(channel);\n }\n /**\r\n * Get the Socket ID for the connection.\r\n */\n\n }, {\n key: \"socketId\",\n value: function socketId() {\n return this.connector.socketId();\n }\n /**\r\n * Register 3rd party request interceptiors. These are used to automatically\r\n * send a connections socket id to a Laravel app with a X-Socket-Id header.\r\n */\n\n }, {\n key: \"registerInterceptors\",\n value: function registerInterceptors() {\n if (typeof Vue === 'function' && Vue.http) {\n this.registerVueRequestInterceptor();\n }\n\n if (typeof axios === 'function') {\n this.registerAxiosRequestInterceptor();\n }\n\n if (typeof jQuery === 'function') {\n this.registerjQueryAjaxSetup();\n }\n\n if ((typeof Turbo === \"undefined\" ? \"undefined\" : _typeof(Turbo)) === 'object') {\n this.registerTurboRequestInterceptor();\n }\n }\n /**\r\n * Register a Vue HTTP interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerVueRequestInterceptor\",\n value: function registerVueRequestInterceptor() {\n var _this = this;\n\n Vue.http.interceptors.push(function (request, next) {\n if (_this.socketId()) {\n request.headers.set('X-Socket-ID', _this.socketId());\n }\n\n next();\n });\n }\n /**\r\n * Register an Axios HTTP interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerAxiosRequestInterceptor\",\n value: function registerAxiosRequestInterceptor() {\n var _this2 = this;\n\n axios.interceptors.request.use(function (config) {\n if (_this2.socketId()) {\n config.headers['X-Socket-Id'] = _this2.socketId();\n }\n\n return config;\n });\n }\n /**\r\n * Register jQuery AjaxPrefilter to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerjQueryAjaxSetup\",\n value: function registerjQueryAjaxSetup() {\n var _this3 = this;\n\n if (typeof jQuery.ajax != 'undefined') {\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (_this3.socketId()) {\n xhr.setRequestHeader('X-Socket-Id', _this3.socketId());\n }\n });\n }\n }\n /**\r\n * Register the Turbo Request interceptor to add the X-Socket-ID header.\r\n */\n\n }, {\n key: \"registerTurboRequestInterceptor\",\n value: function registerTurboRequestInterceptor() {\n var _this4 = this;\n\n document.addEventListener('turbo:before-fetch-request', function (event) {\n event.detail.fetchOptions.headers['X-Socket-Id'] = _this4.socketId();\n });\n }\n }]);\n\n return Echo;\n}();\n\nexport { Channel, Connector, EventFormatter, Echo as default };\n","/*!\n * Pusher JavaScript Library v8.4.0\n * https://pusher.com/\n *\n * Copyright 2020, Pusher\n * Released under the MIT licence.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Pusher\"] = factory();\n\telse\n\t\troot[\"Pusher\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nvar INVALID_UTF16 = \"utf8: invalid string\";\nvar INVALID_UTF8 = \"utf8: invalid source encoding\";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encode(s) {\n // Calculate result length and allocate output array.\n // encodedLength() also validates string and throws errors,\n // so we don't need repeat validation here.\n var arr = new Uint8Array(encodedLength(s));\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n arr[pos++] = c;\n }\n else if (c < 0x800) {\n arr[pos++] = 0xc0 | c >> 6;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else if (c < 0xd800) {\n arr[pos++] = 0xe0 | c >> 12;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else {\n i++; // get one more character\n c = (c & 0x3ff) << 10;\n c |= s.charCodeAt(i) & 0x3ff;\n c += 0x10000;\n arr[pos++] = 0xf0 | c >> 18;\n arr[pos++] = 0x80 | (c >> 12) & 0x3f;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n }\n return arr;\n}\nexports.encode = encode;\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encodedLength(s) {\n var result = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n result += 1;\n }\n else if (c < 0x800) {\n result += 2;\n }\n else if (c < 0xd800) {\n result += 3;\n }\n else if (c <= 0xdfff) {\n if (i >= s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++; // \"eat\" next character\n result += 4;\n }\n else {\n throw new Error(INVALID_UTF16);\n }\n }\n return result;\n}\nexports.encodedLength = encodedLength;\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nfunction decode(arr) {\n var chars = [];\n for (var i = 0; i < arr.length; i++) {\n var b = arr[i];\n if (b & 0x80) {\n var min = void 0;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n }\n else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n }\n else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n var n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n }\n else {\n throw new Error(INVALID_UTF8);\n }\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n chars.push(String.fromCharCode(b));\n }\n return chars.join(\"\");\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// required so we don't have to do require('pusher').default etc.\nmodule.exports = __webpack_require__(3).default;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_receiver_factory.ts\nclass ScriptReceiverFactory {\n constructor(prefix, name) {\n this.lastId = 0;\n this.prefix = prefix;\n this.name = name;\n }\n create(callback) {\n this.lastId++;\n var number = this.lastId;\n var id = this.prefix + number;\n var name = this.name + '[' + number + ']';\n var called = false;\n var callbackWrapper = function () {\n if (!called) {\n callback.apply(null, arguments);\n called = true;\n }\n };\n this[number] = callbackWrapper;\n return { number: number, id: id, name: name, callback: callbackWrapper };\n }\n remove(receiver) {\n delete this[receiver.number];\n }\n}\nvar ScriptReceivers = new ScriptReceiverFactory('_pusher_script_', 'Pusher.ScriptReceivers');\n\n// CONCATENATED MODULE: ./src/core/defaults.ts\nvar Defaults = {\n VERSION: \"8.4.0\",\n PROTOCOL: 7,\n wsPort: 80,\n wssPort: 443,\n wsPath: '',\n httpHost: 'sockjs.pusher.com',\n httpPort: 80,\n httpsPort: 443,\n httpPath: '/pusher',\n stats_host: 'stats.pusher.com',\n authEndpoint: '/pusher/auth',\n authTransport: 'ajax',\n activityTimeout: 120000,\n pongTimeout: 30000,\n unavailableTimeout: 10000,\n userAuthentication: {\n endpoint: '/pusher/user-auth',\n transport: 'ajax',\n },\n channelAuthorization: {\n endpoint: '/pusher/auth',\n transport: 'ajax',\n },\n cdn_http: \"http://js.pusher.com\",\n cdn_https: \"https://js.pusher.com\",\n dependency_suffix: \"\",\n};\n/* harmony default export */ var defaults = (Defaults);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependency_loader.ts\n\n\nclass dependency_loader_DependencyLoader {\n constructor(options) {\n this.options = options;\n this.receivers = options.receivers || ScriptReceivers;\n this.loading = {};\n }\n load(name, options, callback) {\n var self = this;\n if (self.loading[name] && self.loading[name].length > 0) {\n self.loading[name].push(callback);\n }\n else {\n self.loading[name] = [callback];\n var request = runtime.createScriptRequest(self.getPath(name, options));\n var receiver = self.receivers.create(function (error) {\n self.receivers.remove(receiver);\n if (self.loading[name]) {\n var callbacks = self.loading[name];\n delete self.loading[name];\n var successCallback = function (wasSuccessful) {\n if (!wasSuccessful) {\n request.cleanup();\n }\n };\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](error, successCallback);\n }\n }\n });\n request.send(receiver);\n }\n }\n getRoot(options) {\n var cdn;\n var protocol = runtime.getDocument().location.protocol;\n if ((options && options.useTLS) || protocol === 'https:') {\n cdn = this.options.cdn_https;\n }\n else {\n cdn = this.options.cdn_http;\n }\n return cdn.replace(/\\/*$/, '') + '/' + this.options.version;\n }\n getPath(name, options) {\n return this.getRoot(options) + '/' + name + this.options.suffix + '.js';\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependencies.ts\n\n\n\nvar DependenciesReceivers = new ScriptReceiverFactory('_pusher_dependencies', 'Pusher.DependenciesReceivers');\nvar Dependencies = new dependency_loader_DependencyLoader({\n cdn_http: defaults.cdn_http,\n cdn_https: defaults.cdn_https,\n version: defaults.VERSION,\n suffix: defaults.dependency_suffix,\n receivers: DependenciesReceivers,\n});\n\n// CONCATENATED MODULE: ./src/core/utils/url_store.ts\nconst urlStore = {\n baseUrl: 'https://pusher.com',\n urls: {\n authenticationEndpoint: {\n path: '/docs/channels/server_api/authenticating_users',\n },\n authorizationEndpoint: {\n path: '/docs/channels/server_api/authorizing-users/',\n },\n javascriptQuickStart: {\n path: '/docs/javascript_quick_start',\n },\n triggeringClientEvents: {\n path: '/docs/client_api_guide/client_events#trigger-events',\n },\n encryptedChannelSupport: {\n fullUrl: 'https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support',\n },\n },\n};\nconst buildLogSuffix = function (key) {\n const urlPrefix = 'See:';\n const urlObj = urlStore.urls[key];\n if (!urlObj)\n return '';\n let url;\n if (urlObj.fullUrl) {\n url = urlObj.fullUrl;\n }\n else if (urlObj.path) {\n url = urlStore.baseUrl + urlObj.path;\n }\n if (!url)\n return '';\n return `${urlPrefix} ${url}`;\n};\n/* harmony default export */ var url_store = ({ buildLogSuffix });\n\n// CONCATENATED MODULE: ./src/core/auth/options.ts\nvar AuthRequestType;\n(function (AuthRequestType) {\n AuthRequestType[\"UserAuthentication\"] = \"user-authentication\";\n AuthRequestType[\"ChannelAuthorization\"] = \"channel-authorization\";\n})(AuthRequestType || (AuthRequestType = {}));\n\n// CONCATENATED MODULE: ./src/core/errors.ts\nclass BadEventName extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass BadChannelName extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass RequestTimedOut extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass TransportPriorityTooLow extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass TransportClosed extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass UnsupportedFeature extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass UnsupportedTransport extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass UnsupportedStrategy extends Error {\n constructor(msg) {\n super(msg);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\nclass HTTPAuthError extends Error {\n constructor(status, msg) {\n super(msg);\n this.status = status;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/auth/xhr_auth.ts\n\n\n\n\nconst ajax = function (context, query, authOptions, authRequestType, callback) {\n const xhr = runtime.createXHR();\n xhr.open('POST', authOptions.endpoint, true);\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n for (var headerName in authOptions.headers) {\n xhr.setRequestHeader(headerName, authOptions.headers[headerName]);\n }\n if (authOptions.headersProvider != null) {\n let dynamicHeaders = authOptions.headersProvider();\n for (var headerName in dynamicHeaders) {\n xhr.setRequestHeader(headerName, dynamicHeaders[headerName]);\n }\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n let data;\n let parsed = false;\n try {\n data = JSON.parse(xhr.responseText);\n parsed = true;\n }\n catch (e) {\n callback(new HTTPAuthError(200, `JSON returned from ${authRequestType.toString()} endpoint was invalid, yet status code was 200. Data was: ${xhr.responseText}`), null);\n }\n if (parsed) {\n callback(null, data);\n }\n }\n else {\n let suffix = '';\n switch (authRequestType) {\n case AuthRequestType.UserAuthentication:\n suffix = url_store.buildLogSuffix('authenticationEndpoint');\n break;\n case AuthRequestType.ChannelAuthorization:\n suffix = `Clients must be authorized to join private or presence channels. ${url_store.buildLogSuffix('authorizationEndpoint')}`;\n break;\n }\n callback(new HTTPAuthError(xhr.status, `Unable to retrieve auth string from ${authRequestType.toString()} endpoint - ` +\n `received status: ${xhr.status} from ${authOptions.endpoint}. ${suffix}`), null);\n }\n }\n };\n xhr.send(query);\n return xhr;\n};\n/* harmony default export */ var xhr_auth = (ajax);\n\n// CONCATENATED MODULE: ./src/core/base64.ts\nfunction encode(s) {\n return btoa(utob(s));\n}\nvar fromCharCode = String.fromCharCode;\nvar b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nvar b64tab = {};\nfor (var base64_i = 0, l = b64chars.length; base64_i < l; base64_i++) {\n b64tab[b64chars.charAt(base64_i)] = base64_i;\n}\nvar cb_utob = function (c) {\n var cc = c.charCodeAt(0);\n return cc < 0x80\n ? c\n : cc < 0x800\n ? fromCharCode(0xc0 | (cc >>> 6)) + fromCharCode(0x80 | (cc & 0x3f))\n : fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) +\n fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) +\n fromCharCode(0x80 | (cc & 0x3f));\n};\nvar utob = function (u) {\n return u.replace(/[^\\x00-\\x7F]/g, cb_utob);\n};\nvar cb_encode = function (ccc) {\n var padlen = [0, 2, 1][ccc.length % 3];\n var ord = (ccc.charCodeAt(0) << 16) |\n ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) |\n (ccc.length > 2 ? ccc.charCodeAt(2) : 0);\n var chars = [\n b64chars.charAt(ord >>> 18),\n b64chars.charAt((ord >>> 12) & 63),\n padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),\n padlen >= 1 ? '=' : b64chars.charAt(ord & 63),\n ];\n return chars.join('');\n};\nvar btoa = window.btoa ||\n function (b) {\n return b.replace(/[\\s\\S]{1,3}/g, cb_encode);\n };\n\n// CONCATENATED MODULE: ./src/core/utils/timers/abstract_timer.ts\nclass Timer {\n constructor(set, clear, delay, callback) {\n this.clear = clear;\n this.timer = set(() => {\n if (this.timer) {\n this.timer = callback(this.timer);\n }\n }, delay);\n }\n isRunning() {\n return this.timer !== null;\n }\n ensureAborted() {\n if (this.timer) {\n this.clear(this.timer);\n this.timer = null;\n }\n }\n}\n/* harmony default export */ var abstract_timer = (Timer);\n\n// CONCATENATED MODULE: ./src/core/utils/timers/index.ts\n\nfunction timers_clearTimeout(timer) {\n window.clearTimeout(timer);\n}\nfunction timers_clearInterval(timer) {\n window.clearInterval(timer);\n}\nclass timers_OneOffTimer extends abstract_timer {\n constructor(delay, callback) {\n super(setTimeout, timers_clearTimeout, delay, function (timer) {\n callback();\n return null;\n });\n }\n}\nclass timers_PeriodicTimer extends abstract_timer {\n constructor(delay, callback) {\n super(setInterval, timers_clearInterval, delay, function (timer) {\n callback();\n return timer;\n });\n }\n}\n\n// CONCATENATED MODULE: ./src/core/util.ts\n\nvar Util = {\n now() {\n if (Date.now) {\n return Date.now();\n }\n else {\n return new Date().valueOf();\n }\n },\n defer(callback) {\n return new timers_OneOffTimer(0, callback);\n },\n method(name, ...args) {\n var boundArguments = Array.prototype.slice.call(arguments, 1);\n return function (object) {\n return object[name].apply(object, boundArguments.concat(arguments));\n };\n },\n};\n/* harmony default export */ var util = (Util);\n\n// CONCATENATED MODULE: ./src/core/utils/collections.ts\n\n\nfunction extend(target, ...sources) {\n for (var i = 0; i < sources.length; i++) {\n var extensions = sources[i];\n for (var property in extensions) {\n if (extensions[property] &&\n extensions[property].constructor &&\n extensions[property].constructor === Object) {\n target[property] = extend(target[property] || {}, extensions[property]);\n }\n else {\n target[property] = extensions[property];\n }\n }\n }\n return target;\n}\nfunction stringify() {\n var m = ['Pusher'];\n for (var i = 0; i < arguments.length; i++) {\n if (typeof arguments[i] === 'string') {\n m.push(arguments[i]);\n }\n else {\n m.push(safeJSONStringify(arguments[i]));\n }\n }\n return m.join(' : ');\n}\nfunction arrayIndexOf(array, item) {\n var nativeIndexOf = Array.prototype.indexOf;\n if (array === null) {\n return -1;\n }\n if (nativeIndexOf && array.indexOf === nativeIndexOf) {\n return array.indexOf(item);\n }\n for (var i = 0, l = array.length; i < l; i++) {\n if (array[i] === item) {\n return i;\n }\n }\n return -1;\n}\nfunction objectApply(object, f) {\n for (var key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n f(object[key], key, object);\n }\n }\n}\nfunction keys(object) {\n var keys = [];\n objectApply(object, function (_, key) {\n keys.push(key);\n });\n return keys;\n}\nfunction values(object) {\n var values = [];\n objectApply(object, function (value) {\n values.push(value);\n });\n return values;\n}\nfunction apply(array, f, context) {\n for (var i = 0; i < array.length; i++) {\n f.call(context || window, array[i], i, array);\n }\n}\nfunction map(array, f) {\n var result = [];\n for (var i = 0; i < array.length; i++) {\n result.push(f(array[i], i, array, result));\n }\n return result;\n}\nfunction mapObject(object, f) {\n var result = {};\n objectApply(object, function (value, key) {\n result[key] = f(value);\n });\n return result;\n}\nfunction filter(array, test) {\n test =\n test ||\n function (value) {\n return !!value;\n };\n var result = [];\n for (var i = 0; i < array.length; i++) {\n if (test(array[i], i, array, result)) {\n result.push(array[i]);\n }\n }\n return result;\n}\nfunction filterObject(object, test) {\n var result = {};\n objectApply(object, function (value, key) {\n if ((test && test(value, key, object, result)) || Boolean(value)) {\n result[key] = value;\n }\n });\n return result;\n}\nfunction flatten(object) {\n var result = [];\n objectApply(object, function (value, key) {\n result.push([key, value]);\n });\n return result;\n}\nfunction any(array, test) {\n for (var i = 0; i < array.length; i++) {\n if (test(array[i], i, array)) {\n return true;\n }\n }\n return false;\n}\nfunction collections_all(array, test) {\n for (var i = 0; i < array.length; i++) {\n if (!test(array[i], i, array)) {\n return false;\n }\n }\n return true;\n}\nfunction encodeParamsObject(data) {\n return mapObject(data, function (value) {\n if (typeof value === 'object') {\n value = safeJSONStringify(value);\n }\n return encodeURIComponent(encode(value.toString()));\n });\n}\nfunction buildQueryString(data) {\n var params = filterObject(data, function (value) {\n return value !== undefined;\n });\n var query = map(flatten(encodeParamsObject(params)), util.method('join', '=')).join('&');\n return query;\n}\nfunction decycleObject(object) {\n var objects = [], paths = [];\n return (function derez(value, path) {\n var i, name, nu;\n switch (typeof value) {\n case 'object':\n if (!value) {\n return null;\n }\n for (i = 0; i < objects.length; i += 1) {\n if (objects[i] === value) {\n return { $ref: paths[i] };\n }\n }\n objects.push(value);\n paths.push(path);\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n nu = [];\n for (i = 0; i < value.length; i += 1) {\n nu[i] = derez(value[i], path + '[' + i + ']');\n }\n }\n else {\n nu = {};\n for (name in value) {\n if (Object.prototype.hasOwnProperty.call(value, name)) {\n nu[name] = derez(value[name], path + '[' + JSON.stringify(name) + ']');\n }\n }\n }\n return nu;\n case 'number':\n case 'string':\n case 'boolean':\n return value;\n }\n })(object, '$');\n}\nfunction safeJSONStringify(source) {\n try {\n return JSON.stringify(source);\n }\n catch (e) {\n return JSON.stringify(decycleObject(source));\n }\n}\n\n// CONCATENATED MODULE: ./src/core/logger.ts\n\n\nclass logger_Logger {\n constructor() {\n this.globalLog = (message) => {\n if (window.console && window.console.log) {\n window.console.log(message);\n }\n };\n }\n debug(...args) {\n this.log(this.globalLog, args);\n }\n warn(...args) {\n this.log(this.globalLogWarn, args);\n }\n error(...args) {\n this.log(this.globalLogError, args);\n }\n globalLogWarn(message) {\n if (window.console && window.console.warn) {\n window.console.warn(message);\n }\n else {\n this.globalLog(message);\n }\n }\n globalLogError(message) {\n if (window.console && window.console.error) {\n window.console.error(message);\n }\n else {\n this.globalLogWarn(message);\n }\n }\n log(defaultLoggingFunction, ...args) {\n var message = stringify.apply(this, arguments);\n if (core_pusher.log) {\n core_pusher.log(message);\n }\n else if (core_pusher.logToConsole) {\n const log = defaultLoggingFunction.bind(this);\n log(message);\n }\n }\n}\n/* harmony default export */ var logger = (new logger_Logger());\n\n// CONCATENATED MODULE: ./src/runtimes/web/auth/jsonp_auth.ts\n\nvar jsonp = function (context, query, authOptions, authRequestType, callback) {\n if (authOptions.headers !== undefined ||\n authOptions.headersProvider != null) {\n logger.warn(`To send headers with the ${authRequestType.toString()} request, you must use AJAX, rather than JSONP.`);\n }\n var callbackName = context.nextAuthCallbackID.toString();\n context.nextAuthCallbackID++;\n var document = context.getDocument();\n var script = document.createElement('script');\n context.auth_callbacks[callbackName] = function (data) {\n callback(null, data);\n };\n var callback_name = \"Pusher.auth_callbacks['\" + callbackName + \"']\";\n script.src =\n authOptions.endpoint +\n '?callback=' +\n encodeURIComponent(callback_name) +\n '&' +\n query;\n var head = document.getElementsByTagName('head')[0] || document.documentElement;\n head.insertBefore(script, head.firstChild);\n};\n/* harmony default export */ var jsonp_auth = (jsonp);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_request.ts\nclass ScriptRequest {\n constructor(src) {\n this.src = src;\n }\n send(receiver) {\n var self = this;\n var errorString = 'Error loading ' + self.src;\n self.script = document.createElement('script');\n self.script.id = receiver.id;\n self.script.src = self.src;\n self.script.type = 'text/javascript';\n self.script.charset = 'UTF-8';\n if (self.script.addEventListener) {\n self.script.onerror = function () {\n receiver.callback(errorString);\n };\n self.script.onload = function () {\n receiver.callback(null);\n };\n }\n else {\n self.script.onreadystatechange = function () {\n if (self.script.readyState === 'loaded' ||\n self.script.readyState === 'complete') {\n receiver.callback(null);\n }\n };\n }\n if (self.script.async === undefined &&\n document.attachEvent &&\n /opera/i.test(navigator.userAgent)) {\n self.errorScript = document.createElement('script');\n self.errorScript.id = receiver.id + '_error';\n self.errorScript.text = receiver.name + \"('\" + errorString + \"');\";\n self.script.async = self.errorScript.async = false;\n }\n else {\n self.script.async = true;\n }\n var head = document.getElementsByTagName('head')[0];\n head.insertBefore(self.script, head.firstChild);\n if (self.errorScript) {\n head.insertBefore(self.errorScript, self.script.nextSibling);\n }\n }\n cleanup() {\n if (this.script) {\n this.script.onload = this.script.onerror = null;\n this.script.onreadystatechange = null;\n }\n if (this.script && this.script.parentNode) {\n this.script.parentNode.removeChild(this.script);\n }\n if (this.errorScript && this.errorScript.parentNode) {\n this.errorScript.parentNode.removeChild(this.errorScript);\n }\n this.script = null;\n this.errorScript = null;\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/jsonp_request.ts\n\n\nclass jsonp_request_JSONPRequest {\n constructor(url, data) {\n this.url = url;\n this.data = data;\n }\n send(receiver) {\n if (this.request) {\n return;\n }\n var query = buildQueryString(this.data);\n var url = this.url + '/' + receiver.number + '?' + query;\n this.request = runtime.createScriptRequest(url);\n this.request.send(receiver);\n }\n cleanup() {\n if (this.request) {\n this.request.cleanup();\n }\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/web/timeline/jsonp_timeline.ts\n\n\nvar getAgent = function (sender, useTLS) {\n return function (data, callback) {\n var scheme = 'http' + (useTLS ? 's' : '') + '://';\n var url = scheme + (sender.host || sender.options.host) + sender.options.path;\n var request = runtime.createJSONPRequest(url, data);\n var receiver = runtime.ScriptReceivers.create(function (error, result) {\n ScriptReceivers.remove(receiver);\n request.cleanup();\n if (result && result.host) {\n sender.host = result.host;\n }\n if (callback) {\n callback(error, result);\n }\n });\n request.send(receiver);\n };\n};\nvar jsonp_timeline_jsonp = {\n name: 'jsonp',\n getAgent,\n};\n/* harmony default export */ var jsonp_timeline = (jsonp_timeline_jsonp);\n\n// CONCATENATED MODULE: ./src/core/transports/url_schemes.ts\n\nfunction getGenericURL(baseScheme, params, path) {\n var scheme = baseScheme + (params.useTLS ? 's' : '');\n var host = params.useTLS ? params.hostTLS : params.hostNonTLS;\n return scheme + '://' + host + path;\n}\nfunction getGenericPath(key, queryString) {\n var path = '/app/' + key;\n var query = '?protocol=' +\n defaults.PROTOCOL +\n '&client=js' +\n '&version=' +\n defaults.VERSION +\n (queryString ? '&' + queryString : '');\n return path + query;\n}\nvar ws = {\n getInitial: function (key, params) {\n var path = (params.httpPath || '') + getGenericPath(key, 'flash=false');\n return getGenericURL('ws', params, path);\n },\n};\nvar http = {\n getInitial: function (key, params) {\n var path = (params.httpPath || '/pusher') + getGenericPath(key);\n return getGenericURL('http', params, path);\n },\n};\nvar sockjs = {\n getInitial: function (key, params) {\n return getGenericURL('http', params, params.httpPath || '/pusher');\n },\n getPath: function (key, params) {\n return getGenericPath(key);\n },\n};\n\n// CONCATENATED MODULE: ./src/core/events/callback_registry.ts\n\nclass callback_registry_CallbackRegistry {\n constructor() {\n this._callbacks = {};\n }\n get(name) {\n return this._callbacks[prefix(name)];\n }\n add(name, callback, context) {\n var prefixedEventName = prefix(name);\n this._callbacks[prefixedEventName] =\n this._callbacks[prefixedEventName] || [];\n this._callbacks[prefixedEventName].push({\n fn: callback,\n context: context,\n });\n }\n remove(name, callback, context) {\n if (!name && !callback && !context) {\n this._callbacks = {};\n return;\n }\n var names = name ? [prefix(name)] : keys(this._callbacks);\n if (callback || context) {\n this.removeCallback(names, callback, context);\n }\n else {\n this.removeAllCallbacks(names);\n }\n }\n removeCallback(names, callback, context) {\n apply(names, function (name) {\n this._callbacks[name] = filter(this._callbacks[name] || [], function (binding) {\n return ((callback && callback !== binding.fn) ||\n (context && context !== binding.context));\n });\n if (this._callbacks[name].length === 0) {\n delete this._callbacks[name];\n }\n }, this);\n }\n removeAllCallbacks(names) {\n apply(names, function (name) {\n delete this._callbacks[name];\n }, this);\n }\n}\nfunction prefix(name) {\n return '_' + name;\n}\n\n// CONCATENATED MODULE: ./src/core/events/dispatcher.ts\n\n\nclass dispatcher_Dispatcher {\n constructor(failThrough) {\n this.callbacks = new callback_registry_CallbackRegistry();\n this.global_callbacks = [];\n this.failThrough = failThrough;\n }\n bind(eventName, callback, context) {\n this.callbacks.add(eventName, callback, context);\n return this;\n }\n bind_global(callback) {\n this.global_callbacks.push(callback);\n return this;\n }\n unbind(eventName, callback, context) {\n this.callbacks.remove(eventName, callback, context);\n return this;\n }\n unbind_global(callback) {\n if (!callback) {\n this.global_callbacks = [];\n return this;\n }\n this.global_callbacks = filter(this.global_callbacks || [], (c) => c !== callback);\n return this;\n }\n unbind_all() {\n this.unbind();\n this.unbind_global();\n return this;\n }\n emit(eventName, data, metadata) {\n for (var i = 0; i < this.global_callbacks.length; i++) {\n this.global_callbacks[i](eventName, data);\n }\n var callbacks = this.callbacks.get(eventName);\n var args = [];\n if (metadata) {\n args.push(data, metadata);\n }\n else if (data) {\n args.push(data);\n }\n if (callbacks && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].fn.apply(callbacks[i].context || window, args);\n }\n }\n else if (this.failThrough) {\n this.failThrough(eventName, data);\n }\n return this;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/transports/transport_connection.ts\n\n\n\n\n\nclass transport_connection_TransportConnection extends dispatcher_Dispatcher {\n constructor(hooks, name, priority, key, options) {\n super();\n this.initialize = runtime.transportConnectionInitializer;\n this.hooks = hooks;\n this.name = name;\n this.priority = priority;\n this.key = key;\n this.options = options;\n this.state = 'new';\n this.timeline = options.timeline;\n this.activityTimeout = options.activityTimeout;\n this.id = this.timeline.generateUniqueID();\n }\n handlesActivityChecks() {\n return Boolean(this.hooks.handlesActivityChecks);\n }\n supportsPing() {\n return Boolean(this.hooks.supportsPing);\n }\n connect() {\n if (this.socket || this.state !== 'initialized') {\n return false;\n }\n var url = this.hooks.urls.getInitial(this.key, this.options);\n try {\n this.socket = this.hooks.getSocket(url, this.options);\n }\n catch (e) {\n util.defer(() => {\n this.onError(e);\n this.changeState('closed');\n });\n return false;\n }\n this.bindListeners();\n logger.debug('Connecting', { transport: this.name, url });\n this.changeState('connecting');\n return true;\n }\n close() {\n if (this.socket) {\n this.socket.close();\n return true;\n }\n else {\n return false;\n }\n }\n send(data) {\n if (this.state === 'open') {\n util.defer(() => {\n if (this.socket) {\n this.socket.send(data);\n }\n });\n return true;\n }\n else {\n return false;\n }\n }\n ping() {\n if (this.state === 'open' && this.supportsPing()) {\n this.socket.ping();\n }\n }\n onOpen() {\n if (this.hooks.beforeOpen) {\n this.hooks.beforeOpen(this.socket, this.hooks.urls.getPath(this.key, this.options));\n }\n this.changeState('open');\n this.socket.onopen = undefined;\n }\n onError(error) {\n this.emit('error', { type: 'WebSocketError', error: error });\n this.timeline.error(this.buildTimelineMessage({ error: error.toString() }));\n }\n onClose(closeEvent) {\n if (closeEvent) {\n this.changeState('closed', {\n code: closeEvent.code,\n reason: closeEvent.reason,\n wasClean: closeEvent.wasClean,\n });\n }\n else {\n this.changeState('closed');\n }\n this.unbindListeners();\n this.socket = undefined;\n }\n onMessage(message) {\n this.emit('message', message);\n }\n onActivity() {\n this.emit('activity');\n }\n bindListeners() {\n this.socket.onopen = () => {\n this.onOpen();\n };\n this.socket.onerror = (error) => {\n this.onError(error);\n };\n this.socket.onclose = (closeEvent) => {\n this.onClose(closeEvent);\n };\n this.socket.onmessage = (message) => {\n this.onMessage(message);\n };\n if (this.supportsPing()) {\n this.socket.onactivity = () => {\n this.onActivity();\n };\n }\n }\n unbindListeners() {\n if (this.socket) {\n this.socket.onopen = undefined;\n this.socket.onerror = undefined;\n this.socket.onclose = undefined;\n this.socket.onmessage = undefined;\n if (this.supportsPing()) {\n this.socket.onactivity = undefined;\n }\n }\n }\n changeState(state, params) {\n this.state = state;\n this.timeline.info(this.buildTimelineMessage({\n state: state,\n params: params,\n }));\n this.emit(state, params);\n }\n buildTimelineMessage(message) {\n return extend({ cid: this.id }, message);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/transports/transport.ts\n\nclass transport_Transport {\n constructor(hooks) {\n this.hooks = hooks;\n }\n isSupported(environment) {\n return this.hooks.isSupported(environment);\n }\n createConnection(name, priority, key, options) {\n return new transport_connection_TransportConnection(this.hooks, name, priority, key, options);\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/transports/transports.ts\n\n\n\n\nvar WSTransport = new transport_Transport({\n urls: ws,\n handlesActivityChecks: false,\n supportsPing: false,\n isInitialized: function () {\n return Boolean(runtime.getWebSocketAPI());\n },\n isSupported: function () {\n return Boolean(runtime.getWebSocketAPI());\n },\n getSocket: function (url) {\n return runtime.createWebSocket(url);\n },\n});\nvar httpConfiguration = {\n urls: http,\n handlesActivityChecks: false,\n supportsPing: true,\n isInitialized: function () {\n return true;\n },\n};\nvar streamingConfiguration = extend({\n getSocket: function (url) {\n return runtime.HTTPFactory.createStreamingSocket(url);\n },\n}, httpConfiguration);\nvar pollingConfiguration = extend({\n getSocket: function (url) {\n return runtime.HTTPFactory.createPollingSocket(url);\n },\n}, httpConfiguration);\nvar xhrConfiguration = {\n isSupported: function () {\n return runtime.isXHRSupported();\n },\n};\nvar XHRStreamingTransport = new transport_Transport((extend({}, streamingConfiguration, xhrConfiguration)));\nvar XHRPollingTransport = new transport_Transport((extend({}, pollingConfiguration, xhrConfiguration)));\nvar Transports = {\n ws: WSTransport,\n xhr_streaming: XHRStreamingTransport,\n xhr_polling: XHRPollingTransport,\n};\n/* harmony default export */ var transports = (Transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transports.ts\n\n\n\n\n\n\nvar SockJSTransport = new transport_Transport({\n file: 'sockjs',\n urls: sockjs,\n handlesActivityChecks: true,\n supportsPing: false,\n isSupported: function () {\n return true;\n },\n isInitialized: function () {\n return window.SockJS !== undefined;\n },\n getSocket: function (url, options) {\n return new window.SockJS(url, null, {\n js_path: Dependencies.getPath('sockjs', {\n useTLS: options.useTLS,\n }),\n ignore_null_origin: options.ignoreNullOrigin,\n });\n },\n beforeOpen: function (socket, path) {\n socket.send(JSON.stringify({\n path: path,\n }));\n },\n});\nvar xdrConfiguration = {\n isSupported: function (environment) {\n var yes = runtime.isXDRSupported(environment.useTLS);\n return yes;\n },\n};\nvar XDRStreamingTransport = new transport_Transport((extend({}, streamingConfiguration, xdrConfiguration)));\nvar XDRPollingTransport = new transport_Transport((extend({}, pollingConfiguration, xdrConfiguration)));\ntransports.xdr_streaming = XDRStreamingTransport;\ntransports.xdr_polling = XDRPollingTransport;\ntransports.sockjs = SockJSTransport;\n/* harmony default export */ var transports_transports = (transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/net_info.ts\n\nclass net_info_NetInfo extends dispatcher_Dispatcher {\n constructor() {\n super();\n var self = this;\n if (window.addEventListener !== undefined) {\n window.addEventListener('online', function () {\n self.emit('online');\n }, false);\n window.addEventListener('offline', function () {\n self.emit('offline');\n }, false);\n }\n }\n isOnline() {\n if (window.navigator.onLine === undefined) {\n return true;\n }\n else {\n return window.navigator.onLine;\n }\n }\n}\nvar net_info_Network = new net_info_NetInfo();\n\n// CONCATENATED MODULE: ./src/core/transports/assistant_to_the_transport_manager.ts\n\n\nclass assistant_to_the_transport_manager_AssistantToTheTransportManager {\n constructor(manager, transport, options) {\n this.manager = manager;\n this.transport = transport;\n this.minPingDelay = options.minPingDelay;\n this.maxPingDelay = options.maxPingDelay;\n this.pingDelay = undefined;\n }\n createConnection(name, priority, key, options) {\n options = extend({}, options, {\n activityTimeout: this.pingDelay,\n });\n var connection = this.transport.createConnection(name, priority, key, options);\n var openTimestamp = null;\n var onOpen = function () {\n connection.unbind('open', onOpen);\n connection.bind('closed', onClosed);\n openTimestamp = util.now();\n };\n var onClosed = (closeEvent) => {\n connection.unbind('closed', onClosed);\n if (closeEvent.code === 1002 || closeEvent.code === 1003) {\n this.manager.reportDeath();\n }\n else if (!closeEvent.wasClean && openTimestamp) {\n var lifespan = util.now() - openTimestamp;\n if (lifespan < 2 * this.maxPingDelay) {\n this.manager.reportDeath();\n this.pingDelay = Math.max(lifespan / 2, this.minPingDelay);\n }\n }\n };\n connection.bind('open', onOpen);\n return connection;\n }\n isSupported(environment) {\n return this.manager.isAlive() && this.transport.isSupported(environment);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/connection/protocol/protocol.ts\nconst Protocol = {\n decodeMessage: function (messageEvent) {\n try {\n var messageData = JSON.parse(messageEvent.data);\n var pusherEventData = messageData.data;\n if (typeof pusherEventData === 'string') {\n try {\n pusherEventData = JSON.parse(messageData.data);\n }\n catch (e) { }\n }\n var pusherEvent = {\n event: messageData.event,\n channel: messageData.channel,\n data: pusherEventData,\n };\n if (messageData.user_id) {\n pusherEvent.user_id = messageData.user_id;\n }\n return pusherEvent;\n }\n catch (e) {\n throw { type: 'MessageParseError', error: e, data: messageEvent.data };\n }\n },\n encodeMessage: function (event) {\n return JSON.stringify(event);\n },\n processHandshake: function (messageEvent) {\n var message = Protocol.decodeMessage(messageEvent);\n if (message.event === 'pusher:connection_established') {\n if (!message.data.activity_timeout) {\n throw 'No activity timeout specified in handshake';\n }\n return {\n action: 'connected',\n id: message.data.socket_id,\n activityTimeout: message.data.activity_timeout * 1000,\n };\n }\n else if (message.event === 'pusher:error') {\n return {\n action: this.getCloseAction(message.data),\n error: this.getCloseError(message.data),\n };\n }\n else {\n throw 'Invalid handshake';\n }\n },\n getCloseAction: function (closeEvent) {\n if (closeEvent.code < 4000) {\n if (closeEvent.code >= 1002 && closeEvent.code <= 1004) {\n return 'backoff';\n }\n else {\n return null;\n }\n }\n else if (closeEvent.code === 4000) {\n return 'tls_only';\n }\n else if (closeEvent.code < 4100) {\n return 'refused';\n }\n else if (closeEvent.code < 4200) {\n return 'backoff';\n }\n else if (closeEvent.code < 4300) {\n return 'retry';\n }\n else {\n return 'refused';\n }\n },\n getCloseError: function (closeEvent) {\n if (closeEvent.code !== 1000 && closeEvent.code !== 1001) {\n return {\n type: 'PusherError',\n data: {\n code: closeEvent.code,\n message: closeEvent.reason || closeEvent.message,\n },\n };\n }\n else {\n return null;\n }\n },\n};\n/* harmony default export */ var protocol_protocol = (Protocol);\n\n// CONCATENATED MODULE: ./src/core/connection/connection.ts\n\n\n\n\nclass connection_Connection extends dispatcher_Dispatcher {\n constructor(id, transport) {\n super();\n this.id = id;\n this.transport = transport;\n this.activityTimeout = transport.activityTimeout;\n this.bindListeners();\n }\n handlesActivityChecks() {\n return this.transport.handlesActivityChecks();\n }\n send(data) {\n return this.transport.send(data);\n }\n send_event(name, data, channel) {\n var event = { event: name, data: data };\n if (channel) {\n event.channel = channel;\n }\n logger.debug('Event sent', event);\n return this.send(protocol_protocol.encodeMessage(event));\n }\n ping() {\n if (this.transport.supportsPing()) {\n this.transport.ping();\n }\n else {\n this.send_event('pusher:ping', {});\n }\n }\n close() {\n this.transport.close();\n }\n bindListeners() {\n var listeners = {\n message: (messageEvent) => {\n var pusherEvent;\n try {\n pusherEvent = protocol_protocol.decodeMessage(messageEvent);\n }\n catch (e) {\n this.emit('error', {\n type: 'MessageParseError',\n error: e,\n data: messageEvent.data,\n });\n }\n if (pusherEvent !== undefined) {\n logger.debug('Event recd', pusherEvent);\n switch (pusherEvent.event) {\n case 'pusher:error':\n this.emit('error', {\n type: 'PusherError',\n data: pusherEvent.data,\n });\n break;\n case 'pusher:ping':\n this.emit('ping');\n break;\n case 'pusher:pong':\n this.emit('pong');\n break;\n }\n this.emit('message', pusherEvent);\n }\n },\n activity: () => {\n this.emit('activity');\n },\n error: (error) => {\n this.emit('error', error);\n },\n closed: (closeEvent) => {\n unbindListeners();\n if (closeEvent && closeEvent.code) {\n this.handleCloseEvent(closeEvent);\n }\n this.transport = null;\n this.emit('closed');\n },\n };\n var unbindListeners = () => {\n objectApply(listeners, (listener, event) => {\n this.transport.unbind(event, listener);\n });\n };\n objectApply(listeners, (listener, event) => {\n this.transport.bind(event, listener);\n });\n }\n handleCloseEvent(closeEvent) {\n var action = protocol_protocol.getCloseAction(closeEvent);\n var error = protocol_protocol.getCloseError(closeEvent);\n if (error) {\n this.emit('error', error);\n }\n if (action) {\n this.emit(action, { action: action, error: error });\n }\n }\n}\n\n// CONCATENATED MODULE: ./src/core/connection/handshake/index.ts\n\n\n\nclass handshake_Handshake {\n constructor(transport, callback) {\n this.transport = transport;\n this.callback = callback;\n this.bindListeners();\n }\n close() {\n this.unbindListeners();\n this.transport.close();\n }\n bindListeners() {\n this.onMessage = (m) => {\n this.unbindListeners();\n var result;\n try {\n result = protocol_protocol.processHandshake(m);\n }\n catch (e) {\n this.finish('error', { error: e });\n this.transport.close();\n return;\n }\n if (result.action === 'connected') {\n this.finish('connected', {\n connection: new connection_Connection(result.id, this.transport),\n activityTimeout: result.activityTimeout,\n });\n }\n else {\n this.finish(result.action, { error: result.error });\n this.transport.close();\n }\n };\n this.onClosed = (closeEvent) => {\n this.unbindListeners();\n var action = protocol_protocol.getCloseAction(closeEvent) || 'backoff';\n var error = protocol_protocol.getCloseError(closeEvent);\n this.finish(action, { error: error });\n };\n this.transport.bind('message', this.onMessage);\n this.transport.bind('closed', this.onClosed);\n }\n unbindListeners() {\n this.transport.unbind('message', this.onMessage);\n this.transport.unbind('closed', this.onClosed);\n }\n finish(action, params) {\n this.callback(extend({ transport: this.transport, action: action }, params));\n }\n}\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline_sender.ts\n\nclass timeline_sender_TimelineSender {\n constructor(timeline, options) {\n this.timeline = timeline;\n this.options = options || {};\n }\n send(useTLS, callback) {\n if (this.timeline.isEmpty()) {\n return;\n }\n this.timeline.send(runtime.TimelineTransport.getAgent(this, useTLS), callback);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/channels/channel.ts\n\n\n\n\n\nclass channel_Channel extends dispatcher_Dispatcher {\n constructor(name, pusher) {\n super(function (event, data) {\n logger.debug('No callbacks on ' + name + ' for ' + event);\n });\n this.name = name;\n this.pusher = pusher;\n this.subscribed = false;\n this.subscriptionPending = false;\n this.subscriptionCancelled = false;\n }\n authorize(socketId, callback) {\n return callback(null, { auth: '' });\n }\n trigger(event, data) {\n if (event.indexOf('client-') !== 0) {\n throw new BadEventName(\"Event '\" + event + \"' does not start with 'client-'\");\n }\n if (!this.subscribed) {\n var suffix = url_store.buildLogSuffix('triggeringClientEvents');\n logger.warn(`Client event triggered before channel 'subscription_succeeded' event . ${suffix}`);\n }\n return this.pusher.send_event(event, data, this.name);\n }\n disconnect() {\n this.subscribed = false;\n this.subscriptionPending = false;\n }\n handleEvent(event) {\n var eventName = event.event;\n var data = event.data;\n if (eventName === 'pusher_internal:subscription_succeeded') {\n this.handleSubscriptionSucceededEvent(event);\n }\n else if (eventName === 'pusher_internal:subscription_count') {\n this.handleSubscriptionCountEvent(event);\n }\n else if (eventName.indexOf('pusher_internal:') !== 0) {\n var metadata = {};\n this.emit(eventName, data, metadata);\n }\n }\n handleSubscriptionSucceededEvent(event) {\n this.subscriptionPending = false;\n this.subscribed = true;\n if (this.subscriptionCancelled) {\n this.pusher.unsubscribe(this.name);\n }\n else {\n this.emit('pusher:subscription_succeeded', event.data);\n }\n }\n handleSubscriptionCountEvent(event) {\n if (event.data.subscription_count) {\n this.subscriptionCount = event.data.subscription_count;\n }\n this.emit('pusher:subscription_count', event.data);\n }\n subscribe() {\n if (this.subscribed) {\n return;\n }\n this.subscriptionPending = true;\n this.subscriptionCancelled = false;\n this.authorize(this.pusher.connection.socket_id, (error, data) => {\n if (error) {\n this.subscriptionPending = false;\n logger.error(error.toString());\n this.emit('pusher:subscription_error', Object.assign({}, {\n type: 'AuthError',\n error: error.message,\n }, error instanceof HTTPAuthError ? { status: error.status } : {}));\n }\n else {\n this.pusher.send_event('pusher:subscribe', {\n auth: data.auth,\n channel_data: data.channel_data,\n channel: this.name,\n });\n }\n });\n }\n unsubscribe() {\n this.subscribed = false;\n this.pusher.send_event('pusher:unsubscribe', {\n channel: this.name,\n });\n }\n cancelSubscription() {\n this.subscriptionCancelled = true;\n }\n reinstateSubscription() {\n this.subscriptionCancelled = false;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/channels/private_channel.ts\n\nclass private_channel_PrivateChannel extends channel_Channel {\n authorize(socketId, callback) {\n return this.pusher.config.channelAuthorizer({\n channelName: this.name,\n socketId: socketId,\n }, callback);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/channels/members.ts\n\nclass members_Members {\n constructor() {\n this.reset();\n }\n get(id) {\n if (Object.prototype.hasOwnProperty.call(this.members, id)) {\n return {\n id: id,\n info: this.members[id],\n };\n }\n else {\n return null;\n }\n }\n each(callback) {\n objectApply(this.members, (member, id) => {\n callback(this.get(id));\n });\n }\n setMyID(id) {\n this.myID = id;\n }\n onSubscription(subscriptionData) {\n this.members = subscriptionData.presence.hash;\n this.count = subscriptionData.presence.count;\n this.me = this.get(this.myID);\n }\n addMember(memberData) {\n if (this.get(memberData.user_id) === null) {\n this.count++;\n }\n this.members[memberData.user_id] = memberData.user_info;\n return this.get(memberData.user_id);\n }\n removeMember(memberData) {\n var member = this.get(memberData.user_id);\n if (member) {\n delete this.members[memberData.user_id];\n this.count--;\n }\n return member;\n }\n reset() {\n this.members = {};\n this.count = 0;\n this.myID = null;\n this.me = null;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/channels/presence_channel.ts\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\nclass presence_channel_PresenceChannel extends private_channel_PrivateChannel {\n constructor(name, pusher) {\n super(name, pusher);\n this.members = new members_Members();\n }\n authorize(socketId, callback) {\n super.authorize(socketId, (error, authData) => __awaiter(this, void 0, void 0, function* () {\n if (!error) {\n authData = authData;\n if (authData.channel_data != null) {\n var channelData = JSON.parse(authData.channel_data);\n this.members.setMyID(channelData.user_id);\n }\n else {\n yield this.pusher.user.signinDonePromise;\n if (this.pusher.user.user_data != null) {\n this.members.setMyID(this.pusher.user.user_data.id);\n }\n else {\n let suffix = url_store.buildLogSuffix('authorizationEndpoint');\n logger.error(`Invalid auth response for channel '${this.name}', ` +\n `expected 'channel_data' field. ${suffix}, ` +\n `or the user should be signed in.`);\n callback('Invalid auth response');\n return;\n }\n }\n }\n callback(error, authData);\n }));\n }\n handleEvent(event) {\n var eventName = event.event;\n if (eventName.indexOf('pusher_internal:') === 0) {\n this.handleInternalEvent(event);\n }\n else {\n var data = event.data;\n var metadata = {};\n if (event.user_id) {\n metadata.user_id = event.user_id;\n }\n this.emit(eventName, data, metadata);\n }\n }\n handleInternalEvent(event) {\n var eventName = event.event;\n var data = event.data;\n switch (eventName) {\n case 'pusher_internal:subscription_succeeded':\n this.handleSubscriptionSucceededEvent(event);\n break;\n case 'pusher_internal:subscription_count':\n this.handleSubscriptionCountEvent(event);\n break;\n case 'pusher_internal:member_added':\n var addedMember = this.members.addMember(data);\n this.emit('pusher:member_added', addedMember);\n break;\n case 'pusher_internal:member_removed':\n var removedMember = this.members.removeMember(data);\n if (removedMember) {\n this.emit('pusher:member_removed', removedMember);\n }\n break;\n }\n }\n handleSubscriptionSucceededEvent(event) {\n this.subscriptionPending = false;\n this.subscribed = true;\n if (this.subscriptionCancelled) {\n this.pusher.unsubscribe(this.name);\n }\n else {\n this.members.onSubscription(event.data);\n this.emit('pusher:subscription_succeeded', this.members);\n }\n }\n disconnect() {\n this.members.reset();\n super.disconnect();\n }\n}\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/utf8/lib/utf8.js\nvar utf8 = __webpack_require__(1);\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/base64/lib/base64.js\nvar base64 = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./src/core/channels/encrypted_channel.ts\n\n\n\n\n\nclass encrypted_channel_EncryptedChannel extends private_channel_PrivateChannel {\n constructor(name, pusher, nacl) {\n super(name, pusher);\n this.key = null;\n this.nacl = nacl;\n }\n authorize(socketId, callback) {\n super.authorize(socketId, (error, authData) => {\n if (error) {\n callback(error, authData);\n return;\n }\n let sharedSecret = authData['shared_secret'];\n if (!sharedSecret) {\n callback(new Error(`No shared_secret key in auth payload for encrypted channel: ${this.name}`), null);\n return;\n }\n this.key = Object(base64[\"decode\"])(sharedSecret);\n delete authData['shared_secret'];\n callback(null, authData);\n });\n }\n trigger(event, data) {\n throw new UnsupportedFeature('Client events are not currently supported for encrypted channels');\n }\n handleEvent(event) {\n var eventName = event.event;\n var data = event.data;\n if (eventName.indexOf('pusher_internal:') === 0 ||\n eventName.indexOf('pusher:') === 0) {\n super.handleEvent(event);\n return;\n }\n this.handleEncryptedEvent(eventName, data);\n }\n handleEncryptedEvent(event, data) {\n if (!this.key) {\n logger.debug('Received encrypted event before key has been retrieved from the authEndpoint');\n return;\n }\n if (!data.ciphertext || !data.nonce) {\n logger.error('Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: ' +\n data);\n return;\n }\n let cipherText = Object(base64[\"decode\"])(data.ciphertext);\n if (cipherText.length < this.nacl.secretbox.overheadLength) {\n logger.error(`Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${cipherText.length}`);\n return;\n }\n let nonce = Object(base64[\"decode\"])(data.nonce);\n if (nonce.length < this.nacl.secretbox.nonceLength) {\n logger.error(`Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${nonce.length}`);\n return;\n }\n let bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);\n if (bytes === null) {\n logger.debug('Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint...');\n this.authorize(this.pusher.connection.socket_id, (error, authData) => {\n if (error) {\n logger.error(`Failed to make a request to the authEndpoint: ${authData}. Unable to fetch new key, so dropping encrypted event`);\n return;\n }\n bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);\n if (bytes === null) {\n logger.error(`Failed to decrypt event with new key. Dropping encrypted event`);\n return;\n }\n this.emit(event, this.getDataToEmit(bytes));\n return;\n });\n return;\n }\n this.emit(event, this.getDataToEmit(bytes));\n }\n getDataToEmit(bytes) {\n let raw = Object(utf8[\"decode\"])(bytes);\n try {\n return JSON.parse(raw);\n }\n catch (_a) {\n return raw;\n }\n }\n}\n\n// CONCATENATED MODULE: ./src/core/connection/connection_manager.ts\n\n\n\n\n\nclass connection_manager_ConnectionManager extends dispatcher_Dispatcher {\n constructor(key, options) {\n super();\n this.state = 'initialized';\n this.connection = null;\n this.key = key;\n this.options = options;\n this.timeline = this.options.timeline;\n this.usingTLS = this.options.useTLS;\n this.errorCallbacks = this.buildErrorCallbacks();\n this.connectionCallbacks = this.buildConnectionCallbacks(this.errorCallbacks);\n this.handshakeCallbacks = this.buildHandshakeCallbacks(this.errorCallbacks);\n var Network = runtime.getNetwork();\n Network.bind('online', () => {\n this.timeline.info({ netinfo: 'online' });\n if (this.state === 'connecting' || this.state === 'unavailable') {\n this.retryIn(0);\n }\n });\n Network.bind('offline', () => {\n this.timeline.info({ netinfo: 'offline' });\n if (this.connection) {\n this.sendActivityCheck();\n }\n });\n this.updateStrategy();\n }\n connect() {\n if (this.connection || this.runner) {\n return;\n }\n if (!this.strategy.isSupported()) {\n this.updateState('failed');\n return;\n }\n this.updateState('connecting');\n this.startConnecting();\n this.setUnavailableTimer();\n }\n send(data) {\n if (this.connection) {\n return this.connection.send(data);\n }\n else {\n return false;\n }\n }\n send_event(name, data, channel) {\n if (this.connection) {\n return this.connection.send_event(name, data, channel);\n }\n else {\n return false;\n }\n }\n disconnect() {\n this.disconnectInternally();\n this.updateState('disconnected');\n }\n isUsingTLS() {\n return this.usingTLS;\n }\n startConnecting() {\n var callback = (error, handshake) => {\n if (error) {\n this.runner = this.strategy.connect(0, callback);\n }\n else {\n if (handshake.action === 'error') {\n this.emit('error', {\n type: 'HandshakeError',\n error: handshake.error,\n });\n this.timeline.error({ handshakeError: handshake.error });\n }\n else {\n this.abortConnecting();\n this.handshakeCallbacks[handshake.action](handshake);\n }\n }\n };\n this.runner = this.strategy.connect(0, callback);\n }\n abortConnecting() {\n if (this.runner) {\n this.runner.abort();\n this.runner = null;\n }\n }\n disconnectInternally() {\n this.abortConnecting();\n this.clearRetryTimer();\n this.clearUnavailableTimer();\n if (this.connection) {\n var connection = this.abandonConnection();\n connection.close();\n }\n }\n updateStrategy() {\n this.strategy = this.options.getStrategy({\n key: this.key,\n timeline: this.timeline,\n useTLS: this.usingTLS,\n });\n }\n retryIn(delay) {\n this.timeline.info({ action: 'retry', delay: delay });\n if (delay > 0) {\n this.emit('connecting_in', Math.round(delay / 1000));\n }\n this.retryTimer = new timers_OneOffTimer(delay || 0, () => {\n this.disconnectInternally();\n this.connect();\n });\n }\n clearRetryTimer() {\n if (this.retryTimer) {\n this.retryTimer.ensureAborted();\n this.retryTimer = null;\n }\n }\n setUnavailableTimer() {\n this.unavailableTimer = new timers_OneOffTimer(this.options.unavailableTimeout, () => {\n this.updateState('unavailable');\n });\n }\n clearUnavailableTimer() {\n if (this.unavailableTimer) {\n this.unavailableTimer.ensureAborted();\n }\n }\n sendActivityCheck() {\n this.stopActivityCheck();\n this.connection.ping();\n this.activityTimer = new timers_OneOffTimer(this.options.pongTimeout, () => {\n this.timeline.error({ pong_timed_out: this.options.pongTimeout });\n this.retryIn(0);\n });\n }\n resetActivityCheck() {\n this.stopActivityCheck();\n if (this.connection && !this.connection.handlesActivityChecks()) {\n this.activityTimer = new timers_OneOffTimer(this.activityTimeout, () => {\n this.sendActivityCheck();\n });\n }\n }\n stopActivityCheck() {\n if (this.activityTimer) {\n this.activityTimer.ensureAborted();\n }\n }\n buildConnectionCallbacks(errorCallbacks) {\n return extend({}, errorCallbacks, {\n message: (message) => {\n this.resetActivityCheck();\n this.emit('message', message);\n },\n ping: () => {\n this.send_event('pusher:pong', {});\n },\n activity: () => {\n this.resetActivityCheck();\n },\n error: (error) => {\n this.emit('error', error);\n },\n closed: () => {\n this.abandonConnection();\n if (this.shouldRetry()) {\n this.retryIn(1000);\n }\n },\n });\n }\n buildHandshakeCallbacks(errorCallbacks) {\n return extend({}, errorCallbacks, {\n connected: (handshake) => {\n this.activityTimeout = Math.min(this.options.activityTimeout, handshake.activityTimeout, handshake.connection.activityTimeout || Infinity);\n this.clearUnavailableTimer();\n this.setConnection(handshake.connection);\n this.socket_id = this.connection.id;\n this.updateState('connected', { socket_id: this.socket_id });\n },\n });\n }\n buildErrorCallbacks() {\n let withErrorEmitted = (callback) => {\n return (result) => {\n if (result.error) {\n this.emit('error', { type: 'WebSocketError', error: result.error });\n }\n callback(result);\n };\n };\n return {\n tls_only: withErrorEmitted(() => {\n this.usingTLS = true;\n this.updateStrategy();\n this.retryIn(0);\n }),\n refused: withErrorEmitted(() => {\n this.disconnect();\n }),\n backoff: withErrorEmitted(() => {\n this.retryIn(1000);\n }),\n retry: withErrorEmitted(() => {\n this.retryIn(0);\n }),\n };\n }\n setConnection(connection) {\n this.connection = connection;\n for (var event in this.connectionCallbacks) {\n this.connection.bind(event, this.connectionCallbacks[event]);\n }\n this.resetActivityCheck();\n }\n abandonConnection() {\n if (!this.connection) {\n return;\n }\n this.stopActivityCheck();\n for (var event in this.connectionCallbacks) {\n this.connection.unbind(event, this.connectionCallbacks[event]);\n }\n var connection = this.connection;\n this.connection = null;\n return connection;\n }\n updateState(newState, data) {\n var previousState = this.state;\n this.state = newState;\n if (previousState !== newState) {\n var newStateDescription = newState;\n if (newStateDescription === 'connected') {\n newStateDescription += ' with new socket ID ' + data.socket_id;\n }\n logger.debug('State changed', previousState + ' -> ' + newStateDescription);\n this.timeline.info({ state: newState, params: data });\n this.emit('state_change', { previous: previousState, current: newState });\n this.emit(newState, data);\n }\n }\n shouldRetry() {\n return this.state === 'connecting' || this.state === 'connected';\n }\n}\n\n// CONCATENATED MODULE: ./src/core/channels/channels.ts\n\n\n\n\nclass channels_Channels {\n constructor() {\n this.channels = {};\n }\n add(name, pusher) {\n if (!this.channels[name]) {\n this.channels[name] = createChannel(name, pusher);\n }\n return this.channels[name];\n }\n all() {\n return values(this.channels);\n }\n find(name) {\n return this.channels[name];\n }\n remove(name) {\n var channel = this.channels[name];\n delete this.channels[name];\n return channel;\n }\n disconnect() {\n objectApply(this.channels, function (channel) {\n channel.disconnect();\n });\n }\n}\nfunction createChannel(name, pusher) {\n if (name.indexOf('private-encrypted-') === 0) {\n if (pusher.config.nacl) {\n return factory.createEncryptedChannel(name, pusher, pusher.config.nacl);\n }\n let errMsg = 'Tried to subscribe to a private-encrypted- channel but no nacl implementation available';\n let suffix = url_store.buildLogSuffix('encryptedChannelSupport');\n throw new UnsupportedFeature(`${errMsg}. ${suffix}`);\n }\n else if (name.indexOf('private-') === 0) {\n return factory.createPrivateChannel(name, pusher);\n }\n else if (name.indexOf('presence-') === 0) {\n return factory.createPresenceChannel(name, pusher);\n }\n else if (name.indexOf('#') === 0) {\n throw new BadChannelName('Cannot create a channel with name \"' + name + '\".');\n }\n else {\n return factory.createChannel(name, pusher);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/utils/factory.ts\n\n\n\n\n\n\n\n\n\nvar Factory = {\n createChannels() {\n return new channels_Channels();\n },\n createConnectionManager(key, options) {\n return new connection_manager_ConnectionManager(key, options);\n },\n createChannel(name, pusher) {\n return new channel_Channel(name, pusher);\n },\n createPrivateChannel(name, pusher) {\n return new private_channel_PrivateChannel(name, pusher);\n },\n createPresenceChannel(name, pusher) {\n return new presence_channel_PresenceChannel(name, pusher);\n },\n createEncryptedChannel(name, pusher, nacl) {\n return new encrypted_channel_EncryptedChannel(name, pusher, nacl);\n },\n createTimelineSender(timeline, options) {\n return new timeline_sender_TimelineSender(timeline, options);\n },\n createHandshake(transport, callback) {\n return new handshake_Handshake(transport, callback);\n },\n createAssistantToTheTransportManager(manager, transport, options) {\n return new assistant_to_the_transport_manager_AssistantToTheTransportManager(manager, transport, options);\n },\n};\n/* harmony default export */ var factory = (Factory);\n\n// CONCATENATED MODULE: ./src/core/transports/transport_manager.ts\n\nclass transport_manager_TransportManager {\n constructor(options) {\n this.options = options || {};\n this.livesLeft = this.options.lives || Infinity;\n }\n getAssistant(transport) {\n return factory.createAssistantToTheTransportManager(this, transport, {\n minPingDelay: this.options.minPingDelay,\n maxPingDelay: this.options.maxPingDelay,\n });\n }\n isAlive() {\n return this.livesLeft > 0;\n }\n reportDeath() {\n this.livesLeft -= 1;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/sequential_strategy.ts\n\n\n\nclass sequential_strategy_SequentialStrategy {\n constructor(strategies, options) {\n this.strategies = strategies;\n this.loop = Boolean(options.loop);\n this.failFast = Boolean(options.failFast);\n this.timeout = options.timeout;\n this.timeoutLimit = options.timeoutLimit;\n }\n isSupported() {\n return any(this.strategies, util.method('isSupported'));\n }\n connect(minPriority, callback) {\n var strategies = this.strategies;\n var current = 0;\n var timeout = this.timeout;\n var runner = null;\n var tryNextStrategy = (error, handshake) => {\n if (handshake) {\n callback(null, handshake);\n }\n else {\n current = current + 1;\n if (this.loop) {\n current = current % strategies.length;\n }\n if (current < strategies.length) {\n if (timeout) {\n timeout = timeout * 2;\n if (this.timeoutLimit) {\n timeout = Math.min(timeout, this.timeoutLimit);\n }\n }\n runner = this.tryStrategy(strategies[current], minPriority, { timeout, failFast: this.failFast }, tryNextStrategy);\n }\n else {\n callback(true);\n }\n }\n };\n runner = this.tryStrategy(strategies[current], minPriority, { timeout: timeout, failFast: this.failFast }, tryNextStrategy);\n return {\n abort: function () {\n runner.abort();\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n },\n };\n }\n tryStrategy(strategy, minPriority, options, callback) {\n var timer = null;\n var runner = null;\n if (options.timeout > 0) {\n timer = new timers_OneOffTimer(options.timeout, function () {\n runner.abort();\n callback(true);\n });\n }\n runner = strategy.connect(minPriority, function (error, handshake) {\n if (error && timer && timer.isRunning() && !options.failFast) {\n return;\n }\n if (timer) {\n timer.ensureAborted();\n }\n callback(error, handshake);\n });\n return {\n abort: function () {\n if (timer) {\n timer.ensureAborted();\n }\n runner.abort();\n },\n forceMinPriority: function (p) {\n runner.forceMinPriority(p);\n },\n };\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/best_connected_ever_strategy.ts\n\n\nclass best_connected_ever_strategy_BestConnectedEverStrategy {\n constructor(strategies) {\n this.strategies = strategies;\n }\n isSupported() {\n return any(this.strategies, util.method('isSupported'));\n }\n connect(minPriority, callback) {\n return connect(this.strategies, minPriority, function (i, runners) {\n return function (error, handshake) {\n runners[i].error = error;\n if (error) {\n if (allRunnersFailed(runners)) {\n callback(true);\n }\n return;\n }\n apply(runners, function (runner) {\n runner.forceMinPriority(handshake.transport.priority);\n });\n callback(null, handshake);\n };\n });\n }\n}\nfunction connect(strategies, minPriority, callbackBuilder) {\n var runners = map(strategies, function (strategy, i, _, rs) {\n return strategy.connect(minPriority, callbackBuilder(i, rs));\n });\n return {\n abort: function () {\n apply(runners, abortRunner);\n },\n forceMinPriority: function (p) {\n apply(runners, function (runner) {\n runner.forceMinPriority(p);\n });\n },\n };\n}\nfunction allRunnersFailed(runners) {\n return collections_all(runners, function (runner) {\n return Boolean(runner.error);\n });\n}\nfunction abortRunner(runner) {\n if (!runner.error && !runner.aborted) {\n runner.abort();\n runner.aborted = true;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/websocket_prioritized_cached_strategy.ts\n\n\n\n\nclass websocket_prioritized_cached_strategy_WebSocketPrioritizedCachedStrategy {\n constructor(strategy, transports, options) {\n this.strategy = strategy;\n this.transports = transports;\n this.ttl = options.ttl || 1800 * 1000;\n this.usingTLS = options.useTLS;\n this.timeline = options.timeline;\n }\n isSupported() {\n return this.strategy.isSupported();\n }\n connect(minPriority, callback) {\n var usingTLS = this.usingTLS;\n var info = fetchTransportCache(usingTLS);\n var cacheSkipCount = info && info.cacheSkipCount ? info.cacheSkipCount : 0;\n var strategies = [this.strategy];\n if (info && info.timestamp + this.ttl >= util.now()) {\n var transport = this.transports[info.transport];\n if (transport) {\n if (['ws', 'wss'].includes(info.transport) || cacheSkipCount > 3) {\n this.timeline.info({\n cached: true,\n transport: info.transport,\n latency: info.latency,\n });\n strategies.push(new sequential_strategy_SequentialStrategy([transport], {\n timeout: info.latency * 2 + 1000,\n failFast: true,\n }));\n }\n else {\n cacheSkipCount++;\n }\n }\n }\n var startTimestamp = util.now();\n var runner = strategies\n .pop()\n .connect(minPriority, function cb(error, handshake) {\n if (error) {\n flushTransportCache(usingTLS);\n if (strategies.length > 0) {\n startTimestamp = util.now();\n runner = strategies.pop().connect(minPriority, cb);\n }\n else {\n callback(error);\n }\n }\n else {\n storeTransportCache(usingTLS, handshake.transport.name, util.now() - startTimestamp, cacheSkipCount);\n callback(null, handshake);\n }\n });\n return {\n abort: function () {\n runner.abort();\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n },\n };\n }\n}\nfunction getTransportCacheKey(usingTLS) {\n return 'pusherTransport' + (usingTLS ? 'TLS' : 'NonTLS');\n}\nfunction fetchTransportCache(usingTLS) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n var serializedCache = storage[getTransportCacheKey(usingTLS)];\n if (serializedCache) {\n return JSON.parse(serializedCache);\n }\n }\n catch (e) {\n flushTransportCache(usingTLS);\n }\n }\n return null;\n}\nfunction storeTransportCache(usingTLS, transport, latency, cacheSkipCount) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n storage[getTransportCacheKey(usingTLS)] = safeJSONStringify({\n timestamp: util.now(),\n transport: transport,\n latency: latency,\n cacheSkipCount: cacheSkipCount,\n });\n }\n catch (e) {\n }\n }\n}\nfunction flushTransportCache(usingTLS) {\n var storage = runtime.getLocalStorage();\n if (storage) {\n try {\n delete storage[getTransportCacheKey(usingTLS)];\n }\n catch (e) {\n }\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/delayed_strategy.ts\n\nclass delayed_strategy_DelayedStrategy {\n constructor(strategy, { delay: number }) {\n this.strategy = strategy;\n this.options = { delay: number };\n }\n isSupported() {\n return this.strategy.isSupported();\n }\n connect(minPriority, callback) {\n var strategy = this.strategy;\n var runner;\n var timer = new timers_OneOffTimer(this.options.delay, function () {\n runner = strategy.connect(minPriority, callback);\n });\n return {\n abort: function () {\n timer.ensureAborted();\n if (runner) {\n runner.abort();\n }\n },\n forceMinPriority: function (p) {\n minPriority = p;\n if (runner) {\n runner.forceMinPriority(p);\n }\n },\n };\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/if_strategy.ts\nclass IfStrategy {\n constructor(test, trueBranch, falseBranch) {\n this.test = test;\n this.trueBranch = trueBranch;\n this.falseBranch = falseBranch;\n }\n isSupported() {\n var branch = this.test() ? this.trueBranch : this.falseBranch;\n return branch.isSupported();\n }\n connect(minPriority, callback) {\n var branch = this.test() ? this.trueBranch : this.falseBranch;\n return branch.connect(minPriority, callback);\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/first_connected_strategy.ts\nclass FirstConnectedStrategy {\n constructor(strategy) {\n this.strategy = strategy;\n }\n isSupported() {\n return this.strategy.isSupported();\n }\n connect(minPriority, callback) {\n var runner = this.strategy.connect(minPriority, function (error, handshake) {\n if (handshake) {\n runner.abort();\n }\n callback(error, handshake);\n });\n return runner;\n }\n}\n\n// CONCATENATED MODULE: ./src/runtimes/web/default_strategy.ts\n\n\n\n\n\n\n\nfunction testSupportsStrategy(strategy) {\n return function () {\n return strategy.isSupported();\n };\n}\nvar getDefaultStrategy = function (config, baseOptions, defineTransport) {\n var definedTransports = {};\n function defineTransportStrategy(name, type, priority, options, manager) {\n var transport = defineTransport(config, name, type, priority, options, manager);\n definedTransports[name] = transport;\n return transport;\n }\n var ws_options = Object.assign({}, baseOptions, {\n hostNonTLS: config.wsHost + ':' + config.wsPort,\n hostTLS: config.wsHost + ':' + config.wssPort,\n httpPath: config.wsPath,\n });\n var wss_options = Object.assign({}, ws_options, {\n useTLS: true,\n });\n var sockjs_options = Object.assign({}, baseOptions, {\n hostNonTLS: config.httpHost + ':' + config.httpPort,\n hostTLS: config.httpHost + ':' + config.httpsPort,\n httpPath: config.httpPath,\n });\n var timeouts = {\n loop: true,\n timeout: 15000,\n timeoutLimit: 60000,\n };\n var ws_manager = new transport_manager_TransportManager({\n minPingDelay: 10000,\n maxPingDelay: config.activityTimeout,\n });\n var streaming_manager = new transport_manager_TransportManager({\n lives: 2,\n minPingDelay: 10000,\n maxPingDelay: config.activityTimeout,\n });\n var ws_transport = defineTransportStrategy('ws', 'ws', 3, ws_options, ws_manager);\n var wss_transport = defineTransportStrategy('wss', 'ws', 3, wss_options, ws_manager);\n var sockjs_transport = defineTransportStrategy('sockjs', 'sockjs', 1, sockjs_options);\n var xhr_streaming_transport = defineTransportStrategy('xhr_streaming', 'xhr_streaming', 1, sockjs_options, streaming_manager);\n var xdr_streaming_transport = defineTransportStrategy('xdr_streaming', 'xdr_streaming', 1, sockjs_options, streaming_manager);\n var xhr_polling_transport = defineTransportStrategy('xhr_polling', 'xhr_polling', 1, sockjs_options);\n var xdr_polling_transport = defineTransportStrategy('xdr_polling', 'xdr_polling', 1, sockjs_options);\n var ws_loop = new sequential_strategy_SequentialStrategy([ws_transport], timeouts);\n var wss_loop = new sequential_strategy_SequentialStrategy([wss_transport], timeouts);\n var sockjs_loop = new sequential_strategy_SequentialStrategy([sockjs_transport], timeouts);\n var streaming_loop = new sequential_strategy_SequentialStrategy([\n new IfStrategy(testSupportsStrategy(xhr_streaming_transport), xhr_streaming_transport, xdr_streaming_transport),\n ], timeouts);\n var polling_loop = new sequential_strategy_SequentialStrategy([\n new IfStrategy(testSupportsStrategy(xhr_polling_transport), xhr_polling_transport, xdr_polling_transport),\n ], timeouts);\n var http_loop = new sequential_strategy_SequentialStrategy([\n new IfStrategy(testSupportsStrategy(streaming_loop), new best_connected_ever_strategy_BestConnectedEverStrategy([\n streaming_loop,\n new delayed_strategy_DelayedStrategy(polling_loop, { delay: 4000 }),\n ]), polling_loop),\n ], timeouts);\n var http_fallback_loop = new IfStrategy(testSupportsStrategy(http_loop), http_loop, sockjs_loop);\n var wsStrategy;\n if (baseOptions.useTLS) {\n wsStrategy = new best_connected_ever_strategy_BestConnectedEverStrategy([\n ws_loop,\n new delayed_strategy_DelayedStrategy(http_fallback_loop, { delay: 2000 }),\n ]);\n }\n else {\n wsStrategy = new best_connected_ever_strategy_BestConnectedEverStrategy([\n ws_loop,\n new delayed_strategy_DelayedStrategy(wss_loop, { delay: 2000 }),\n new delayed_strategy_DelayedStrategy(http_fallback_loop, { delay: 5000 }),\n ]);\n }\n return new websocket_prioritized_cached_strategy_WebSocketPrioritizedCachedStrategy(new FirstConnectedStrategy(new IfStrategy(testSupportsStrategy(ws_transport), wsStrategy, http_fallback_loop)), definedTransports, {\n ttl: 1800000,\n timeline: baseOptions.timeline,\n useTLS: baseOptions.useTLS,\n });\n};\n/* harmony default export */ var default_strategy = (getDefaultStrategy);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transport_connection_initializer.ts\n\n/* harmony default export */ var transport_connection_initializer = (function () {\n var self = this;\n self.timeline.info(self.buildTimelineMessage({\n transport: self.name + (self.options.useTLS ? 's' : ''),\n }));\n if (self.hooks.isInitialized()) {\n self.changeState('initialized');\n }\n else if (self.hooks.file) {\n self.changeState('initializing');\n Dependencies.load(self.hooks.file, { useTLS: self.options.useTLS }, function (error, callback) {\n if (self.hooks.isInitialized()) {\n self.changeState('initialized');\n callback(true);\n }\n else {\n if (error) {\n self.onError(error);\n }\n self.onClose();\n callback(false);\n }\n });\n }\n else {\n self.onClose();\n }\n});\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http_xdomain_request.ts\n\nvar http_xdomain_request_hooks = {\n getRequest: function (socket) {\n var xdr = new window.XDomainRequest();\n xdr.ontimeout = function () {\n socket.emit('error', new RequestTimedOut());\n socket.close();\n };\n xdr.onerror = function (e) {\n socket.emit('error', e);\n socket.close();\n };\n xdr.onprogress = function () {\n if (xdr.responseText && xdr.responseText.length > 0) {\n socket.onChunk(200, xdr.responseText);\n }\n };\n xdr.onload = function () {\n if (xdr.responseText && xdr.responseText.length > 0) {\n socket.onChunk(200, xdr.responseText);\n }\n socket.emit('finished', 200);\n socket.close();\n };\n return xdr;\n },\n abortRequest: function (xdr) {\n xdr.ontimeout = xdr.onerror = xdr.onprogress = xdr.onload = null;\n xdr.abort();\n },\n};\n/* harmony default export */ var http_xdomain_request = (http_xdomain_request_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_request.ts\n\n\nconst MAX_BUFFER_LENGTH = 256 * 1024;\nclass http_request_HTTPRequest extends dispatcher_Dispatcher {\n constructor(hooks, method, url) {\n super();\n this.hooks = hooks;\n this.method = method;\n this.url = url;\n }\n start(payload) {\n this.position = 0;\n this.xhr = this.hooks.getRequest(this);\n this.unloader = () => {\n this.close();\n };\n runtime.addUnloadListener(this.unloader);\n this.xhr.open(this.method, this.url, true);\n if (this.xhr.setRequestHeader) {\n this.xhr.setRequestHeader('Content-Type', 'application/json');\n }\n this.xhr.send(payload);\n }\n close() {\n if (this.unloader) {\n runtime.removeUnloadListener(this.unloader);\n this.unloader = null;\n }\n if (this.xhr) {\n this.hooks.abortRequest(this.xhr);\n this.xhr = null;\n }\n }\n onChunk(status, data) {\n while (true) {\n var chunk = this.advanceBuffer(data);\n if (chunk) {\n this.emit('chunk', { status: status, data: chunk });\n }\n else {\n break;\n }\n }\n if (this.isBufferTooLong(data)) {\n this.emit('buffer_too_long');\n }\n }\n advanceBuffer(buffer) {\n var unreadData = buffer.slice(this.position);\n var endOfLinePosition = unreadData.indexOf('\\n');\n if (endOfLinePosition !== -1) {\n this.position += endOfLinePosition + 1;\n return unreadData.slice(0, endOfLinePosition);\n }\n else {\n return null;\n }\n }\n isBufferTooLong(buffer) {\n return this.position === buffer.length && buffer.length > MAX_BUFFER_LENGTH;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/http/state.ts\nvar State;\n(function (State) {\n State[State[\"CONNECTING\"] = 0] = \"CONNECTING\";\n State[State[\"OPEN\"] = 1] = \"OPEN\";\n State[State[\"CLOSED\"] = 3] = \"CLOSED\";\n})(State || (State = {}));\n/* harmony default export */ var state = (State);\n\n// CONCATENATED MODULE: ./src/core/http/http_socket.ts\n\n\n\nvar autoIncrement = 1;\nclass http_socket_HTTPSocket {\n constructor(hooks, url) {\n this.hooks = hooks;\n this.session = randomNumber(1000) + '/' + randomString(8);\n this.location = getLocation(url);\n this.readyState = state.CONNECTING;\n this.openStream();\n }\n send(payload) {\n return this.sendRaw(JSON.stringify([payload]));\n }\n ping() {\n this.hooks.sendHeartbeat(this);\n }\n close(code, reason) {\n this.onClose(code, reason, true);\n }\n sendRaw(payload) {\n if (this.readyState === state.OPEN) {\n try {\n runtime.createSocketRequest('POST', getUniqueURL(getSendURL(this.location, this.session))).start(payload);\n return true;\n }\n catch (e) {\n return false;\n }\n }\n else {\n return false;\n }\n }\n reconnect() {\n this.closeStream();\n this.openStream();\n }\n onClose(code, reason, wasClean) {\n this.closeStream();\n this.readyState = state.CLOSED;\n if (this.onclose) {\n this.onclose({\n code: code,\n reason: reason,\n wasClean: wasClean,\n });\n }\n }\n onChunk(chunk) {\n if (chunk.status !== 200) {\n return;\n }\n if (this.readyState === state.OPEN) {\n this.onActivity();\n }\n var payload;\n var type = chunk.data.slice(0, 1);\n switch (type) {\n case 'o':\n payload = JSON.parse(chunk.data.slice(1) || '{}');\n this.onOpen(payload);\n break;\n case 'a':\n payload = JSON.parse(chunk.data.slice(1) || '[]');\n for (var i = 0; i < payload.length; i++) {\n this.onEvent(payload[i]);\n }\n break;\n case 'm':\n payload = JSON.parse(chunk.data.slice(1) || 'null');\n this.onEvent(payload);\n break;\n case 'h':\n this.hooks.onHeartbeat(this);\n break;\n case 'c':\n payload = JSON.parse(chunk.data.slice(1) || '[]');\n this.onClose(payload[0], payload[1], true);\n break;\n }\n }\n onOpen(options) {\n if (this.readyState === state.CONNECTING) {\n if (options && options.hostname) {\n this.location.base = replaceHost(this.location.base, options.hostname);\n }\n this.readyState = state.OPEN;\n if (this.onopen) {\n this.onopen();\n }\n }\n else {\n this.onClose(1006, 'Server lost session', true);\n }\n }\n onEvent(event) {\n if (this.readyState === state.OPEN && this.onmessage) {\n this.onmessage({ data: event });\n }\n }\n onActivity() {\n if (this.onactivity) {\n this.onactivity();\n }\n }\n onError(error) {\n if (this.onerror) {\n this.onerror(error);\n }\n }\n openStream() {\n this.stream = runtime.createSocketRequest('POST', getUniqueURL(this.hooks.getReceiveURL(this.location, this.session)));\n this.stream.bind('chunk', (chunk) => {\n this.onChunk(chunk);\n });\n this.stream.bind('finished', (status) => {\n this.hooks.onFinished(this, status);\n });\n this.stream.bind('buffer_too_long', () => {\n this.reconnect();\n });\n try {\n this.stream.start();\n }\n catch (error) {\n util.defer(() => {\n this.onError(error);\n this.onClose(1006, 'Could not start streaming', false);\n });\n }\n }\n closeStream() {\n if (this.stream) {\n this.stream.unbind_all();\n this.stream.close();\n this.stream = null;\n }\n }\n}\nfunction getLocation(url) {\n var parts = /([^\\?]*)\\/*(\\??.*)/.exec(url);\n return {\n base: parts[1],\n queryString: parts[2],\n };\n}\nfunction getSendURL(url, session) {\n return url.base + '/' + session + '/xhr_send';\n}\nfunction getUniqueURL(url) {\n var separator = url.indexOf('?') === -1 ? '?' : '&';\n return url + separator + 't=' + +new Date() + '&n=' + autoIncrement++;\n}\nfunction replaceHost(url, hostname) {\n var urlParts = /(https?:\\/\\/)([^\\/:]+)((\\/|:)?.*)/.exec(url);\n return urlParts[1] + hostname + urlParts[3];\n}\nfunction randomNumber(max) {\n return runtime.randomInt(max);\n}\nfunction randomString(length) {\n var result = [];\n for (var i = 0; i < length; i++) {\n result.push(randomNumber(32).toString(32));\n }\n return result.join('');\n}\n/* harmony default export */ var http_socket = (http_socket_HTTPSocket);\n\n// CONCATENATED MODULE: ./src/core/http/http_streaming_socket.ts\nvar http_streaming_socket_hooks = {\n getReceiveURL: function (url, session) {\n return url.base + '/' + session + '/xhr_streaming' + url.queryString;\n },\n onHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n sendHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n onFinished: function (socket, status) {\n socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n },\n};\n/* harmony default export */ var http_streaming_socket = (http_streaming_socket_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_polling_socket.ts\nvar http_polling_socket_hooks = {\n getReceiveURL: function (url, session) {\n return url.base + '/' + session + '/xhr' + url.queryString;\n },\n onHeartbeat: function () {\n },\n sendHeartbeat: function (socket) {\n socket.sendRaw('[]');\n },\n onFinished: function (socket, status) {\n if (status === 200) {\n socket.reconnect();\n }\n else {\n socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n }\n },\n};\n/* harmony default export */ var http_polling_socket = (http_polling_socket_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http_xhr_request.ts\n\nvar http_xhr_request_hooks = {\n getRequest: function (socket) {\n var Constructor = runtime.getXHRAPI();\n var xhr = new Constructor();\n xhr.onreadystatechange = xhr.onprogress = function () {\n switch (xhr.readyState) {\n case 3:\n if (xhr.responseText && xhr.responseText.length > 0) {\n socket.onChunk(xhr.status, xhr.responseText);\n }\n break;\n case 4:\n if (xhr.responseText && xhr.responseText.length > 0) {\n socket.onChunk(xhr.status, xhr.responseText);\n }\n socket.emit('finished', xhr.status);\n socket.close();\n break;\n }\n };\n return xhr;\n },\n abortRequest: function (xhr) {\n xhr.onreadystatechange = null;\n xhr.abort();\n },\n};\n/* harmony default export */ var http_xhr_request = (http_xhr_request_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http.ts\n\n\n\n\n\nvar HTTP = {\n createStreamingSocket(url) {\n return this.createSocket(http_streaming_socket, url);\n },\n createPollingSocket(url) {\n return this.createSocket(http_polling_socket, url);\n },\n createSocket(hooks, url) {\n return new http_socket(hooks, url);\n },\n createXHR(method, url) {\n return this.createRequest(http_xhr_request, method, url);\n },\n createRequest(hooks, method, url) {\n return new http_request_HTTPRequest(hooks, method, url);\n },\n};\n/* harmony default export */ var http_http = (HTTP);\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http.ts\n\n\nhttp_http.createXDR = function (method, url) {\n return this.createRequest(http_xdomain_request, method, url);\n};\n/* harmony default export */ var web_http_http = (http_http);\n\n// CONCATENATED MODULE: ./src/runtimes/web/runtime.ts\n\n\n\n\n\n\n\n\n\n\n\n\nvar Runtime = {\n nextAuthCallbackID: 1,\n auth_callbacks: {},\n ScriptReceivers: ScriptReceivers,\n DependenciesReceivers: DependenciesReceivers,\n getDefaultStrategy: default_strategy,\n Transports: transports_transports,\n transportConnectionInitializer: transport_connection_initializer,\n HTTPFactory: web_http_http,\n TimelineTransport: jsonp_timeline,\n getXHRAPI() {\n return window.XMLHttpRequest;\n },\n getWebSocketAPI() {\n return window.WebSocket || window.MozWebSocket;\n },\n setup(PusherClass) {\n window.Pusher = PusherClass;\n var initializeOnDocumentBody = () => {\n this.onDocumentBody(PusherClass.ready);\n };\n if (!window.JSON) {\n Dependencies.load('json2', {}, initializeOnDocumentBody);\n }\n else {\n initializeOnDocumentBody();\n }\n },\n getDocument() {\n return document;\n },\n getProtocol() {\n return this.getDocument().location.protocol;\n },\n getAuthorizers() {\n return { ajax: xhr_auth, jsonp: jsonp_auth };\n },\n onDocumentBody(callback) {\n if (document.body) {\n callback();\n }\n else {\n setTimeout(() => {\n this.onDocumentBody(callback);\n }, 0);\n }\n },\n createJSONPRequest(url, data) {\n return new jsonp_request_JSONPRequest(url, data);\n },\n createScriptRequest(src) {\n return new ScriptRequest(src);\n },\n getLocalStorage() {\n try {\n return window.localStorage;\n }\n catch (e) {\n return undefined;\n }\n },\n createXHR() {\n if (this.getXHRAPI()) {\n return this.createXMLHttpRequest();\n }\n else {\n return this.createMicrosoftXHR();\n }\n },\n createXMLHttpRequest() {\n var Constructor = this.getXHRAPI();\n return new Constructor();\n },\n createMicrosoftXHR() {\n return new ActiveXObject('Microsoft.XMLHTTP');\n },\n getNetwork() {\n return net_info_Network;\n },\n createWebSocket(url) {\n var Constructor = this.getWebSocketAPI();\n return new Constructor(url);\n },\n createSocketRequest(method, url) {\n if (this.isXHRSupported()) {\n return this.HTTPFactory.createXHR(method, url);\n }\n else if (this.isXDRSupported(url.indexOf('https:') === 0)) {\n return this.HTTPFactory.createXDR(method, url);\n }\n else {\n throw 'Cross-origin HTTP requests are not supported';\n }\n },\n isXHRSupported() {\n var Constructor = this.getXHRAPI();\n return (Boolean(Constructor) && new Constructor().withCredentials !== undefined);\n },\n isXDRSupported(useTLS) {\n var protocol = useTLS ? 'https:' : 'http:';\n var documentProtocol = this.getProtocol();\n return (Boolean(window['XDomainRequest']) && documentProtocol === protocol);\n },\n addUnloadListener(listener) {\n if (window.addEventListener !== undefined) {\n window.addEventListener('unload', listener, false);\n }\n else if (window.attachEvent !== undefined) {\n window.attachEvent('onunload', listener);\n }\n },\n removeUnloadListener(listener) {\n if (window.addEventListener !== undefined) {\n window.removeEventListener('unload', listener, false);\n }\n else if (window.detachEvent !== undefined) {\n window.detachEvent('onunload', listener);\n }\n },\n randomInt(max) {\n const random = function () {\n const crypto = window.crypto || window['msCrypto'];\n const random = crypto.getRandomValues(new Uint32Array(1))[0];\n return random / Math.pow(2, 32);\n };\n return Math.floor(random() * max);\n },\n};\n/* harmony default export */ var runtime = (Runtime);\n\n// CONCATENATED MODULE: ./src/core/timeline/level.ts\nvar TimelineLevel;\n(function (TimelineLevel) {\n TimelineLevel[TimelineLevel[\"ERROR\"] = 3] = \"ERROR\";\n TimelineLevel[TimelineLevel[\"INFO\"] = 6] = \"INFO\";\n TimelineLevel[TimelineLevel[\"DEBUG\"] = 7] = \"DEBUG\";\n})(TimelineLevel || (TimelineLevel = {}));\n/* harmony default export */ var timeline_level = (TimelineLevel);\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline.ts\n\n\n\nclass timeline_Timeline {\n constructor(key, session, options) {\n this.key = key;\n this.session = session;\n this.events = [];\n this.options = options || {};\n this.sent = 0;\n this.uniqueID = 0;\n }\n log(level, event) {\n if (level <= this.options.level) {\n this.events.push(extend({}, event, { timestamp: util.now() }));\n if (this.options.limit && this.events.length > this.options.limit) {\n this.events.shift();\n }\n }\n }\n error(event) {\n this.log(timeline_level.ERROR, event);\n }\n info(event) {\n this.log(timeline_level.INFO, event);\n }\n debug(event) {\n this.log(timeline_level.DEBUG, event);\n }\n isEmpty() {\n return this.events.length === 0;\n }\n send(sendfn, callback) {\n var data = extend({\n session: this.session,\n bundle: this.sent + 1,\n key: this.key,\n lib: 'js',\n version: this.options.version,\n cluster: this.options.cluster,\n features: this.options.features,\n timeline: this.events,\n }, this.options.params);\n this.events = [];\n sendfn(data, (error, result) => {\n if (!error) {\n this.sent++;\n }\n if (callback) {\n callback(error, result);\n }\n });\n return true;\n }\n generateUniqueID() {\n this.uniqueID++;\n return this.uniqueID;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/transport_strategy.ts\n\n\n\n\nclass transport_strategy_TransportStrategy {\n constructor(name, priority, transport, options) {\n this.name = name;\n this.priority = priority;\n this.transport = transport;\n this.options = options || {};\n }\n isSupported() {\n return this.transport.isSupported({\n useTLS: this.options.useTLS,\n });\n }\n connect(minPriority, callback) {\n if (!this.isSupported()) {\n return failAttempt(new UnsupportedStrategy(), callback);\n }\n else if (this.priority < minPriority) {\n return failAttempt(new TransportPriorityTooLow(), callback);\n }\n var connected = false;\n var transport = this.transport.createConnection(this.name, this.priority, this.options.key, this.options);\n var handshake = null;\n var onInitialized = function () {\n transport.unbind('initialized', onInitialized);\n transport.connect();\n };\n var onOpen = function () {\n handshake = factory.createHandshake(transport, function (result) {\n connected = true;\n unbindListeners();\n callback(null, result);\n });\n };\n var onError = function (error) {\n unbindListeners();\n callback(error);\n };\n var onClosed = function () {\n unbindListeners();\n var serializedTransport;\n serializedTransport = safeJSONStringify(transport);\n callback(new TransportClosed(serializedTransport));\n };\n var unbindListeners = function () {\n transport.unbind('initialized', onInitialized);\n transport.unbind('open', onOpen);\n transport.unbind('error', onError);\n transport.unbind('closed', onClosed);\n };\n transport.bind('initialized', onInitialized);\n transport.bind('open', onOpen);\n transport.bind('error', onError);\n transport.bind('closed', onClosed);\n transport.initialize();\n return {\n abort: () => {\n if (connected) {\n return;\n }\n unbindListeners();\n if (handshake) {\n handshake.close();\n }\n else {\n transport.close();\n }\n },\n forceMinPriority: (p) => {\n if (connected) {\n return;\n }\n if (this.priority < p) {\n if (handshake) {\n handshake.close();\n }\n else {\n transport.close();\n }\n }\n },\n };\n }\n}\nfunction failAttempt(error, callback) {\n util.defer(function () {\n callback(error);\n });\n return {\n abort: function () { },\n forceMinPriority: function () { },\n };\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/strategy_builder.ts\n\n\n\n\n\nconst { Transports: strategy_builder_Transports } = runtime;\nvar strategy_builder_defineTransport = function (config, name, type, priority, options, manager) {\n var transportClass = strategy_builder_Transports[type];\n if (!transportClass) {\n throw new UnsupportedTransport(type);\n }\n var enabled = (!config.enabledTransports ||\n arrayIndexOf(config.enabledTransports, name) !== -1) &&\n (!config.disabledTransports ||\n arrayIndexOf(config.disabledTransports, name) === -1);\n var transport;\n if (enabled) {\n options = Object.assign({ ignoreNullOrigin: config.ignoreNullOrigin }, options);\n transport = new transport_strategy_TransportStrategy(name, priority, manager ? manager.getAssistant(transportClass) : transportClass, options);\n }\n else {\n transport = strategy_builder_UnsupportedStrategy;\n }\n return transport;\n};\nvar strategy_builder_UnsupportedStrategy = {\n isSupported: function () {\n return false;\n },\n connect: function (_, callback) {\n var deferred = util.defer(function () {\n callback(new UnsupportedStrategy());\n });\n return {\n abort: function () {\n deferred.ensureAborted();\n },\n forceMinPriority: function () { },\n };\n },\n};\n\n// CONCATENATED MODULE: ./src/core/options.ts\n\nfunction validateOptions(options) {\n if (options == null) {\n throw 'You must pass an options object';\n }\n if (options.cluster == null) {\n throw 'Options object must provide a cluster';\n }\n if ('disableStats' in options) {\n logger.warn('The disableStats option is deprecated in favor of enableStats');\n }\n}\n\n// CONCATENATED MODULE: ./src/core/auth/user_authenticator.ts\n\n\nconst composeChannelQuery = (params, authOptions) => {\n var query = 'socket_id=' + encodeURIComponent(params.socketId);\n for (var key in authOptions.params) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(authOptions.params[key]);\n }\n if (authOptions.paramsProvider != null) {\n let dynamicParams = authOptions.paramsProvider();\n for (var key in dynamicParams) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(dynamicParams[key]);\n }\n }\n return query;\n};\nconst UserAuthenticator = (authOptions) => {\n if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n throw `'${authOptions.transport}' is not a recognized auth transport`;\n }\n return (params, callback) => {\n const query = composeChannelQuery(params, authOptions);\n runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.UserAuthentication, callback);\n };\n};\n/* harmony default export */ var user_authenticator = (UserAuthenticator);\n\n// CONCATENATED MODULE: ./src/core/auth/channel_authorizer.ts\n\n\nconst channel_authorizer_composeChannelQuery = (params, authOptions) => {\n var query = 'socket_id=' + encodeURIComponent(params.socketId);\n query += '&channel_name=' + encodeURIComponent(params.channelName);\n for (var key in authOptions.params) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(authOptions.params[key]);\n }\n if (authOptions.paramsProvider != null) {\n let dynamicParams = authOptions.paramsProvider();\n for (var key in dynamicParams) {\n query +=\n '&' +\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(dynamicParams[key]);\n }\n }\n return query;\n};\nconst ChannelAuthorizer = (authOptions) => {\n if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n throw `'${authOptions.transport}' is not a recognized auth transport`;\n }\n return (params, callback) => {\n const query = channel_authorizer_composeChannelQuery(params, authOptions);\n runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.ChannelAuthorization, callback);\n };\n};\n/* harmony default export */ var channel_authorizer = (ChannelAuthorizer);\n\n// CONCATENATED MODULE: ./src/core/auth/deprecated_channel_authorizer.ts\nconst ChannelAuthorizerProxy = (pusher, authOptions, channelAuthorizerGenerator) => {\n const deprecatedAuthorizerOptions = {\n authTransport: authOptions.transport,\n authEndpoint: authOptions.endpoint,\n auth: {\n params: authOptions.params,\n headers: authOptions.headers,\n },\n };\n return (params, callback) => {\n const channel = pusher.channel(params.channelName);\n const channelAuthorizer = channelAuthorizerGenerator(channel, deprecatedAuthorizerOptions);\n channelAuthorizer.authorize(params.socketId, callback);\n };\n};\n\n// CONCATENATED MODULE: ./src/core/config.ts\n\n\n\n\n\nfunction getConfig(opts, pusher) {\n let config = {\n activityTimeout: opts.activityTimeout || defaults.activityTimeout,\n cluster: opts.cluster,\n httpPath: opts.httpPath || defaults.httpPath,\n httpPort: opts.httpPort || defaults.httpPort,\n httpsPort: opts.httpsPort || defaults.httpsPort,\n pongTimeout: opts.pongTimeout || defaults.pongTimeout,\n statsHost: opts.statsHost || defaults.stats_host,\n unavailableTimeout: opts.unavailableTimeout || defaults.unavailableTimeout,\n wsPath: opts.wsPath || defaults.wsPath,\n wsPort: opts.wsPort || defaults.wsPort,\n wssPort: opts.wssPort || defaults.wssPort,\n enableStats: getEnableStatsConfig(opts),\n httpHost: getHttpHost(opts),\n useTLS: shouldUseTLS(opts),\n wsHost: getWebsocketHost(opts),\n userAuthenticator: buildUserAuthenticator(opts),\n channelAuthorizer: buildChannelAuthorizer(opts, pusher),\n };\n if ('disabledTransports' in opts)\n config.disabledTransports = opts.disabledTransports;\n if ('enabledTransports' in opts)\n config.enabledTransports = opts.enabledTransports;\n if ('ignoreNullOrigin' in opts)\n config.ignoreNullOrigin = opts.ignoreNullOrigin;\n if ('timelineParams' in opts)\n config.timelineParams = opts.timelineParams;\n if ('nacl' in opts) {\n config.nacl = opts.nacl;\n }\n return config;\n}\nfunction getHttpHost(opts) {\n if (opts.httpHost) {\n return opts.httpHost;\n }\n if (opts.cluster) {\n return `sockjs-${opts.cluster}.pusher.com`;\n }\n return defaults.httpHost;\n}\nfunction getWebsocketHost(opts) {\n if (opts.wsHost) {\n return opts.wsHost;\n }\n return getWebsocketHostFromCluster(opts.cluster);\n}\nfunction getWebsocketHostFromCluster(cluster) {\n return `ws-${cluster}.pusher.com`;\n}\nfunction shouldUseTLS(opts) {\n if (runtime.getProtocol() === 'https:') {\n return true;\n }\n else if (opts.forceTLS === false) {\n return false;\n }\n return true;\n}\nfunction getEnableStatsConfig(opts) {\n if ('enableStats' in opts) {\n return opts.enableStats;\n }\n if ('disableStats' in opts) {\n return !opts.disableStats;\n }\n return false;\n}\nfunction buildUserAuthenticator(opts) {\n const userAuthentication = Object.assign(Object.assign({}, defaults.userAuthentication), opts.userAuthentication);\n if ('customHandler' in userAuthentication &&\n userAuthentication['customHandler'] != null) {\n return userAuthentication['customHandler'];\n }\n return user_authenticator(userAuthentication);\n}\nfunction buildChannelAuth(opts, pusher) {\n let channelAuthorization;\n if ('channelAuthorization' in opts) {\n channelAuthorization = Object.assign(Object.assign({}, defaults.channelAuthorization), opts.channelAuthorization);\n }\n else {\n channelAuthorization = {\n transport: opts.authTransport || defaults.authTransport,\n endpoint: opts.authEndpoint || defaults.authEndpoint,\n };\n if ('auth' in opts) {\n if ('params' in opts.auth)\n channelAuthorization.params = opts.auth.params;\n if ('headers' in opts.auth)\n channelAuthorization.headers = opts.auth.headers;\n }\n if ('authorizer' in opts)\n channelAuthorization.customHandler = ChannelAuthorizerProxy(pusher, channelAuthorization, opts.authorizer);\n }\n return channelAuthorization;\n}\nfunction buildChannelAuthorizer(opts, pusher) {\n const channelAuthorization = buildChannelAuth(opts, pusher);\n if ('customHandler' in channelAuthorization &&\n channelAuthorization['customHandler'] != null) {\n return channelAuthorization['customHandler'];\n }\n return channel_authorizer(channelAuthorization);\n}\n\n// CONCATENATED MODULE: ./src/core/watchlist.ts\n\n\nclass watchlist_WatchlistFacade extends dispatcher_Dispatcher {\n constructor(pusher) {\n super(function (eventName, data) {\n logger.debug(`No callbacks on watchlist events for ${eventName}`);\n });\n this.pusher = pusher;\n this.bindWatchlistInternalEvent();\n }\n handleEvent(pusherEvent) {\n pusherEvent.data.events.forEach((watchlistEvent) => {\n this.emit(watchlistEvent.name, watchlistEvent);\n });\n }\n bindWatchlistInternalEvent() {\n this.pusher.connection.bind('message', (pusherEvent) => {\n var eventName = pusherEvent.event;\n if (eventName === 'pusher_internal:watchlist_events') {\n this.handleEvent(pusherEvent);\n }\n });\n }\n}\n\n// CONCATENATED MODULE: ./src/core/utils/flat_promise.ts\nfunction flatPromise() {\n let resolve, reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\n/* harmony default export */ var flat_promise = (flatPromise);\n\n// CONCATENATED MODULE: ./src/core/user.ts\n\n\n\n\n\nclass user_UserFacade extends dispatcher_Dispatcher {\n constructor(pusher) {\n super(function (eventName, data) {\n logger.debug('No callbacks on user for ' + eventName);\n });\n this.signin_requested = false;\n this.user_data = null;\n this.serverToUserChannel = null;\n this.signinDonePromise = null;\n this._signinDoneResolve = null;\n this._onAuthorize = (err, authData) => {\n if (err) {\n logger.warn(`Error during signin: ${err}`);\n this._cleanup();\n return;\n }\n this.pusher.send_event('pusher:signin', {\n auth: authData.auth,\n user_data: authData.user_data,\n });\n };\n this.pusher = pusher;\n this.pusher.connection.bind('state_change', ({ previous, current }) => {\n if (previous !== 'connected' && current === 'connected') {\n this._signin();\n }\n if (previous === 'connected' && current !== 'connected') {\n this._cleanup();\n this._newSigninPromiseIfNeeded();\n }\n });\n this.watchlist = new watchlist_WatchlistFacade(pusher);\n this.pusher.connection.bind('message', (event) => {\n var eventName = event.event;\n if (eventName === 'pusher:signin_success') {\n this._onSigninSuccess(event.data);\n }\n if (this.serverToUserChannel &&\n this.serverToUserChannel.name === event.channel) {\n this.serverToUserChannel.handleEvent(event);\n }\n });\n }\n signin() {\n if (this.signin_requested) {\n return;\n }\n this.signin_requested = true;\n this._signin();\n }\n _signin() {\n if (!this.signin_requested) {\n return;\n }\n this._newSigninPromiseIfNeeded();\n if (this.pusher.connection.state !== 'connected') {\n return;\n }\n this.pusher.config.userAuthenticator({\n socketId: this.pusher.connection.socket_id,\n }, this._onAuthorize);\n }\n _onSigninSuccess(data) {\n try {\n this.user_data = JSON.parse(data.user_data);\n }\n catch (e) {\n logger.error(`Failed parsing user data after signin: ${data.user_data}`);\n this._cleanup();\n return;\n }\n if (typeof this.user_data.id !== 'string' || this.user_data.id === '') {\n logger.error(`user_data doesn't contain an id. user_data: ${this.user_data}`);\n this._cleanup();\n return;\n }\n this._signinDoneResolve();\n this._subscribeChannels();\n }\n _subscribeChannels() {\n const ensure_subscribed = (channel) => {\n if (channel.subscriptionPending && channel.subscriptionCancelled) {\n channel.reinstateSubscription();\n }\n else if (!channel.subscriptionPending &&\n this.pusher.connection.state === 'connected') {\n channel.subscribe();\n }\n };\n this.serverToUserChannel = new channel_Channel(`#server-to-user-${this.user_data.id}`, this.pusher);\n this.serverToUserChannel.bind_global((eventName, data) => {\n if (eventName.indexOf('pusher_internal:') === 0 ||\n eventName.indexOf('pusher:') === 0) {\n return;\n }\n this.emit(eventName, data);\n });\n ensure_subscribed(this.serverToUserChannel);\n }\n _cleanup() {\n this.user_data = null;\n if (this.serverToUserChannel) {\n this.serverToUserChannel.unbind_all();\n this.serverToUserChannel.disconnect();\n this.serverToUserChannel = null;\n }\n if (this.signin_requested) {\n this._signinDoneResolve();\n }\n }\n _newSigninPromiseIfNeeded() {\n if (!this.signin_requested) {\n return;\n }\n if (this.signinDonePromise && !this.signinDonePromise.done) {\n return;\n }\n const { promise, resolve, reject: _ } = flat_promise();\n promise.done = false;\n const setDone = () => {\n promise.done = true;\n };\n promise.then(setDone).catch(setDone);\n this.signinDonePromise = promise;\n this._signinDoneResolve = resolve;\n }\n}\n\n// CONCATENATED MODULE: ./src/core/pusher.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass pusher_Pusher {\n static ready() {\n pusher_Pusher.isReady = true;\n for (var i = 0, l = pusher_Pusher.instances.length; i < l; i++) {\n pusher_Pusher.instances[i].connect();\n }\n }\n static getClientFeatures() {\n return keys(filterObject({ ws: runtime.Transports.ws }, function (t) {\n return t.isSupported({});\n }));\n }\n constructor(app_key, options) {\n checkAppKey(app_key);\n validateOptions(options);\n this.key = app_key;\n this.config = getConfig(options, this);\n this.channels = factory.createChannels();\n this.global_emitter = new dispatcher_Dispatcher();\n this.sessionID = runtime.randomInt(1000000000);\n this.timeline = new timeline_Timeline(this.key, this.sessionID, {\n cluster: this.config.cluster,\n features: pusher_Pusher.getClientFeatures(),\n params: this.config.timelineParams || {},\n limit: 50,\n level: timeline_level.INFO,\n version: defaults.VERSION,\n });\n if (this.config.enableStats) {\n this.timelineSender = factory.createTimelineSender(this.timeline, {\n host: this.config.statsHost,\n path: '/timeline/v2/' + runtime.TimelineTransport.name,\n });\n }\n var getStrategy = (options) => {\n return runtime.getDefaultStrategy(this.config, options, strategy_builder_defineTransport);\n };\n this.connection = factory.createConnectionManager(this.key, {\n getStrategy: getStrategy,\n timeline: this.timeline,\n activityTimeout: this.config.activityTimeout,\n pongTimeout: this.config.pongTimeout,\n unavailableTimeout: this.config.unavailableTimeout,\n useTLS: Boolean(this.config.useTLS),\n });\n this.connection.bind('connected', () => {\n this.subscribeAll();\n if (this.timelineSender) {\n this.timelineSender.send(this.connection.isUsingTLS());\n }\n });\n this.connection.bind('message', (event) => {\n var eventName = event.event;\n var internal = eventName.indexOf('pusher_internal:') === 0;\n if (event.channel) {\n var channel = this.channel(event.channel);\n if (channel) {\n channel.handleEvent(event);\n }\n }\n if (!internal) {\n this.global_emitter.emit(event.event, event.data);\n }\n });\n this.connection.bind('connecting', () => {\n this.channels.disconnect();\n });\n this.connection.bind('disconnected', () => {\n this.channels.disconnect();\n });\n this.connection.bind('error', (err) => {\n logger.warn(err);\n });\n pusher_Pusher.instances.push(this);\n this.timeline.info({ instances: pusher_Pusher.instances.length });\n this.user = new user_UserFacade(this);\n if (pusher_Pusher.isReady) {\n this.connect();\n }\n }\n channel(name) {\n return this.channels.find(name);\n }\n allChannels() {\n return this.channels.all();\n }\n connect() {\n this.connection.connect();\n if (this.timelineSender) {\n if (!this.timelineSenderTimer) {\n var usingTLS = this.connection.isUsingTLS();\n var timelineSender = this.timelineSender;\n this.timelineSenderTimer = new timers_PeriodicTimer(60000, function () {\n timelineSender.send(usingTLS);\n });\n }\n }\n }\n disconnect() {\n this.connection.disconnect();\n if (this.timelineSenderTimer) {\n this.timelineSenderTimer.ensureAborted();\n this.timelineSenderTimer = null;\n }\n }\n bind(event_name, callback, context) {\n this.global_emitter.bind(event_name, callback, context);\n return this;\n }\n unbind(event_name, callback, context) {\n this.global_emitter.unbind(event_name, callback, context);\n return this;\n }\n bind_global(callback) {\n this.global_emitter.bind_global(callback);\n return this;\n }\n unbind_global(callback) {\n this.global_emitter.unbind_global(callback);\n return this;\n }\n unbind_all(callback) {\n this.global_emitter.unbind_all();\n return this;\n }\n subscribeAll() {\n var channelName;\n for (channelName in this.channels.channels) {\n if (this.channels.channels.hasOwnProperty(channelName)) {\n this.subscribe(channelName);\n }\n }\n }\n subscribe(channel_name) {\n var channel = this.channels.add(channel_name, this);\n if (channel.subscriptionPending && channel.subscriptionCancelled) {\n channel.reinstateSubscription();\n }\n else if (!channel.subscriptionPending &&\n this.connection.state === 'connected') {\n channel.subscribe();\n }\n return channel;\n }\n unsubscribe(channel_name) {\n var channel = this.channels.find(channel_name);\n if (channel && channel.subscriptionPending) {\n channel.cancelSubscription();\n }\n else {\n channel = this.channels.remove(channel_name);\n if (channel && channel.subscribed) {\n channel.unsubscribe();\n }\n }\n }\n send_event(event_name, data, channel) {\n return this.connection.send_event(event_name, data, channel);\n }\n shouldUseTLS() {\n return this.config.useTLS;\n }\n signin() {\n this.user.signin();\n }\n}\npusher_Pusher.instances = [];\npusher_Pusher.isReady = false;\npusher_Pusher.logToConsole = false;\npusher_Pusher.Runtime = runtime;\npusher_Pusher.ScriptReceivers = runtime.ScriptReceivers;\npusher_Pusher.DependenciesReceivers = runtime.DependenciesReceivers;\npusher_Pusher.auth_callbacks = runtime.auth_callbacks;\n/* harmony default export */ var core_pusher = __webpack_exports__[\"default\"] = (pusher_Pusher);\nfunction checkAppKey(key) {\n if (key === null || key === undefined) {\n throw 'You must pass your app key when you instantiate Pusher.';\n }\n}\nruntime.setup(pusher_Pusher);\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pusher.js.map","/* 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 var 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 var globalConsole = console;\nexport var originalConsoleMethods = {};\nObject.keys(ConsoleApiName).forEach(function (name) {\n originalConsoleMethods[name] = globalConsole[name];\n});\nvar PREFIX = 'Datadog Browser SDK:';\nexport var 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};\n//# sourceMappingURL=display.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.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\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"PAGEHIDE\"] = \"pagehide\";\n ExperimentalFeature[\"FEATURE_FLAGS\"] = \"feature_flags\";\n ExperimentalFeature[\"RESOURCE_PAGE_STATES\"] = \"resource_page_states\";\n ExperimentalFeature[\"PAGE_STATES\"] = \"page_states\";\n ExperimentalFeature[\"COLLECT_FLUSH_REASON\"] = \"collect_flush_reason\";\n ExperimentalFeature[\"NO_RESOURCE_DURATION_FROZEN_STATE\"] = \"no_resource_duration_frozen_state\";\n ExperimentalFeature[\"SCROLLMAP\"] = \"scrollmap\";\n ExperimentalFeature[\"INTERACTION_TO_NEXT_PAINT\"] = \"interaction_to_next_paint\";\n ExperimentalFeature[\"WEB_VITALS_ATTRIBUTION\"] = \"web_vitals_attribution\";\n ExperimentalFeature[\"DISABLE_REPLAY_INLINE_CSS\"] = \"disable_replay_inline_css\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nvar enabledExperimentalFeatures = new Set();\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach(function (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 * 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 var ONE_SECOND = 1000;\nexport var ONE_MINUTE = 60 * ONE_SECOND;\nexport var ONE_HOUR = 60 * ONE_MINUTE;\nexport var ONE_DAY = 24 * ONE_HOUR;\nexport var ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var 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/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\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 */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\nexport function resetNavigationStart() {\n navigationStart = undefined;\n}\n//# sourceMappingURL=timeUtils.js.map","export var ONE_KIBI_BYTE = 1024;\nexport var ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nvar 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 var length = buffers.reduce(function (total, buffer) { return total + buffer.length; }, 0);\n var result = new Uint8Array(length);\n var offset = 0;\n for (var _i = 0, buffers_1 = buffers; _i < buffers_1.length; _i++) {\n var buffer = buffers_1[_i];\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","export function includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike);\n }\n var array = [];\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) { return array.push(item); });\n }\n else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i]);\n }\n }\n return array;\n}\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i)) {\n return item;\n }\n }\n return undefined;\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexport function forEach(list, callback) {\n Array.prototype.forEach.call(list, callback);\n}\nexport function objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexport function objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexport function assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\n//# sourceMappingURL=polyfills.js.map","import { assign } from './polyfills';\nexport function shallowClone(object) {\n return assign({}, object);\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\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: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var 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 var browserWindow = getGlobalObject();\n var 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","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { display } from './display';\nvar onMonitorErrorCollected;\nvar 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 var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var 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 displayIfDebugEnabled(e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n }\n }\n }\n}\nexport function displayIfDebugEnabled() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (debugMode) {\n display.error.apply(display, __spreadArray(['[MONITOR]'], args, false));\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","var Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;\n }\n this.observers.push(f);\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexport { Observable };\nexport function mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var globalObservable = new Observable(function () {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n return globalObservable;\n}\n//# sourceMappingURL=observable.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\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 : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\nexport function findCommaSeparatedValue(rawString, name) {\n var regex = new RegExp(\"(?:^|;)\\\\s*\".concat(name, \"\\\\s*=\\\\s*([^;]+)\"));\n var matches = regex.exec(rawString);\n return matches ? matches[1] : undefined;\n}\nexport function safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\n//# sourceMappingURL=stringUtils.js.map","import { ONE_HOUR, ONE_MINUTE } from '../../tools/utils/timeUtils';\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\n//# sourceMappingURL=sessionConstants.js.map","var browserIsIE;\nexport function isIE() {\n return browserIsIE !== null && browserIsIE !== void 0 ? browserIsIE : (browserIsIE = Boolean(document.documentMode));\n}\nvar browserIsChromium;\nexport function isChromium() {\n return (browserIsChromium !== null && browserIsChromium !== void 0 ? browserIsChromium : (browserIsChromium = !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent)));\n}\nvar browserIsSafari;\nexport function isSafari() {\n return browserIsSafari !== null && browserIsSafari !== void 0 ? browserIsSafari : (browserIsSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent));\n}\n//# sourceMappingURL=browserDetection.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure);\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\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 var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n var 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 */\nvar 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 var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(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 var SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","import { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants';\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/;\nvar SESSION_ENTRY_SEPARATOR = '&';\nexport function isSessionInExpiredState(session) {\n return isEmptyObject(session);\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return objectEntries(session)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value);\n })\n .join(SESSION_ENTRY_SEPARATOR);\n}\nexport function toSessionState(sessionString) {\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n session[key] = value;\n }\n });\n }\n return session;\n}\nfunction isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionState.js.map","import { getCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var OLD_SESSION_COOKIE_NAME = '_dd';\nexport var OLD_RUM_COOKIE_NAME = '_dd_r';\nexport var OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport var RUM_SESSION_KEY = 'rum';\nexport var 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 var sessionString = getCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n var oldSessionId = getCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getCookie(OLD_LOGS_COOKIE_NAME);\n var 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 (!isSessionInExpiredState(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, deleteCookie, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_EXPIRATION_DELAY } from '../sessionConstants';\nimport { toSessionString, toSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n var cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: 'Cookie', cookieOptions: cookieOptions } : undefined;\n}\nexport function initCookieStrategy(cookieOptions) {\n var 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 clearSession: deleteSessionCookie(cookieOptions),\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return function (session) {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction retrieveSessionCookie() {\n var sessionString = getCookie(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction deleteSessionCookie(options) {\n return function () {\n deleteCookie(SESSION_STORE_KEY, options);\n };\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie;\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 { toSessionString, toSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nvar LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n var id = generateUUID();\n var testKey = \"\".concat(LOCAL_STORAGE_TEST_KEY).concat(id);\n localStorage.setItem(testKey, id);\n var retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: 'LocalStorage' } : undefined;\n }\n catch (e) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy() {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n clearSession: clearSessionFromLocalStorage,\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n var sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction clearSessionFromLocalStorage() {\n localStorage.removeItem(SESSION_STORE_KEY);\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var LOCK_RETRY_DELAY = 10;\nexport var LOCK_MAX_TRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n var isLockEnabled = sessionStoreStrategy.isLockEnabled, retrieveSession = sessionStoreStrategy.retrieveSession, persistSession = sessionStoreStrategy.persistSession, clearSession = sessionStoreStrategy.clearSession;\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 var currentLock;\n var currentSession = retrieveSession();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n currentSession.lock = currentLock;\n persistSession(currentSession);\n // if lock is not acquired, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentSession);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n clearSession();\n }\n else {\n expandSessionState(processedSession);\n persistSession(processedSession);\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 currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n delete currentSession.lock;\n persistSession(currentSession);\n processedSession = currentSession;\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 || currentSession);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n var 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 { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\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 var STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Checks if cookies are available as the preferred storage\n * Else, checks if LocalStorage is allowed and available\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n var sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\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, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var sessionStoreStrategy = sessionStoreStrategyType.type === 'Cookie'\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy();\n var clearSession = sessionStoreStrategy.clearSession, retrieveSession = sessionStoreStrategy.retrieveSession;\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n var sessionCache = retrieveActiveSession();\n function expandOrRenewSession() {\n var isTracked;\n processSessionStoreOperations({\n process: function (sessionState) {\n var synchronizedSession = synchronizeSession(sessionState);\n isTracked = expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: function (sessionState) {\n if (isTracked && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }\n function expandSession() {\n processSessionStoreOperations({\n process: function (sessionState) { return (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: function (sessionState) { return (!isActiveSession(sessionState) ? {} : undefined); },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (!isActiveSession(sessionState)) {\n sessionState = {};\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function expandOrRenewSessionState(sessionState) {\n var _a = computeSessionState(sessionState[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n sessionState[productKey] = trackingType;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n return isTracked;\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 = {};\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function retrieveActiveSession() {\n var session = retrieveSession();\n if (isActiveSession(session)) {\n return session;\n }\n return {};\n }\n function 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 }\n return {\n expandOrRenewSession: throttle(expandOrRenewSession, STORAGE_POLL_DELAY).throttled,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: function () {\n clearSession();\n synchronizeSession({});\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n };\n}\n//# sourceMappingURL=sessionStore.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 var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var 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 var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\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, getLocationOrigin()).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getOrigin(url) {\n return getLinkElementOrigin(buildUrl(url));\n}\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexport function getSearch(url) {\n return buildUrl(url).search;\n}\nexport function getHash(url) {\n return buildUrl(url).hash;\n}\nexport function buildUrl(url, base) {\n var 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: \".concat(String(error), \" \").concat(jsonStringify({ url: url, base: base })));\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var 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}\nvar originalURL = URL;\nvar isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n var 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}\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location);\n}\n/**\n * Fallback\n * On IE HTMLAnchorElement origin is not supported: https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n * On Firefox window.location.origin is \"null\" for file: URIs: https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n */\nexport function getLinkElementOrigin(element) {\n if (element.origin && element.origin !== 'null') {\n return element.origin;\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '');\n return \"\".concat(element.protocol, \"//\").concat(sanitizedHost);\n}\n//# sourceMappingURL=urlPolyfill.js.map","export var INTAKE_SITE_STAGING = 'datad0g.com';\nexport var INTAKE_SITE_US1 = 'datadoghq.com';\nexport var INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport var INTAKE_SITE_AP1 = 'ap1.datadoghq.com';\nexport var INTAKE_SITE_US1_FED = 'ddog-gov.com';\n//# sourceMappingURL=intakeSites.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../tools/experimentalFeatures';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_AP1, INTAKE_SITE_US1 } from './intakeSites';\nexport var ENDPOINTS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'session-replay',\n};\nvar INTAKE_TRACKS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'replay',\n};\nexport function createEndpointBuilder(initConfiguration, endpointType, configurationTags) {\n var buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, endpointType);\n return {\n build: function (api, payload) {\n var parameters = buildEndpointParameters(initConfiguration, endpointType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n endpointType: endpointType,\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, endpointType) {\n var path = \"/api/v2/\".concat(INTAKE_TRACKS[endpointType]);\n var proxy = initConfiguration.proxy, proxyUrl = initConfiguration.proxyUrl;\n if (proxy) {\n var normalizedProxyUrl_1 = normalizeUrl(proxy);\n return function (parameters) { return \"\".concat(normalizedProxyUrl_1, \"?ddforward=\").concat(encodeURIComponent(\"\".concat(path, \"?\").concat(parameters))); };\n }\n var host = buildEndpointHost(initConfiguration, endpointType);\n if (proxy === undefined && proxyUrl) {\n // TODO: remove this in a future major.\n var normalizedProxyUrl_2 = normalizeUrl(proxyUrl);\n return function (parameters) {\n return \"\".concat(normalizedProxyUrl_2, \"?ddforward=\").concat(encodeURIComponent(\"https://\".concat(host).concat(path, \"?\").concat(parameters)));\n };\n }\n return function (parameters) { return \"https://\".concat(host).concat(path, \"?\").concat(parameters); };\n}\nfunction buildEndpointHost(initConfiguration, endpointType) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US1 : _a, internalAnalyticsSubdomain = initConfiguration.internalAnalyticsSubdomain;\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return \"\".concat(internalAnalyticsSubdomain, \".\").concat(INTAKE_SITE_US1);\n }\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n var subdomain = site !== INTAKE_SITE_AP1 ? \"\".concat(ENDPOINTS[endpointType], \".\") : '';\n return \"\".concat(subdomain, \"browser-intake-\").concat(domainParts.join('-'), \".\").concat(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(_a, endpointType, configurationTags, api, _b) {\n var clientToken = _a.clientToken, internalAnalyticsSubdomain = _a.internalAnalyticsSubdomain;\n var retry = _b.retry, flushReason = _b.flushReason, encoding = _b.encoding;\n var tags = [\"sdk_version:\".concat(\"4.50.1\"), \"api:\".concat(api)].concat(configurationTags);\n if (flushReason && isExperimentalFeatureEnabled(ExperimentalFeature.COLLECT_FLUSH_REASON)) {\n tags.push(\"flush_reason:\".concat(flushReason));\n }\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = [\n 'ddsource=browser',\n \"ddtags=\".concat(encodeURIComponent(tags.join(','))),\n \"dd-api-key=\".concat(clientToken),\n \"dd-evp-origin-version=\".concat(encodeURIComponent(\"4.50.1\")),\n 'dd-evp-origin=browser',\n \"dd-request-id=\".concat(generateUUID()),\n ];\n if (encoding) {\n parameters.push(\"dd-evp-encoding=\".concat(encoding));\n }\n if (endpointType === 'rum') {\n parameters.push(\"batch_time=\".concat(timeStampNow()));\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { display } from '../../tools/display';\nexport var TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var 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}\nvar FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/;\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 var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized\"));\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 var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\n//# sourceMappingURL=tags.js.map","import { objectValues, assign } from '../../tools/utils/polyfills';\nimport { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1 } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var intakeUrlPrefixes = objectValues(endpointBuilders).map(function (builder) { return builder.urlPrefix; });\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags);\n return assign({\n isIntakeUrl: function (url) { return intakeUrlPrefixes.some(function (intakeEndpoint) { return url.indexOf(intakeEndpoint) === 0; }); },\n replica: replicaConfiguration,\n site: initConfiguration.site || INTAKE_SITE_US1,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'sessionReplay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n intakeUrlPrefixes.push.apply(intakeUrlPrefixes, objectValues(replicaEndpointBuilders).map(function (builder) { return builder.urlPrefix; }));\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { display } from '../../tools/display';\nimport { ExperimentalFeature, addExperimentalFeatures } from '../../tools/experimentalFeatures';\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 { assign } from '../../tools/utils/polyfills';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n var sessionSampleRate = (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : initConfiguration.sampleRate;\n if (sessionSampleRate !== undefined && !isPercentage(sessionSampleRate)) {\n display.error('Session Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetrySampleRate !== undefined && !isPercentage(initConfiguration.telemetrySampleRate)) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetryConfigurationSampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetryConfigurationSampleRate)) {\n display.error('Telemetry Configuration Sample Rate should be a number between 0 and 100');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n if (Array.isArray(initConfiguration.enableExperimentalFeatures)) {\n addExperimentalFeatures(initConfiguration.enableExperimentalFeatures.filter(function (flag) {\n return objectHasValue(ExperimentalFeature, flag);\n }));\n }\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: sessionSampleRate !== null && sessionSampleRate !== void 0 ? sessionSampleRate : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\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}\nexport function serializeConfiguration(initConfiguration) {\n var _a, _b;\n var proxy = (_a = initConfiguration.proxy) !== null && _a !== void 0 ? _a : initConfiguration.proxyUrl;\n return {\n session_sample_rate: (_b = initConfiguration.sessionSampleRate) !== null && _b !== void 0 ? _b : initConfiguration.sampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: proxy !== undefined ? !!proxy : undefined,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n track_resources: initConfiguration.trackResources,\n track_long_task: initConfiguration.trackLongTasks,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { startsWith } from '../../tools/utils/polyfills';\nvar UNKNOWN_FUNCTION = '?';\n/**\n * Computes a stack trace for an exception.\n */\nexport function computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var 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: stack,\n };\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var 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}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var 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}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var 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}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var 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 var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\nexport function instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method];\n var instrumentation = instrumentationFactory(original);\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments);\n };\n object[method] = instrumentationWrapper;\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original;\n }\n else {\n instrumentation = original;\n }\n },\n };\n}\nexport function instrumentMethodAndCallOriginal(object, method, _a) {\n var before = _a.before, after = _a.after;\n return instrumentMethod(object, method, function (original) {\n return function () {\n var args = arguments;\n var result;\n if (before) {\n callMonitored(before, this, args);\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, args);\n }\n if (after) {\n callMonitored(after, this, args);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n });\n}\nexport function instrumentSetter(object, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n var instrumentation = function (thisObject, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n after(thisObject, value);\n }, 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(object, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(object, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(object, property, originalDescriptor);\n }\n else {\n instrumentation = noop;\n }\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { instrumentMethodAndCallOriginal } from '../../tools/instrumentMethod';\nimport { computeStackTrace } from './computeStackTrace';\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\nexport function startUnhandledErrorCollection(callback) {\n var stopInstrumentingOnError = instrumentOnError(callback).stop;\n var stopInstrumentingOnUnhandledRejection = instrumentUnhandledRejection(callback).stop;\n return {\n stop: function () {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (messageObj, url, line, column, errorObj) {\n var stackTrace;\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj);\n }\n else {\n var stack = [{ url: url, column: column, line: line }];\n var _a = tryToParseMessage(messageObj), name_1 = _a.name, message = _a.message;\n stackTrace = {\n name: name_1,\n message: message,\n stack: stack,\n };\n }\n callback(stackTrace, errorObj !== null && errorObj !== void 0 ? errorObj : messageObj);\n },\n });\n}\nfunction tryToParseMessage(messageObj) {\n var _a;\n var name;\n var message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n _a = ERROR_TYPES_RE.exec(messageObj), name = _a[1], message = _a[2];\n }\n return { name: name, message: message };\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason';\n var stack = computeStackTrace(reason);\n callback(stack, reason);\n },\n });\n}\n//# sourceMappingURL=tracekit.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, ...\nvar SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nvar 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.\nvar KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount) {\n var _a;\n if (maxCharacterCount === void 0) { maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT; }\n // Unbind any toJSON function we may have on [] or {} prototypes\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n var containerQueue = [];\n var visitedObjectsWithPath = new WeakMap();\n var sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n var accumulatedCharacterCount = ((_a = JSON.stringify(sanitizedData)) === null || _a === void 0 ? void 0 : _a.length) || 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n var containerToProcess = containerQueue.shift();\n var 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 (var key = 0; key < containerToProcess.source.length; key++) {\n var 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 (var key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n var 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 var sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n var 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 var sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return \"[Reference seen at \".concat(visitedObjectsWithPath.get(sourceAsObject), \"]\");\n }\n // Add processed source to queue\n var currentPath = key !== undefined ? \"\".concat(parentPath, \".\").concat(key) : parentPath;\n var target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target: 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] \".concat(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] \".concat(value.name || 'unknown');\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return \"[Symbol] \".concat(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 * - IE11 does not return a distinct type for objects such as Map, WeakMap, ... These objects will pass through and their\n * properties enumerated if any.\n *\n */\nfunction sanitizeObjects(value) {\n try {\n // Handle events - Keep a simple implementation to avoid breaking changes\n if (value instanceof Event) {\n return {\n isTrusted: value.isTrusted,\n };\n }\n // Handle all remaining object types in a generic way\n var result = Object.prototype.toString.call(value);\n var match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return \"[\".concat(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}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n var 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 \".concat(changeType, \" as it is over the limit of \").concat(maxCharacterCount, \" characters:\"), source);\n}\n//# sourceMappingURL=sanitize.js.map","import { computeStackTrace } from '../tracekit';\nimport { callMonitored } from '../../tools/monitor';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { noop } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nexport var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n var isErrorInstance = originalError instanceof Error;\n var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n var type = stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name;\n var fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n handlingStack: handlingStack,\n originalError: originalError,\n type: type,\n message: message,\n stack: stack,\n causes: causes,\n fingerprint: 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 ? \"\".concat(nonErrorPrefix, \" \").concat(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 originalError instanceof Error && 'dd_fingerprint' in originalError\n ? String(originalError.dd_fingerprint)\n : undefined;\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \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 var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (e) {\n noop();\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while ((currentError === null || currentError === void 0 ? void 0 : currentError.cause) instanceof Error && causes.length < 10) {\n var 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 var 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 { clocksNow } from '../../tools/utils/timeUtils';\nimport { startUnhandledErrorCollection } from '../tracekit';\nimport { computeRawError } from './error';\nimport { ErrorSource } from './error.types';\nexport function trackRuntimeError(errorObservable) {\n return startUnhandledErrorCollection(function (stackTrace, originalError) {\n errorObservable.notify(computeRawError({\n stackTrace: stackTrace,\n originalError: originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: \"Uncaught\" /* NonErrorPrefix.UNCAUGHT */,\n source: ErrorSource.SOURCE,\n handling: \"unhandled\" /* ErrorHandling.UNHANDLED */,\n }));\n });\n}\n//# sourceMappingURL=trackRuntimeError.js.map","import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { assign } from '../tools/utils/polyfills';\nexport function makePublicApi(stub) {\n var publicApi = assign({\n version: \"4.50.1\",\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: function (callback) {\n callback();\n },\n }, stub);\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: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n//# sourceMappingURL=init.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(_, eventTarget, eventNames, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var listenerWithMonitor = monitor(once\n ? function (event) {\n stop();\n listener(event);\n }\n : listener);\n var options = passive ? { capture: capture, passive: passive } : capture;\n var add = getZoneJsOriginalValue(eventTarget, 'addEventListener');\n eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName, listenerWithMonitor, options); });\n function stop() {\n var remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener');\n eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName, listenerWithMonitor, options); });\n }\n return {\n stop: stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { toStackTraceString } from '../error/error';\nimport { monitor } from '../../tools/monitor';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { addEventListener } from '../../browser/addEventListener';\nimport { includes } from '../../tools/utils/polyfills';\nimport { safeTruncate } from '../../tools/utils/stringUtils';\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nexport function initReportObservable(configuration, apis) {\n var observables = [];\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration));\n }\n var reportTypes = apis.filter(function (api) { return api !== RawReportType.cspViolation; });\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return mergeObservables.apply(void 0, observables);\n}\nfunction createReportObservable(reportTypes) {\n var observable = new Observable(function () {\n if (!window.ReportingObserver) {\n return;\n }\n var handleReports = monitor(function (reports, _) {\n return reports.forEach(function (report) {\n observable.notify(buildRawReportFromReport(report));\n });\n });\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return function () {\n observer.disconnect();\n };\n });\n return observable;\n}\nfunction createCspViolationReportObservable(configuration) {\n var observable = new Observable(function () {\n var stop = addEventListener(configuration, document, \"securitypolicyviolation\" /* DOM_EVENT.SECURITY_POLICY_VIOLATION */, function (event) {\n observable.notify(buildRawReportFromCspViolation(event));\n }).stop;\n return stop;\n });\n return observable;\n}\nfunction buildRawReportFromReport(_a) {\n var type = _a.type, body = _a.body;\n return {\n type: type,\n subtype: body.id,\n message: \"\".concat(type, \": \").concat(body.message),\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n };\n}\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation;\n var message = \"'\".concat(event.blockedURI, \"' blocked by '\").concat(event.effectiveDirective, \"' directive\");\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: \"\".concat(type, \": \").concat(message),\n stack: buildStack(event.effectiveDirective, event.originalPolicy\n ? \"\".concat(message, \" of the policy \\\"\").concat(safeTruncate(event.originalPolicy, 100, '...'), \"\\\"\")\n : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return sourceFile\n ? toStackTraceString({\n name: name,\n message: 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 var callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type: type, payload: payload });\n }\n}\n//# sourceMappingURL=sendToExtension.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 { 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) {\n if (circularReferenceChecker === void 0) { 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 var 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 var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var 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() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\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 var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var 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 var TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { toStackTraceString, NO_ERROR_STACK_PRESENT_MESSAGE } from '../error/error';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { computeStackTrace } from '../tracekit';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { startsWith, arrayFrom, includes, assign } from '../../tools/utils/polyfills';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nvar 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];\nvar TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\nvar telemetryConfiguration = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false };\nvar onRawTelemetryEventCollected;\nexport function startTelemetry(telemetryService, configuration) {\n var contextProvider;\n var observable = new Observable();\n telemetryConfiguration.telemetryEnabled =\n !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate);\n telemetryConfiguration.telemetryConfigurationEnabled =\n telemetryConfiguration.telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate);\n var runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event_1 = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event_1);\n sendToExtension('telemetry', event_1);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0,\n });\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"4.50.1\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n }),\n experimental_features: arrayFrom(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n enabled: telemetryConfiguration.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 var events = [];\n assign(telemetryConfiguration, {\n maxEventsPerPage: Infinity,\n sentEventCount: 0,\n });\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined;\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 addTelemetry(assign({\n type: TelemetryType.log,\n message: message,\n status: \"debug\" /* StatusType.debug */,\n }, context));\n}\nexport function addTelemetryError(e, context) {\n addTelemetry(assign({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n }, formatError(e), context));\n}\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryConfigurationEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration,\n });\n }\n}\nfunction addTelemetry(event) {\n if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {\n telemetryConfiguration.sentEventCount += 1;\n onRawTelemetryEventCollected(event);\n }\n}\nexport function formatError(e) {\n if (e instanceof Error) {\n var 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: \"\".concat(\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */, \" \").concat(jsonStringify(e)),\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return startsWith(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { setInterval, clearInterval } from './timer';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nvar END_OF_TIMES = Infinity;\nexport var CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\n/**\n * Store and keep track of values spans. This whole class assumes that values are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nvar ValueHistory = /** @class */ (function () {\n function ValueHistory(expireDelay, maxEntries) {\n var _this = this;\n this.expireDelay = expireDelay;\n this.maxEntries = maxEntries;\n this.entries = [];\n this.clearOldValuesInterval = setInterval(function () { return _this.clearOldValues(); }, CLEAR_OLD_VALUES_INTERVAL);\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 ValueHistory.prototype.add = function (value, startTime) {\n var _this = this;\n var entry = {\n value: value,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n var index = _this.entries.indexOf(entry);\n if (index >= 0) {\n _this.entries.splice(index, 1);\n }\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n if (this.maxEntries && this.entries.length >= this.maxEntries) {\n this.entries.pop();\n }\n this.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 ValueHistory.prototype.find = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {\n var entry = _a[_i];\n if (entry.startTime <= startTime) {\n if (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 ValueHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.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 ValueHistory.prototype.findAll = function (startTime, duration) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (duration === void 0) { duration = 0; }\n var endTime = addDuration(startTime, duration);\n return this.entries\n .filter(function (entry) { return entry.startTime <= endTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.value; });\n };\n /**\n * Remove all entries from this collection.\n */\n ValueHistory.prototype.reset = function () {\n this.entries = [];\n };\n /**\n * Stop internal garbage collection of past entries.\n */\n ValueHistory.prototype.stop = function () {\n clearInterval(this.clearOldValuesInterval);\n };\n ValueHistory.prototype.clearOldValues = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay;\n while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {\n this.entries.pop();\n }\n };\n return ValueHistory;\n}());\nexport { ValueHistory };\n//# sourceMappingURL=valueHistory.js.map","import { ValueHistory } 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 var VISIBILITY_CHECK_DELAY = ONE_MINUTE;\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;\nvar stopCallbacks = [];\nexport function startSessionManager(configuration, productKey, computeSessionState) {\n // TODO - Improve configuration type and remove assertion\n var sessionStore = startSessionStore(configuration.sessionStoreStrategyType, productKey, computeSessionState);\n stopCallbacks.push(function () { return sessionStore.stop(); });\n var sessionContextHistory = new ValueHistory(SESSION_CONTEXT_TIMEOUT_DELAY);\n stopCallbacks.push(function () { return sessionContextHistory.stop(); });\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow());\n });\n sessionStore.expireObservable.subscribe(function () {\n sessionContextHistory.closeActive(relativeNow());\n });\n sessionStore.expandOrRenewSession();\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative);\n trackActivity(configuration, function () { return sessionStore.expandOrRenewSession(); });\n trackVisibility(configuration, function () { return sessionStore.expandSession(); });\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n };\n }\n return {\n findActiveSession: function (startTime) { return sessionContextHistory.find(startTime); },\n renewObservable: sessionStore.renewObservable,\n expireObservable: sessionStore.expireObservable,\n expire: sessionStore.expire,\n };\n}\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) { return e(); });\n stopCallbacks = [];\n}\nfunction trackActivity(configuration, expandOrRenewSession) {\n var 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 }).stop;\n stopCallbacks.push(stop);\n}\nfunction trackVisibility(configuration, expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n };\n var stop = addEventListener(configuration, document, \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, expandSessionWhenVisible).stop;\n stopCallbacks.push(stop);\n var visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval);\n });\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 (e) {\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 var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE;\nexport var MAX_ONGOING_REQUESTS = 32;\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE;\nexport var MAX_BACKOFF_TIME = ONE_MINUTE;\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND;\nexport function sendWithRetryStrategy(payload, state, sendStrategy, endpointType, 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: function () { return retryQueuedPayloads(0 /* RetryReason.AFTER_SUCCESS */, state, sendStrategy, endpointType, reportError); },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nfunction scheduleRetry(state, sendStrategy, endpointType, reportError) {\n if (state.transportStatus !== 2 /* TransportStatus.DOWN */) {\n return;\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* RetryReason.AFTER_RESUME */, state, sendStrategy, endpointType, reportError);\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }, state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, _a) {\n var onSuccess = _a.onSuccess, onFailure = _a.onFailure;\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, function (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, endpointType, reportError) {\n if (reason === 0 /* RetryReason.AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: \"Reached max \".concat(endpointType, \" events size queued for upload: \").concat(MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE, \"MiB\"),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n state.queueFullReported = true;\n }\n var previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, endpointType, 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 var queue = [];\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first: function () {\n return queue[0];\n },\n dequeue: function () {\n var payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size: function () {\n return queue.length;\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS));\n },\n add: function (payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove: function (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(configuration, endpointBuilder, bytesLimit, reportError) {\n var retryState = newRetryState();\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(configuration, endpointBuilder, bytesLimit, payload, onResponse);\n };\n return {\n send: function (payload) {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.endpointType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(configuration, endpointBuilder, bytesLimit, payload);\n },\n };\n}\nfunction sendBeaconStrategy(configuration, endpointBuilder, bytesLimit, payload) {\n var canUseBeacon = !!navigator.sendBeacon && payload.bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n var beaconUrl = endpointBuilder.build('beacon', payload);\n var isQueued = navigator.sendBeacon(beaconUrl, payload.data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n var xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(configuration, xhrUrl, payload.data);\n}\nvar hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addTelemetryError(e);\n }\n}\nexport function fetchKeepAliveStrategy(configuration, endpointBuilder, bytesLimit, payload, onResponse) {\n var canUseKeepAlive = isKeepAliveSupported() && payload.bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n var fetchUrl = endpointBuilder.build('fetch', payload);\n fetch(fetchUrl, { method: 'POST', body: payload.data, keepalive: true, mode: 'cors' }).then(monitor(function (response) { return onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status, type: response.type }); }), monitor(function () {\n var xhrUrl = endpointBuilder.build('xhr', payload);\n // failed to queue the request\n sendXHR(configuration, xhrUrl, payload.data, onResponse);\n }));\n }\n else {\n var xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(configuration, 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(configuration, url, data, onResponse) {\n var request = new XMLHttpRequest();\n request.open('POST', url, true);\n addEventListener(configuration, request, 'loadend', function () {\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 { endsWith } from '../tools/utils/polyfills';\nimport { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event) {\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event }));\n },\n };\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 var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || endsWith(currentHost, \".\".concat(allowedHost)); }));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { isExperimentalFeatureEnabled, ExperimentalFeature } from '../tools/experimentalFeatures';\nimport { Observable } from '../tools/observable';\nimport { objectValues, includes } from '../tools/utils/polyfills';\nimport { noop } from '../tools/utils/functionUtils';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n var observable = new Observable(function () {\n var pagehideEnabled = isExperimentalFeatureEnabled(ExperimentalFeature.PAGEHIDE);\n var stopListeners = addEventListeners(configuration, window, [\"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, \"freeze\" /* DOM_EVENT.FREEZE */, \"pagehide\" /* DOM_EVENT.PAGE_HIDE */], function (event) {\n if (event.type === \"pagehide\" /* DOM_EVENT.PAGE_HIDE */ && pagehideEnabled) {\n /**\n * Only event that detect page unload events while being compatible with the back/forward cache (bfcache)\n */\n observable.notify({ reason: PageExitReason.PAGEHIDE });\n }\n else 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 }).stop;\n var stopBeforeUnloadListener = noop;\n if (!pagehideEnabled) {\n stopBeforeUnloadListener = addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, function () {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n }\n return function () {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n return observable;\n}\nexport function isPageExitReason(reason) {\n return includes(objectValues(PageExitReason), reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { display } from '../tools/display';\nimport { objectValues } from '../tools/utils/polyfills';\nimport { isPageExitReason } from '../browser/pageExitObservable';\nimport { computeBytesCount } from '../tools/utils/byteUtils';\nimport { jsonStringify } from '../tools/serialisation/jsonStringify';\nvar Batch = /** @class */ (function () {\n function Batch(request, flushController, messageBytesLimit) {\n var _this = this;\n this.request = request;\n this.flushController = flushController;\n this.messageBytesLimit = messageBytesLimit;\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.flushSubscription = this.flushController.flushObservable.subscribe(function (event) { return _this.flush(event); });\n }\n Batch.prototype.add = function (message) {\n this.addOrUpdate(message);\n };\n Batch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key);\n };\n Batch.prototype.stop = function () {\n this.flushSubscription.unsubscribe();\n };\n Batch.prototype.flush = function (event) {\n var messages = this.pushOnlyBuffer.concat(objectValues(this.upsertBuffer));\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n var payload = { data: messages.join('\\n'), bytesCount: event.bytesCount, flushReason: event.reason };\n if (isPageExitReason(event.reason)) {\n this.request.sendOnExit(payload);\n }\n else {\n this.request.send(payload);\n }\n };\n Batch.prototype.addOrUpdate = function (message, key) {\n var _a = this.process(message), processedMessage = _a.processedMessage, messageBytesCount = _a.messageBytesCount;\n if (messageBytesCount >= this.messageBytesLimit) {\n display.warn(\"Discarded a message whose size was bigger than the maximum allowed size \".concat(this.messageBytesLimit, \"KB.\"));\n return;\n }\n if (this.hasMessageFor(key)) {\n this.remove(key);\n }\n this.push(processedMessage, messageBytesCount, key);\n };\n Batch.prototype.process = function (message) {\n var processedMessage = jsonStringify(message);\n var messageBytesCount = computeBytesCount(processedMessage);\n return { processedMessage: processedMessage, messageBytesCount: messageBytesCount };\n };\n Batch.prototype.push = function (processedMessage, messageBytesCount, key) {\n // If there are other messages, a '\\n' will be added at serialization\n var separatorBytesCount = this.flushController.messagesCount > 0 ? 1 : 0;\n this.flushController.notifyBeforeAddMessage(messageBytesCount + separatorBytesCount);\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage;\n }\n else {\n this.pushOnlyBuffer.push(processedMessage);\n }\n this.flushController.notifyAfterAddMessage();\n };\n Batch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key];\n delete this.upsertBuffer[key];\n var messageBytesCount = computeBytesCount(removedMessage);\n // If there are other messages, a '\\n' will be added at serialization\n var separatorBytesCount = this.flushController.messagesCount > 1 ? 1 : 0;\n this.flushController.notifyAfterRemoveMessage(messageBytesCount + separatorBytesCount);\n };\n Batch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined;\n };\n return Batch;\n}());\nexport { Batch };\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(_a) {\n var messagesLimit = _a.messagesLimit, bytesLimit = _a.bytesLimit, durationLimit = _a.durationLimit, pageExitObservable = _a.pageExitObservable, sessionExpireObservable = _a.sessionExpireObservable;\n var pageExitSubscription = pageExitObservable.subscribe(function (event) { return flush(event.reason); });\n var sessionExpireSubscription = sessionExpireObservable.subscribe(function () { return flush('session_expire'); });\n var flushObservable = new Observable(function () { return function () {\n pageExitSubscription.unsubscribe();\n sessionExpireSubscription.unsubscribe();\n }; });\n var currentBytesCount = 0;\n var currentMessagesCount = 0;\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return;\n }\n var messagesCount = currentMessagesCount;\n var bytesCount = currentBytesCount;\n currentMessagesCount = 0;\n currentBytesCount = 0;\n cancelDurationLimitTimeout();\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount,\n });\n }\n var durationLimitTimeoutId;\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit');\n }, durationLimit);\n }\n }\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId);\n durationLimitTimeoutId = undefined;\n }\n return {\n flushObservable: 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 notifyBeforeAddMessage: function (messageBytesCount) {\n if (currentBytesCount + messageBytesCount >= 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 += messageBytesCount;\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 notifyAfterAddMessage: function () {\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 notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount;\n currentMessagesCount -= 1;\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout();\n }\n },\n };\n}\n//# sourceMappingURL=flushController.js.map","import { Batch } from './batch';\nimport { createHttpRequest } from './httpRequest';\nimport { createFlushController } from './flushController';\nexport function startBatchWithReplica(configuration, primary, replica, reportError, pageExitObservable, sessionExpireObservable) {\n var primaryBatch = createBatch(configuration, primary.endpoint);\n var replicaBatch = replica && createBatch(configuration, replica.endpoint);\n function createBatch(configuration, endpointBuilder) {\n return new Batch(createHttpRequest(configuration, endpointBuilder, configuration.batchBytesLimit, reportError), createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable: pageExitObservable,\n sessionExpireObservable: sessionExpireObservable,\n }), configuration.messageBytesLimit);\n }\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n add: function (message, replicated) {\n if (replicated === void 0) { replicated = true; }\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(replica.transformMessage ? replica.transformMessage(message) : message);\n }\n },\n upsert: function (message, key) {\n primaryBatch.upsert(message, key);\n if (replicaBatch) {\n replicaBatch.upsert(replica.transformMessage ? replica.transformMessage(message) : message, key);\n }\n },\n stop: function () {\n primaryBatch.stop();\n replicaBatch === null || replicaBatch === void 0 ? void 0 : replicaBatch.stop();\n },\n };\n}\n//# sourceMappingURL=startBatchWithReplica.js.map","var AbstractLifeCycle = /** @class */ (function () {\n function AbstractLifeCycle() {\n this.callbacks = {};\n }\n AbstractLifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n AbstractLifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return AbstractLifeCycle;\n}());\nexport { AbstractLifeCycle };\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 var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\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 \".concat(eventType, \"s by minute: \").concat(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 { addEventListener } from './addEventListener';\nexport function runOnReadyState(configuration, expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n }\n else {\n var eventName = expectedReadyState === 'complete' ? \"load\" /* DOM_EVENT.LOAD */ : \"DOMContentLoaded\" /* DOM_EVENT.DOM_CONTENT_LOADED */;\n addEventListener(configuration, window, eventName, callback, { once: true });\n }\n}\n//# sourceMappingURL=runOnReadyState.js.map","import { instrumentMethodAndCallOriginal } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, relativeNow, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n var observable = new Observable(function () {\n var stopInstrumentingStart = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'open', {\n before: openXhr,\n }).stop;\n var stopInstrumentingSend = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'send', {\n before: function () {\n sendXhr.call(this, configuration, observable);\n },\n }).stop;\n var stopInstrumentingAbort = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'abort', {\n before: abortXhr,\n }).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n return observable;\n}\nfunction openXhr(method, url) {\n xhrContexts.set(this, {\n state: 'open',\n method: method,\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr(configuration, observable) {\n var _this = this;\n var context = xhrContexts.get(this);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startTime = relativeNow();\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = this;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(this, 'onreadystatechange', {\n before: function () {\n if (this.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 a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n },\n }).stop;\n var onEnd = function () {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = _this.status;\n observable.notify(shallowClone(completeContext));\n };\n var unsubscribeLoadEndListener = addEventListener(configuration, this, 'loadend', onEnd).stop;\n observable.notify(startContext);\n}\nfunction abortXhr() {\n var context = xhrContexts.get(this);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { callMonitored, monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nvar fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (originalFetch) {\n return function (input, init) {\n var responsePromise;\n var context = callMonitored(beforeSend, null, [observable, input, init]);\n if (context) {\n responsePromise = originalFetch.call(this, context.input, context.init);\n callMonitored(afterSend, null, [observable, responsePromise, context]);\n }\n else {\n responsePromise = originalFetch.call(this, input, init);\n }\n return responsePromise;\n };\n }).stop;\n return stop;\n });\n return observable;\n}\nfunction beforeSend(observable, input, init) {\n var method = (init && init.method) || (input instanceof Request && input.method) || 'GET';\n var url = input instanceof Request ? input.url : normalizeUrl(String(input));\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n };\n observable.notify(context);\n return context;\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext;\n context.state = 'resolve';\n if ('stack' in response || response instanceof Error) {\n context.status = 0;\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;\n context.error = response;\n }\n else if ('status' in response) {\n context.response = response;\n context.responseType = response.type;\n context.status = response.status;\n context.isAborted = false;\n }\n observable.notify(context);\n };\n responsePromise.then(monitor(reportFetch), monitor(reportFetch));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { computeStackTrace } from '../tracekit';\nimport { createHandlingStack, formatErrorMessage, toStackTraceString, 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 { find } from '../../tools/utils/polyfills';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nvar consoleObservablesByApi = {};\nexport function initConsoleObservable(apis) {\n var consoleObservables = apis.map(function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api);\n }\n return consoleObservablesByApi[api];\n });\n return mergeObservables.apply(void 0, consoleObservables);\n}\nexport function resetConsoleObservable() {\n consoleObservablesByApi = {};\n}\nfunction createConsoleObservable(api) {\n var observable = new Observable(function () {\n var originalConsoleApi = globalConsole[api];\n globalConsole[api] = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n originalConsoleApi.apply(console, params);\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return function () {\n globalConsole[api] = originalConsoleApi;\n };\n });\n return observable;\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n // Todo: remove console error prefix in the next major version\n var message = params.map(function (param) { return formatConsoleParameters(param); }).join(' ');\n var stack;\n var fingerprint;\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) { return param instanceof Error; });\n stack = firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined;\n fingerprint = tryToGetFingerprint(firstErrorParam);\n message = \"console error: \".concat(message);\n }\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n fingerprint: fingerprint,\n };\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return sanitize(param);\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param));\n }\n return jsonStringify(sanitize(param), undefined, 2);\n}\n//# sourceMappingURL=consoleObservable.js.map","var BUFFER_LIMIT = 500;\nvar BoundedBuffer = /** @class */ (function () {\n function BoundedBuffer() {\n this.buffer = [];\n }\n BoundedBuffer.prototype.add = function (callback) {\n var length = this.buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1);\n }\n };\n BoundedBuffer.prototype.drain = function () {\n this.buffer.forEach(function (callback) { return callback(); });\n this.buffer.length = 0;\n };\n return BoundedBuffer;\n}());\nexport { BoundedBuffer };\n//# sourceMappingURL=boundedBuffer.js.map","var _a;\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { display } from '../../tools/display';\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 var CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\nvar CustomerDataLabel = (_a = {},\n _a[0 /* CustomerDataType.FeatureFlag */] = 'feature flag evaluation',\n _a[1 /* CustomerDataType.User */] = 'user',\n _a[2 /* CustomerDataType.GlobalContext */] = 'global context',\n _a[3 /* CustomerDataType.LoggerContext */] = 'logger context',\n _a);\nexport function warnIfCustomerDataLimitReached(bytesCount, customerDataType) {\n if (bytesCount > CUSTOMER_DATA_BYTES_LIMIT) {\n display.warn(\"The \".concat(CustomerDataLabel[customerDataType], \" data exceeds the recommended \").concat(CUSTOMER_DATA_BYTES_LIMIT / ONE_KIBI_BYTE, \"KiB threshold. More details: https://docs.datadoghq.com/real_user_monitoring/browser/troubleshooting/#customer-data-exceeds-the-recommended-3kib-warning\"));\n return true;\n }\n return false;\n}\n//# sourceMappingURL=heavyCustomerDataWarning.js.map","import { computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nimport { warnIfCustomerDataLimitReached } from './heavyCustomerDataWarning';\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createContextManager(customerDataType, computeBytesCountImpl) {\n if (computeBytesCountImpl === void 0) { computeBytesCountImpl = computeBytesCount; }\n var context = {};\n var bytesCountCache;\n var alreadyWarned = false;\n var changeObservable = new Observable();\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 var computeBytesCountThrottled = throttle(function (context) {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context));\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(bytesCountCache, customerDataType);\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY).throttled;\n var contextManager = {\n getBytesCount: function () { return bytesCountCache; },\n /** @deprecated use getContext instead */\n get: function () { return context; },\n /** @deprecated use setContextProperty instead */\n add: function (key, value) {\n context[key] = value;\n computeBytesCountThrottled(context);\n changeObservable.notify();\n },\n /** @deprecated renamed to removeContextProperty */\n remove: function (key) {\n delete context[key];\n computeBytesCountThrottled(context);\n changeObservable.notify();\n },\n /** @deprecated use setContext instead */\n set: function (newContext) {\n context = newContext;\n computeBytesCountThrottled(context);\n changeObservable.notify();\n },\n getContext: function () { return deepClone(context); },\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n computeBytesCountThrottled(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: function (key, property) {\n context[key] = sanitize(property);\n computeBytesCountThrottled(context);\n changeObservable.notify();\n },\n removeContextProperty: function (key) {\n delete context[key];\n computeBytesCountThrottled(context);\n changeObservable.notify();\n },\n clearContext: function () {\n context = {};\n bytesCountCache = 0;\n changeObservable.notify();\n },\n changeObservable: changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { computeBytesCount } from '../../tools/utils/byteUtils';\nimport { addEventListener } from '../../browser/addEventListener';\nimport { createContextManager } from './contextManager';\nvar CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nvar storageListeners = [];\nexport function createStoredContextManager(configuration, productKey, customerDataType, computeBytesCountImpl) {\n if (computeBytesCountImpl === void 0) { computeBytesCountImpl = computeBytesCount; }\n var storageKey = buildStorageKey(productKey, customerDataType);\n var contextManager = createContextManager(customerDataType, computeBytesCountImpl);\n synchronizeWithStorage();\n storageListeners.push(addEventListener(configuration, window, \"storage\" /* DOM_EVENT.STORAGE */, function (_a) {\n var key = _a.key;\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n return contextManager;\n function synchronizeWithStorage() {\n var rawContext = localStorage.getItem(storageKey);\n var context = rawContext !== null ? JSON.parse(rawContext) : {};\n contextManager.setContext(context);\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return \"\".concat(CONTEXT_STORE_KEY_PREFIX, \"_\").concat(productKey, \"_\").concat(customerDataType);\n}\nexport function removeStorageListeners() {\n storageListeners.map(function (listener) { return listener.stop(); });\n}\n//# sourceMappingURL=storedContextManager.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 var reader = stream.getReader();\n var chunks = [];\n var readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor(function (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(function (error) { return 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 var bytes;\n var limitExceeded;\n if (options.collectStreamBody) {\n var completeBuffer_1;\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_1 = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer_1 = new Uint8Array(readBytesCount);\n var offset_1 = 0;\n chunks.forEach(function (chunk) {\n completeBuffer_1.set(chunk, offset_1);\n offset_1 += chunk.length;\n });\n }\n bytes = completeBuffer_1.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer_1.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { getCookie } from '../../browser/cookie';\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || getCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { assign } from '../../tools/utils/polyfills';\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 var user = assign({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\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 var isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\n//# sourceMappingURL=user.js.map","import { startsWith } from './utils/polyfills';\nimport { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n var itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith) {\n if (useStartsWith === void 0) { useStartsWith = false; }\n return list.some(function (item) {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","import { objectEntries, shallowClone, performDraw, isNumber, assign, find, getType, isMatchOption, matchList, } from '@datadog/browser-core';\nexport function isTracingOption(item) {\n var expectedItem = item;\n return (getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes));\n}\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexport function startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded: clearTracingIfNeeded,\n traceFetch: function (context) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach(function (key) {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n var headers_1 = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach(function (value, key) {\n headers_1.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach(function (header) {\n headers_1.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach(function (key) {\n headers_1.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers_1.concat(objectEntries(tracingHeaders));\n }\n });\n },\n traceXhr: function (context, xhr) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n Object.keys(tracingHeaders).forEach(function (name) {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n });\n },\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n var tracingOption = find(configuration.allowedTracingUrls, function (tracingOption) {\n return matchList([tracingOption.match], context.url, true);\n });\n if (!tracingOption) {\n return;\n }\n context.traceId = new TraceIdentifier();\n context.spanId = new TraceIdentifier();\n context.traceSampled = !isNumber(configuration.traceSampleRate) || performDraw(configuration.traceSampleRate);\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\n}\nfunction getCrypto() {\n return window.crypto || window.msCrypto;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled, propagatorTypes) {\n var tracingHeaders = {};\n propagatorTypes.forEach(function (propagatorType) {\n switch (propagatorType) {\n case 'datadog': {\n assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toDecimalString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toDecimalString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n assign(tracingHeaders, {\n traceparent: \"00-0000000000000000\".concat(traceId.toPaddedHexadecimalString(), \"-\").concat(spanId.toPaddedHexadecimalString(), \"-0\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n assign(tracingHeaders, {\n b3: \"\".concat(traceId.toPaddedHexadecimalString(), \"-\").concat(spanId.toPaddedHexadecimalString(), \"-\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n case 'b3multi': {\n assign(tracingHeaders, {\n 'X-B3-TraceId': traceId.toPaddedHexadecimalString(),\n 'X-B3-SpanId': spanId.toPaddedHexadecimalString(),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n/* eslint-disable no-bitwise */\nvar TraceIdentifier = /** @class */ (function () {\n function TraceIdentifier() {\n this.buffer = new Uint8Array(8);\n getCrypto().getRandomValues(this.buffer);\n this.buffer[0] = this.buffer[0] & 0x7f; // force 63-bit\n }\n TraceIdentifier.prototype.toString = function (radix) {\n var high = this.readInt32(0);\n var low = this.readInt32(4);\n var str = '';\n do {\n var mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n };\n /**\n * Format used everywhere except the trace intake\n */\n TraceIdentifier.prototype.toDecimalString = function () {\n return this.toString(10);\n };\n /**\n * Format used by OTel headers\n */\n TraceIdentifier.prototype.toPaddedHexadecimalString = function () {\n var traceId = this.toString(16);\n return Array(17 - traceId.length).join('0') + traceId;\n };\n TraceIdentifier.prototype.readInt32 = function (offset) {\n return (this.buffer[offset] * 16777216 +\n (this.buffer[offset + 1] << 16) +\n (this.buffer[offset + 2] << 8) +\n this.buffer[offset + 3]);\n };\n return TraceIdentifier;\n}());\nexport { TraceIdentifier };\n/* eslint-enable no-bitwise */\n//# sourceMappingURL=tracer.js.map","import { getType, arrayFrom, getOrigin, isMatchOption, serializeConfiguration, assign, DefaultPrivacyLevel, display, isPercentage, objectHasValue, validateAndBuildConfiguration, } from '@datadog/browser-core';\nimport { isTracingOption } from './tracing/tracer';\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e, _f;\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (initConfiguration.sessionReplaySampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionReplaySampleRate)) {\n display.error('Session Replay Sample Rate should be a number between 0 and 100');\n return;\n }\n // TODO remove fallback in next major\n var premiumSampleRate = (_a = initConfiguration.premiumSampleRate) !== null && _a !== void 0 ? _a : initConfiguration.replaySampleRate;\n if (premiumSampleRate !== undefined && initConfiguration.sessionReplaySampleRate !== undefined) {\n display.warn('Ignoring Premium Sample Rate because Session Replay Sample Rate is set');\n premiumSampleRate = undefined;\n }\n if (premiumSampleRate !== undefined && !isPercentage(premiumSampleRate)) {\n display.error('Premium Sample Rate should be a number between 0 and 100');\n return;\n }\n var traceSampleRate = (_b = initConfiguration.traceSampleRate) !== null && _b !== void 0 ? _b : initConfiguration.tracingSampleRate;\n if (traceSampleRate !== undefined && !isPercentage(traceSampleRate)) {\n display.error('Trace Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array');\n return;\n }\n var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n var trackUserInteractions = !!((_c = initConfiguration.trackUserInteractions) !== null && _c !== void 0 ? _c : initConfiguration.trackInteractions);\n var trackFrustrations = !!initConfiguration.trackFrustrations;\n return assign({\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: (_e = (_d = initConfiguration.sessionReplaySampleRate) !== null && _d !== void 0 ? _d : premiumSampleRate) !== null && _e !== void 0 ? _e : 100,\n oldPlansBehavior: initConfiguration.sessionReplaySampleRate === undefined,\n traceSampleRate: traceSampleRate,\n allowedTracingUrls: allowedTracingUrls,\n excludedActivityUrls: (_f = initConfiguration.excludedActivityUrls) !== null && _f !== void 0 ? _f : [],\n workerUrl: initConfiguration.workerUrl,\n trackUserInteractions: trackUserInteractions || trackFrustrations,\n trackFrustrations: trackFrustrations,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: initConfiguration.trackResources,\n trackLongTasks: initConfiguration.trackLongTasks,\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK_USER_INPUT,\n customerDataTelemetrySampleRate: 1,\n }, baseConfiguration);\n}\n/**\n * Handles allowedTracingUrls and processes legacy allowedTracingOrigins\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n // Advise about parameters precedence.\n if (initConfiguration.allowedTracingUrls !== undefined && initConfiguration.allowedTracingOrigins !== undefined) {\n display.warn('Both allowedTracingUrls and allowedTracingOrigins (deprecated) have been defined. The parameter allowedTracingUrls will override allowedTracingOrigins.');\n }\n // Handle allowedTracingUrls first\n if (initConfiguration.allowedTracingUrls !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array');\n return;\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n var tracingOptions_1 = [];\n initConfiguration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n tracingOptions_1.push({ match: option, propagatorTypes: ['datadog'] });\n }\n else if (isTracingOption(option)) {\n tracingOptions_1.push(option);\n }\n else {\n display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);\n }\n });\n return tracingOptions_1;\n }\n // Handle conversion of allowedTracingOrigins to allowedTracingUrls\n if (initConfiguration.allowedTracingOrigins !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingOrigins)) {\n display.error('Allowed Tracing Origins should be an array');\n return;\n }\n if (initConfiguration.allowedTracingOrigins.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n var tracingOptions_2 = [];\n initConfiguration.allowedTracingOrigins.forEach(function (legacyMatchOption) {\n var tracingOption = convertLegacyMatchOptionToTracingOption(legacyMatchOption);\n if (tracingOption) {\n tracingOptions_2.push(tracingOption);\n }\n });\n return tracingOptions_2;\n }\n return [];\n}\n/**\n * Converts parameters from the deprecated allowedTracingOrigins\n * to allowedTracingUrls. Handles the change from origin to full URLs.\n */\nfunction convertLegacyMatchOptionToTracingOption(item) {\n var match;\n if (typeof item === 'string') {\n match = item;\n }\n else if (item instanceof RegExp) {\n match = function (url) { return item.test(getOrigin(url)); };\n }\n else if (typeof item === 'function') {\n match = function (url) { return item(getOrigin(url)); };\n }\n if (match === undefined) {\n display.warn('Allowed Tracing Origins parameters should be a string, RegExp or function. Ignoring parameter', item);\n return undefined;\n }\n return { match: match, propagatorTypes: ['datadog'] };\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls,\n * and assumes 'datadog' has been selected when using allowedTracingOrigins\n */\nfunction getSelectedTracingPropagators(configuration) {\n var usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n usedTracingPropagators.add('datadog');\n }\n else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n });\n }\n if (Array.isArray(configuration.allowedTracingOrigins) && configuration.allowedTracingOrigins.length > 0) {\n usedTracingPropagators.add('datadog');\n }\n return arrayFrom(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a, _b;\n var baseSerializedConfiguration = serializeConfiguration(configuration);\n return assign({\n premium_sample_rate: configuration.premiumSampleRate,\n replay_sample_rate: configuration.replaySampleRate,\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n trace_sample_rate: (_a = configuration.traceSampleRate) !== null && _a !== void 0 ? _a : configuration.tracingSampleRate,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_origins: Array.isArray(configuration.allowedTracingOrigins) && configuration.allowedTracingOrigins.length > 0,\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 use_excluded_activity_urls: Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n track_frustrations: configuration.trackFrustrations,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: (_b = configuration.trackUserInteractions) !== null && _b !== void 0 ? _b : configuration.trackInteractions,\n }, baseSerializedConfiguration);\n}\n//# sourceMappingURL=configuration.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 { noop, willSyntheticsInjectRum, assign, BoundedBuffer, createContextManager, deepClone, makePublicApi, monitor, clocksNow, timeStampNow, display, callMonitored, createHandlingStack, canUseEventBridge, checkUser, sanitizeUser, sanitize, createStoredContextManager, combine, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration } from '../domain/configuration';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nvar RUM_STORAGE_KEY = 'rum';\nexport function makeRumPublicApi(startRumImpl, recorderApi, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.ignoreInitIfSyntheticsWillInjectRum, ignoreInitIfSyntheticsWillInjectRum = _c === void 0 ? true : _c;\n var isAlreadyInitialized = false;\n var globalContextManager = createContextManager(2 /* CustomerDataType.GlobalContext */);\n var userContextManager = createContextManager(1 /* CustomerDataType.User */);\n var getInternalContextStrategy = function () { return undefined; };\n var getInitConfigurationStrategy = function () { return undefined; };\n var stopSessionStrategy = noop;\n var getSessionReplayLinkStrategy = function () { return undefined; };\n var bufferApiCalls = new BoundedBuffer();\n var addTimingStrategy = function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n bufferApiCalls.add(function () { return addTimingStrategy(name, time); });\n };\n var startViewStrategy = function (options, startClocks) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n bufferApiCalls.add(function () { return startViewStrategy(options, startClocks); });\n };\n var addActionStrategy = function (action, commonContext) {\n if (commonContext === void 0) { commonContext = buildCommonContext(globalContextManager, userContextManager, recorderApi); }\n bufferApiCalls.add(function () { return addActionStrategy(action, commonContext); });\n };\n var addErrorStrategy = function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = buildCommonContext(globalContextManager, userContextManager, recorderApi); }\n bufferApiCalls.add(function () { return addErrorStrategy(providedError, commonContext); });\n };\n var addFeatureFlagEvaluationStrategy = function (key, value) {\n bufferApiCalls.add(function () { return addFeatureFlagEvaluationStrategy(key, value); });\n };\n function initRum(initConfiguration) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n // This function should be available, regardless of initialization success.\n getInitConfigurationStrategy = function () { return deepClone(initConfiguration); };\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want to\n // completely discard the customer application RUM instance by ignoring their init() call. But,\n // 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 var eventBridgeAvailable = canUseEventBridge();\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n if (!canInitRum(initConfiguration)) {\n return;\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.');\n return;\n }\n if (!configuration.trackViewsManually) {\n doStartRum(initConfiguration, configuration);\n }\n else {\n // drain beforeInitCalls by buffering them until we start RUM\n // if we get a startView, drain re-buffered calls before continuing to drain beforeInitCalls\n // in order to ensure that calls are processed in order\n var beforeInitCalls = bufferApiCalls;\n bufferApiCalls = new BoundedBuffer();\n startViewStrategy = function (options) {\n doStartRum(initConfiguration, configuration, options);\n };\n beforeInitCalls.drain();\n }\n isAlreadyInitialized = true;\n }\n function doStartRum(initConfiguration, configuration, initialViewOptions) {\n if (initConfiguration.storeContextsAcrossPages) {\n var beforeInitGlobalContext = globalContextManager.getContext();\n globalContextManager = createStoredContextManager(configuration, RUM_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n globalContextManager.setContext(combine(globalContextManager.getContext(), beforeInitGlobalContext));\n var beforeInitUserContext = userContextManager.getContext();\n userContextManager = createStoredContextManager(configuration, RUM_STORAGE_KEY, 1 /* CustomerDataType.User */);\n userContextManager.setContext(combine(userContextManager.getContext(), beforeInitUserContext));\n }\n var startRumResults = startRumImpl(initConfiguration, configuration, recorderApi, globalContextManager, userContextManager, initialViewOptions);\n getSessionReplayLinkStrategy = function () {\n return recorderApi.getSessionReplayLink(configuration, startRumResults.session, startRumResults.viewContexts);\n };\n (startViewStrategy = startRumResults.startView, addActionStrategy = startRumResults.addAction, addErrorStrategy = startRumResults.addError, addTimingStrategy = startRumResults.addTiming, addFeatureFlagEvaluationStrategy = startRumResults.addFeatureFlagEvaluation, getInternalContextStrategy = startRumResults.getInternalContext, stopSessionStrategy = startRumResults.stopSession);\n bufferApiCalls.drain();\n recorderApi.onRumStart(startRumResults.lifeCycle, configuration, startRumResults.session, startRumResults.viewContexts);\n }\n var startView = monitor(function (options) {\n var sanitizedOptions = typeof options === 'object' ? options : { name: options };\n startViewStrategy(sanitizedOptions);\n });\n var rumPublicApi = makePublicApi({\n init: monitor(initRum),\n /** @deprecated: use setGlobalContextProperty instead */\n addRumGlobalContext: monitor(function (key, value) { return globalContextManager.add(key, value); }),\n setGlobalContextProperty: monitor(function (key, value) { return globalContextManager.setContextProperty(key, value); }),\n /** @deprecated: use removeGlobalContextProperty instead */\n removeRumGlobalContext: monitor(function (key) { return globalContextManager.remove(key); }),\n removeGlobalContextProperty: monitor(function (key) { return globalContextManager.removeContextProperty(key); }),\n /** @deprecated: use getGlobalContext instead */\n getRumGlobalContext: monitor(function () { return globalContextManager.get(); }),\n getGlobalContext: monitor(function () { return globalContextManager.getContext(); }),\n /** @deprecated: use setGlobalContext instead */\n setRumGlobalContext: monitor(function (context) { return globalContextManager.set(context); }),\n setGlobalContext: monitor(function (context) { return globalContextManager.setContext(context); }),\n clearGlobalContext: monitor(function () { return globalContextManager.clearContext(); }),\n getInternalContext: monitor(function (startTime) { return getInternalContextStrategy(startTime); }),\n getInitConfiguration: monitor(function () { return getInitConfigurationStrategy(); }),\n addAction: monitor(function (name, context) {\n addActionStrategy({\n name: sanitize(name),\n context: sanitize(context),\n startClocks: clocksNow(),\n type: \"custom\" /* ActionType.CUSTOM */,\n });\n }),\n addError: function (error, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n addErrorStrategy({\n error: error,\n handlingStack: handlingStack,\n context: sanitize(context),\n startClocks: clocksNow(),\n });\n });\n },\n addTiming: monitor(function (name, time) {\n addTimingStrategy(sanitize(name), time);\n }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n }),\n getUser: monitor(function () { return userContextManager.getContext(); }),\n setUserProperty: monitor(function (key, property) {\n var _a;\n var sanitizedProperty = sanitizeUser((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n }),\n removeUserProperty: monitor(function (key) { return userContextManager.removeContextProperty(key); }),\n /** @deprecated: renamed to clearUser */\n removeUser: monitor(function () { return userContextManager.clearContext(); }),\n clearUser: monitor(function () { return userContextManager.clearContext(); }),\n startView: startView,\n stopSession: monitor(function () {\n stopSessionStrategy();\n }),\n startSessionReplayRecording: monitor(recorderApi.start),\n stopSessionReplayRecording: monitor(recorderApi.stop),\n /**\n * This feature is currently in beta. For more information see the full [feature flag tracking guide](https://docs.datadoghq.com/real_user_monitoring/feature_flag_tracking/).\n */\n addFeatureFlagEvaluation: monitor(function (key, value) {\n addFeatureFlagEvaluationStrategy(sanitize(key), sanitize(value));\n }),\n getSessionReplayLink: monitor(function () { return getSessionReplayLinkStrategy(); }),\n });\n return rumPublicApi;\n function canInitRum(initConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n display.error('DD_RUM is already initialized.');\n }\n return false;\n }\n return true;\n }\n function overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n });\n }\n}\n//# sourceMappingURL=rumPublicApi.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n var observable = new Observable(function () {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver(monitor(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n return observable;\n}\nexport function getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver');\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n var patchedInstance = new browserWindow.MutationObserver(noop);\n var originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance');\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n//# sourceMappingURL=domMutationObservable.js.map","import { assign, addTelemetryDebug, elapsed, getPathName, includes, isValidUrl, toServerDuration, } from '@datadog/browser-core';\nexport var FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, function (initiatorType) { return FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* ResourceType.XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* ResourceType.FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* ResourceType.BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* ResourceType.CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* ResourceType.JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* ResourceType.IMAGE */,\n function (initiatorType, path) {\n return includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* ResourceType.FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* ResourceType.MEDIA */,\n function (initiatorType, path) {\n return includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nexport function computeResourceKind(timing) {\n var url = timing.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(\"Failed to construct URL for \\\"\".concat(timing.name, \"\\\"\"));\n return \"other\" /* ResourceType.OTHER */;\n }\n var path = getPathName(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(timing.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nexport function isRequestKind(timing) {\n return timing.initiatorType === 'xmlhttprequest' || timing.initiatorType === 'fetch';\n}\nexport function computePerformanceResourceDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nexport function computePerformanceResourceDetails(entry) {\n var validEntry = toValidEntry(entry);\n if (!validEntry) {\n return undefined;\n }\n var startTime = validEntry.startTime, fetchStart = validEntry.fetchStart, redirectStart = validEntry.redirectStart, redirectEnd = validEntry.redirectEnd, domainLookupStart = validEntry.domainLookupStart, domainLookupEnd = validEntry.domainLookupEnd, connectStart = validEntry.connectStart, secureConnectionStart = validEntry.secureConnectionStart, connectEnd = validEntry.connectEnd, requestStart = validEntry.requestStart, responseStart = validEntry.responseStart, responseEnd = validEntry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a connection occurred\n if (connectEnd !== fetchStart) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (areInOrder(connectStart, secureConnectionStart, connectEnd)) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (domainLookupEnd !== fetchStart) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n if (hasRedirection(entry)) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\nexport function toValidEntry(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 if (!areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd)) {\n return undefined;\n }\n if (!hasRedirection(entry)) {\n return entry;\n }\n var redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd;\n // Firefox doesn't provide redirect timings on cross origin requests.\n // Provide a default for those.\n if (redirectStart < entry.startTime) {\n redirectStart = entry.startTime;\n }\n if (redirectEnd < entry.startTime) {\n redirectEnd = entry.fetchStart;\n }\n // Make sure redirect timings are in order\n if (!areInOrder(entry.startTime, redirectStart, redirectEnd, entry.fetchStart)) {\n return undefined;\n }\n return assign({}, entry, {\n redirectEnd: redirectEnd,\n redirectStart: redirectStart,\n });\n}\nfunction hasRedirection(entry) {\n // The only time fetchStart is different than startTime is if a redirection occurred.\n return entry.fetchStart !== entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n}\nexport function computeSize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n return entry.decodedBodySize;\n }\n return undefined;\n}\nexport function isAllowedRequestUrl(configuration, url) {\n return url && !configuration.isIntakeUrl(url);\n}\n//# sourceMappingURL=resourceUtils.js.map","export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE;\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot);\n}\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node;\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);\n}\nexport function hasChildNodes(node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node);\n}\nexport function forEachChildNodes(node, callback) {\n node.childNodes.forEach(callback);\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot);\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode;\n}\n//# sourceMappingURL=htmlDomUtils.js.map","import { dateNow, findCommaSeparatedValue, ONE_MINUTE } from '@datadog/browser-core';\nimport { isCommentNode, isTextNode } from '../../browser/htmlDomUtils';\nexport var INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = 2 * ONE_MINUTE;\nexport function getDocumentTraceId(document) {\n var data = getDocumentTraceDataFromMeta(document) || getDocumentTraceDataFromComment(document);\n if (!data || data.traceTime <= dateNow() - INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD) {\n return undefined;\n }\n return data.traceId;\n}\nexport function getDocumentTraceDataFromMeta(document) {\n var traceIdMeta = document.querySelector('meta[name=dd-trace-id]');\n var traceTimeMeta = document.querySelector('meta[name=dd-trace-time]');\n return createDocumentTraceData(traceIdMeta && traceIdMeta.content, traceTimeMeta && traceTimeMeta.content);\n}\nexport function getDocumentTraceDataFromComment(document) {\n var comment = findTraceComment(document);\n if (!comment) {\n return undefined;\n }\n return createDocumentTraceData(findCommaSeparatedValue(comment, 'trace-id'), findCommaSeparatedValue(comment, 'trace-time'));\n}\nexport function createDocumentTraceData(traceId, rawTraceTime) {\n var traceTime = rawTraceTime && Number(rawTraceTime);\n if (!traceId || !traceTime) {\n return undefined;\n }\n return {\n traceId: traceId,\n traceTime: traceTime,\n };\n}\nexport function findTraceComment(document) {\n // 1. Try to find the comment as a direct child of the document\n // Note: TSLint advises to use a 'for of', but TS doesn't allow to use 'for of' if the iterated\n // value is not an array or string (here, a NodeList).\n for (var i = 0; i < document.childNodes.length; i += 1) {\n var comment = getTraceCommentFromNode(document.childNodes[i]);\n if (comment) {\n return comment;\n }\n }\n // 2. If the comment is placed after the tag, but have some space or new lines before or\n // after, the DOM parser will lift it (and the surrounding text) at the end of the tag.\n // Try to look for the comment at the end of the by by iterating over its child nodes in\n // reverse order, stopping if we come across a non-text node.\n if (document.body) {\n for (var i = document.body.childNodes.length - 1; i >= 0; i -= 1) {\n var node = document.body.childNodes[i];\n var comment = getTraceCommentFromNode(node);\n if (comment) {\n return comment;\n }\n if (!isTextNode(node)) {\n break;\n }\n }\n }\n}\nfunction getTraceCommentFromNode(node) {\n if (node && isCommentNode(node)) {\n var match = /^\\s*DATADOG;(.*?)\\s*$/.exec(node.data);\n if (match) {\n return match[1];\n }\n }\n}\n//# sourceMappingURL=getDocumentTraceId.js.map","import { dateNow, assign, addEventListeners, getRelativeTime, isNumber, monitor, setTimeout, relativeNow, runOnReadyState, addEventListener, objectHasValue, } from '@datadog/browser-core';\nimport { FAKE_INITIAL_DOCUMENT, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { getDocumentTraceId } from '../domain/tracing/getDocumentTraceId';\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport var RumPerformanceEntryType;\n(function (RumPerformanceEntryType) {\n RumPerformanceEntryType[\"EVENT\"] = \"event\";\n RumPerformanceEntryType[\"FIRST_INPUT\"] = \"first-input\";\n RumPerformanceEntryType[\"LARGEST_CONTENTFUL_PAINT\"] = \"largest-contentful-paint\";\n RumPerformanceEntryType[\"LAYOUT_SHIFT\"] = \"layout-shift\";\n RumPerformanceEntryType[\"LONG_TASK\"] = \"longtask\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nexport function supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nexport function startPerformanceCollection(lifeCycle, configuration) {\n retrieveInitialDocumentResourceTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n if (supportPerformanceObject()) {\n var performanceEntries_1 = performance.getEntries();\n // Because the performance entry list can be quite large\n // delay the computation to prevent the SDK from blocking the main thread on init\n setTimeout(function () { return handleRumPerformanceEntries(lifeCycle, configuration, performanceEntries_1); });\n }\n if (window.PerformanceObserver) {\n var handlePerformanceEntryList_1 = monitor(function (entries) {\n return handleRumPerformanceEntries(lifeCycle, configuration, entries.getEntries());\n });\n var mainEntries = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n var experimentalEntries = [\n RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT,\n RumPerformanceEntryType.FIRST_INPUT,\n RumPerformanceEntryType.LAYOUT_SHIFT,\n RumPerformanceEntryType.EVENT,\n ];\n try {\n // Experimental entries are not retrieved by performance.getEntries()\n // use a single PerformanceObserver with buffered flag by type\n // to get values that could happen before SDK init\n experimentalEntries.forEach(function (type) {\n var observer = new window.PerformanceObserver(handlePerformanceEntryList_1);\n observer.observe({\n type: type,\n buffered: true,\n // durationThreshold only impact PerformanceEventTiming entries used for INP computation which requires a threshold at 40 (default is 104ms)\n // cf: https://github.com/GoogleChrome/web-vitals/blob/3806160ffbc93c3c4abf210a167b81228172b31c/src/onINP.ts#L209\n durationThreshold: 40,\n });\n });\n }\n catch (e) {\n // Some old browser versions (ex: chrome 67) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to PerformanceObserver with entryTypes\n mainEntries.push.apply(mainEntries, experimentalEntries);\n }\n var mainObserver = new PerformanceObserver(handlePerformanceEntryList_1);\n mainObserver.observe({ entryTypes: mainEntries });\n if (supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n addEventListener(configuration, performance, 'resourcetimingbufferfull', function () {\n performance.clearResourceTimings();\n });\n }\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION)) {\n retrieveNavigationTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT)) {\n retrieveFirstInputTiming(configuration, function (timing) {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing]);\n });\n }\n}\nexport function retrieveInitialDocumentResourceTiming(configuration, callback) {\n runOnReadyState(configuration, 'interactive', function () {\n var timing;\n var forcedAttributes = {\n entryType: RumPerformanceEntryType.RESOURCE,\n initiatorType: FAKE_INITIAL_DOCUMENT,\n traceId: getDocumentTraceId(document),\n toJSON: function () { return assign({}, timing, { toJSON: undefined }); },\n };\n if (supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION) &&\n performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION).length > 0) {\n var navigationEntry = performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION)[0];\n timing = assign(navigationEntry.toJSON(), forcedAttributes);\n }\n else {\n var relativePerformanceTiming = computeRelativePerformanceTiming();\n timing = assign(relativePerformanceTiming, {\n decodedBodySize: 0,\n duration: relativePerformanceTiming.responseEnd,\n name: window.location.href,\n startTime: 0,\n }, forcedAttributes);\n }\n callback(timing);\n });\n}\nfunction retrieveNavigationTiming(configuration, callback) {\n function sendFakeTiming() {\n callback(assign(computeRelativePerformanceTiming(), {\n entryType: RumPerformanceEntryType.NAVIGATION,\n }));\n }\n runOnReadyState(configuration, 'complete', function () {\n // Send it a bit after the actual load event, so the \"loadEventEnd\" timing is accurate\n setTimeout(sendFakeTiming);\n });\n}\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nfunction retrieveFirstInputTiming(configuration, callback) {\n var startTimeStamp = dateNow();\n var timingSent = false;\n var removeEventListeners = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"mousedown\" /* DOM_EVENT.MOUSE_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */], function (evt) {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n var timing = {\n entryType: RumPerformanceEntryType.FIRST_INPUT,\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp,\n duration: 0,\n name: '',\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 }).stop;\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 */], function (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 var delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\nfunction computeRelativePerformanceTiming() {\n var result = {};\n var timing = performance.timing;\n for (var key in timing) {\n if (isNumber(timing[key])) {\n var numberKey = key;\n var timingElement = timing[numberKey];\n result[numberKey] = timingElement === 0 ? 0 : getRelativeTime(timingElement);\n }\n }\n return result;\n}\nfunction handleRumPerformanceEntries(lifeCycle, configuration, entries) {\n var rumPerformanceEntries = entries.filter(function (entry) {\n return objectHasValue(RumPerformanceEntryType, entry.entryType);\n });\n var rumAllowedPerformanceEntries = rumPerformanceEntries.filter(function (entry) { return !isIncompleteNavigation(entry) && !isForbiddenResource(configuration, entry); });\n if (rumAllowedPerformanceEntries.length) {\n lifeCycle.notify(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, rumAllowedPerformanceEntries);\n }\n}\nfunction isIncompleteNavigation(entry) {\n return entry.entryType === RumPerformanceEntryType.NAVIGATION && entry.loadEventEnd <= 0;\n}\nfunction isForbiddenResource(configuration, entry) {\n return entry.entryType === RumPerformanceEntryType.RESOURCE && !isAllowedRequestUrl(configuration, entry.name);\n}\n//# sourceMappingURL=performanceCollection.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n var testId = getSyntheticsTestId();\n var resultId = getSyntheticsResultId();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\n//# sourceMappingURL=syntheticsContext.js.map","export function getCiTestContext() {\n var _a;\n var testExecutionId = (_a = window.Cypress) === null || _a === void 0 ? void 0 : _a.env('traceId');\n if (typeof testExecutionId === 'string') {\n return {\n test_execution_id: testExecutionId,\n };\n }\n}\n//# sourceMappingURL=ciTestContext.js.map","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(function (_a) {\n var fieldPath = _a[0], fieldType = _a[1];\n var newValue = get(clone, fieldPath);\n var newType = getType(newValue);\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue));\n }\n else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObject(current)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObject(object) {\n return getType(object) === 'object';\n}\nfunction isValidObjectContaining(object, field) {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","import { combine, isEmptyObject, timeStampNow, currentDrift, display, createEventRateLimiter, canUseEventBridge, assign, round, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { getCiTestContext } from './contexts/ciTestContext';\nimport { limitModification } from './limitModification';\nvar VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nvar USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nvar modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewContexts, urlContexts, actionContexts, displayContext, buildCommonContext, reportError) {\n var _a, _b;\n modifiableFieldPathsByEvent = (_a = {},\n _a[\"view\" /* RumEventType.VIEW */] = VIEW_MODIFIABLE_FIELD_PATHS,\n _a[\"error\" /* RumEventType.ERROR */] = assign({\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"resource\" /* RumEventType.RESOURCE */] = assign({\n 'resource.url': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"action\" /* RumEventType.ACTION */] = assign({\n 'action.target.name': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"long_task\" /* RumEventType.LONG_TASK */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a);\n var eventRateLimiters = (_b = {},\n _b[\"error\" /* RumEventType.ERROR */] = createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"action\" /* RumEventType.ACTION */] = createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n _b);\n var syntheticsContext = getSyntheticsContext();\n var ciTestContext = getCiTestContext();\n lifeCycle.subscribe(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, function (_a) {\n var startTime = _a.startTime, rawRumEvent = _a.rawRumEvent, domainContext = _a.domainContext, savedCommonContext = _a.savedCommonContext, customerContext = _a.customerContext;\n var viewContext = viewContexts.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var commonContext = savedCommonContext || buildCommonContext();\n var actionId = actionContexts.findActionId(startTime);\n var rumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n session: {\n plan: session.plan,\n },\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() ? \"4.50.1\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewContext.service || configuration.service,\n version: viewContext.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext ? \"synthetics\" /* SessionType.SYNTHETICS */ : ciTestContext ? \"ci_test\" /* SessionType.CI_TEST */ : \"user\" /* SessionType.USER */,\n },\n view: {\n id: viewContext.id,\n name: viewContext.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciTestContext,\n display: displayContext.get(),\n };\n var serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (!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(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n var result = limitModification(event, modifiableFieldPathsByEvent[event.type], function (event) {\n return beforeSend(event, domainContext);\n });\n if (result === false && event.type !== \"view\" /* RumEventType.VIEW */) {\n return false;\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n var rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* RumEventType.ERROR */, \"resource\" /* RumEventType.RESOURCE */, \"long_task\" /* RumEventType.LONG_TASK */].indexOf(event.type) !== -1;\n}\n//# sourceMappingURL=assembly.js.map","/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(applicationId, sessionManager, viewContexts, actionContexts, urlContexts) {\n return {\n get: function (startTime) {\n var viewContext = viewContexts.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var 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 var LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","import { SESSION_TIME_OUT_DELAY, ValueHistory } from '@datadog/browser-core';\nexport var VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewContexts(lifeCycle) {\n var viewContextHistory = new ValueHistory(VIEW_CONTEXT_TIME_OUT_DELAY);\n lifeCycle.subscribe(2 /* LifeCycleEventType.VIEW_CREATED */, function (view) {\n viewContextHistory.add(buildViewContext(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(4 /* LifeCycleEventType.VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n viewContextHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(8 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n viewContextHistory.reset();\n });\n function buildViewContext(view) {\n return {\n service: view.service,\n version: view.version,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: function (startTime) { return viewContextHistory.find(startTime); },\n stop: function () {\n viewContextHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewContexts.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nvar nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n var tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, configuration, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n var subscription = initXhrObservable(configuration).subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(5 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(6 /* 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 });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexport function trackFetch(lifeCycle, configuration, tracer) {\n var subscription = initFetchObservable().subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(5 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, function (duration) {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(6 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* RequestType.FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n });\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nfunction getNextRequestIndex() {\n var result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n var clonedResponse = context.response && tryToClone(context.response);\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }\n else {\n readBytesFromStream(clonedResponse.body, function () {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }, {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n });\n }\n}\n//# sourceMappingURL=requestCollection.js.map","import { noop } from '@datadog/browser-core';\nexport function trackEventCounts(_a) {\n var lifeCycle = _a.lifeCycle, isChildEvent = _a.isChildEvent, _b = _a.onChange, callback = _b === void 0 ? noop : _b;\n var eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n var subscription = lifeCycle.subscribe(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) {\n var _a;\n if (event.type === 'view' || !isChildEvent(event)) {\n return;\n }\n switch (event.type) {\n case \"error\" /* RumEventType.ERROR */:\n eventCounts.errorCount += 1;\n callback();\n break;\n case \"action\" /* RumEventType.ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback();\n break;\n case \"long_task\" /* RumEventType.LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback();\n break;\n case \"resource\" /* RumEventType.RESOURCE */:\n if (!((_a = event._dd) === null || _a === void 0 ? void 0 : _a.discarded)) {\n eventCounts.resourceCount += 1;\n callback();\n }\n break;\n }\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n eventCounts: eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { instrumentMethodAndCallOriginal, matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout, } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../browser/performanceCollection';\n// Delay to wait for a page activity to validate the tracking process\nexport var PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport var PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, pageActivityEndCallback, maxDuration) {\n var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n var pageActivityEndTimeoutId;\n var hasCompleted = false;\n var validationTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: false }); }), PAGE_ACTIVITY_VALIDATION_DELAY);\n var maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(function () { return complete({ hadActivity: true, end: timeStampNow() }); }), maxDuration)\n : undefined;\n var pageActivitySubscription = pageActivityObservable.subscribe(function (_a) {\n var isBusy = _a.isBusy;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n var lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: true, end: lastChangeTime }); }), PAGE_ACTIVITY_END_DELAY);\n }\n });\n var stop = function () {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop: stop };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, configuration) {\n var observable = new Observable(function () {\n var subscriptions = [];\n var firstRequestIndex;\n var pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n if (entries.some(function (entry) { return entry.entryType === RumPerformanceEntryType.RESOURCE && !isExcludedUrl(configuration, entry.name); })) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(5 /* LifeCycleEventType.REQUEST_STARTED */, function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(6 /* LifeCycleEventType.REQUEST_COMPLETED */, function (request) {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n var stopTrackingWindowOpen = trackWindowOpen(notifyPageActivity).stop;\n return function () {\n stopTrackingWindowOpen();\n subscriptions.forEach(function (s) { return s.unsubscribe(); });\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n return observable;\n}\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl);\n}\nfunction trackWindowOpen(callback) {\n return instrumentMethodAndCallOriginal(window, 'open', { before: callback });\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","import { safeTruncate, isIE, find } from '@datadog/browser-core';\n/**\n * Get the action name from the attribute 'data-dd-action-name' on the element or any of its parent.\n * It can also be retrieved from a user defined attribute.\n */\nexport var DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE = 'data-dd-action-name';\nexport function getActionNameFromElement(element, userProgrammaticAttribute) {\n // Proceed to get the action name in two steps:\n // * first, get the name programmatically, explicitly defined by the user.\n // * then, use strategies that are known to return good results. Those strategies will be used on\n // the element and a few parents, but it's likely that they won't succeed at all.\n // * if no name is found this way, use strategies returning less accurate names as a fallback.\n // Those are much likely to succeed.\n return (getActionNameFromElementProgrammatically(element, DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE) ||\n (userProgrammaticAttribute && getActionNameFromElementProgrammatically(element, userProgrammaticAttribute)) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, priorityStrategies) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, fallbackStrategies) ||\n '');\n}\nfunction getActionNameFromElementProgrammatically(targetElement, programmaticAttribute) {\n var elementWithAttribute;\n // We don't use getActionNameFromElementForStrategies here, because we want to consider all parents,\n // without limit. It is up to the user to declare a relevant naming strategy.\n // If available, use element.closest() to match get the attribute from the element or any of its\n // parent. Else fallback to a more traditional implementation.\n if (supportsElementClosest()) {\n elementWithAttribute = targetElement.closest(\"[\".concat(programmaticAttribute, \"]\"));\n }\n else {\n var element = targetElement;\n while (element) {\n if (element.hasAttribute(programmaticAttribute)) {\n elementWithAttribute = element;\n break;\n }\n element = element.parentElement;\n }\n }\n if (!elementWithAttribute) {\n return;\n }\n var name = elementWithAttribute.getAttribute(programmaticAttribute);\n return truncate(normalizeWhitespace(name.trim()));\n}\nvar priorityStrategies = [\n // associated LABEL text\n function (element, userProgrammaticAttribute) {\n // IE does not support element.labels, so we fallback to a CSS selector based on the element id\n // instead\n if (supportsLabelProperty()) {\n if ('labels' in element && element.labels && element.labels.length > 0) {\n return getTextualContent(element.labels[0], userProgrammaticAttribute);\n }\n }\n else if (element.id) {\n var label = element.ownerDocument &&\n find(element.ownerDocument.querySelectorAll('label'), function (label) { return label.htmlFor === element.id; });\n return label && getTextualContent(label, userProgrammaticAttribute);\n }\n },\n // INPUT button (and associated) value\n function (element) {\n if (element.nodeName === 'INPUT') {\n var input = element;\n var type = input.getAttribute('type');\n if (type === 'button' || type === 'submit' || type === 'reset') {\n return input.value;\n }\n }\n },\n // BUTTON, LABEL or button-like element text\n function (element, userProgrammaticAttribute) {\n if (element.nodeName === 'BUTTON' || element.nodeName === 'LABEL' || element.getAttribute('role') === 'button') {\n return getTextualContent(element, userProgrammaticAttribute);\n }\n },\n function (element) { return element.getAttribute('aria-label'); },\n // associated element text designated by the aria-labelledby attribute\n function (element, userProgrammaticAttribute) {\n var labelledByAttribute = element.getAttribute('aria-labelledby');\n if (labelledByAttribute) {\n return labelledByAttribute\n .split(/\\s+/)\n .map(function (id) { return getElementById(element, id); })\n .filter(function (label) { return Boolean(label); })\n .map(function (element) { return getTextualContent(element, userProgrammaticAttribute); })\n .join(' ');\n }\n },\n function (element) { return element.getAttribute('alt'); },\n function (element) { return element.getAttribute('name'); },\n function (element) { return element.getAttribute('title'); },\n function (element) { return element.getAttribute('placeholder'); },\n // SELECT first OPTION text\n function (element, userProgrammaticAttribute) {\n if ('options' in element && element.options.length > 0) {\n return getTextualContent(element.options[0], userProgrammaticAttribute);\n }\n },\n];\nvar fallbackStrategies = [\n function (element, userProgrammaticAttribute) { return getTextualContent(element, userProgrammaticAttribute); },\n];\n/**\n * Iterates over the target element and its parent, using the strategies list to get an action name.\n * Each strategies are applied on each element, stopping as soon as a non-empty value is returned.\n */\nvar MAX_PARENTS_TO_CONSIDER = 10;\nfunction getActionNameFromElementForStrategies(targetElement, userProgrammaticAttribute, strategies) {\n var element = targetElement;\n var recursionCounter = 0;\n while (recursionCounter <= MAX_PARENTS_TO_CONSIDER &&\n element &&\n element.nodeName !== 'BODY' &&\n element.nodeName !== 'HTML' &&\n element.nodeName !== 'HEAD') {\n for (var _i = 0, strategies_1 = strategies; _i < strategies_1.length; _i++) {\n var strategy = strategies_1[_i];\n var name_1 = strategy(element, userProgrammaticAttribute);\n if (typeof name_1 === 'string') {\n var trimmedName = name_1.trim();\n if (trimmedName) {\n return truncate(normalizeWhitespace(trimmedName));\n }\n }\n }\n // Consider a FORM as a contextual limit to get the action name. This is experimental and may\n // be reconsidered in the future.\n if (element.nodeName === 'FORM') {\n break;\n }\n element = element.parentElement;\n recursionCounter += 1;\n }\n}\nfunction normalizeWhitespace(s) {\n return s.replace(/\\s+/g, ' ');\n}\nfunction truncate(s) {\n return s.length > 100 ? \"\".concat(safeTruncate(s, 100), \" [...]\") : s;\n}\nfunction getElementById(refElement, id) {\n // Use the element ownerDocument here, because tests are executed in an iframe, so\n // document.getElementById won't work.\n return refElement.ownerDocument ? refElement.ownerDocument.getElementById(id) : null;\n}\nfunction getTextualContent(element, userProgrammaticAttribute) {\n if (element.isContentEditable) {\n return;\n }\n if ('innerText' in element) {\n var text_1 = element.innerText;\n var removeTextFromElements = function (query) {\n var list = element.querySelectorAll(query);\n for (var index = 0; index < list.length; index += 1) {\n var element_1 = list[index];\n if ('innerText' in element_1) {\n var textToReplace = element_1.innerText;\n if (textToReplace && textToReplace.trim().length > 0) {\n text_1 = text_1.replace(textToReplace, '');\n }\n }\n }\n };\n if (!supportsInnerTextScriptAndStyleRemoval()) {\n // remove the inner text of SCRIPT and STYLES from the result. This is a bit dirty, but should\n // be relatively fast and work in most cases.\n removeTextFromElements('script, style');\n }\n // remove the text of elements with programmatic attribute value\n removeTextFromElements(\"[\".concat(DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE, \"]\"));\n if (userProgrammaticAttribute) {\n removeTextFromElements(\"[\".concat(userProgrammaticAttribute, \"]\"));\n }\n return text_1;\n }\n return element.textContent;\n}\n/**\n * Returns true if element.innerText excludes the text from inline SCRIPT and STYLE element. This\n * should be the case everywhere except on Internet Explorer 10 and 11 (see [1])\n *\n * The innerText property relies on what is actually rendered to compute its output, so to check if\n * it actually excludes SCRIPT and STYLE content, a solution would be to create a style element, set\n * its content to '*', inject it in the document body, and check if the style element innerText\n * property returns '*'. Using a new `document` instance won't work as it is not rendered.\n *\n * This solution requires specific CSP rules (see [2]) to be set by the customer. We want to avoid\n * this, so instead we rely on browser detection. In case of false negative, the impact should be\n * low, since we rely on this result to remove the SCRIPT and STYLE innerText (which will be empty)\n * from a parent element innerText.\n *\n * [1]: https://web.archive.org/web/20210602165716/http://perfectionkills.com/the-poor-misunderstood-innerText/#diff-with-textContent\n * [2]: https://github.com/DataDog/browser-sdk/issues/1084\n */\nfunction supportsInnerTextScriptAndStyleRemoval() {\n return !isIE();\n}\n/**\n * Returns true if the browser supports the element.labels property. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nvar supportsLabelPropertyResult;\nfunction supportsLabelProperty() {\n if (supportsLabelPropertyResult === undefined) {\n supportsLabelPropertyResult = 'labels' in HTMLInputElement.prototype;\n }\n return supportsLabelPropertyResult;\n}\n/**\n * Returns true if the browser supports the element.closest method. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nvar supportsElementClosestResult;\nfunction supportsElementClosest() {\n if (supportsElementClosestResult === undefined) {\n supportsElementClosestResult = 'closest' in HTMLElement.prototype;\n }\n return supportsElementClosestResult;\n}\n//# sourceMappingURL=getActionNameFromElement.js.map","import { cssEscape } from '@datadog/browser-core';\nimport { DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE } from './action/getActionNameFromElement';\n/**\n * Stable attributes are attributes that are commonly used to identify parts of a UI (ex:\n * component). Those attribute values should not be generated randomly (hardcoded most of the time)\n * and stay the same across deploys. They are not necessarily unique across the document.\n */\nexport var STABLE_ATTRIBUTES = [\n DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE,\n // Common test attributes (list provided by google recorder)\n 'data-testid',\n 'data-test',\n 'data-qa',\n 'data-cy',\n 'data-test-id',\n 'data-qa-id',\n 'data-testing',\n // FullStory decorator attributes:\n 'data-component',\n 'data-element',\n 'data-source-file',\n];\n// Selectors to use if they target a single element on the whole document. Those selectors are\n// considered as \"stable\" and uniquely identify an element regardless of the page state. If we find\n// one, we should consider the selector \"complete\" and stop iterating over ancestors.\nvar GLOBALLY_UNIQUE_SELECTOR_GETTERS = [getStableAttributeSelector, getIDSelector];\n// Selectors to use if they target a single element among an element descendants. Those selectors\n// are more brittle than \"globally unique\" selectors and should be combined with ancestor selectors\n// to improve specificity.\nvar UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS = [\n getStableAttributeSelector,\n getClassSelector,\n getTagNameSelector,\n];\nexport function getSelectorFromElement(targetElement, actionNameAttribute) {\n var targetElementSelector = '';\n var element = targetElement;\n while (element && element.nodeName !== 'HTML') {\n var globallyUniqueSelector = findSelector(element, GLOBALLY_UNIQUE_SELECTOR_GETTERS, isSelectorUniqueGlobally, actionNameAttribute, targetElementSelector);\n if (globallyUniqueSelector) {\n return globallyUniqueSelector;\n }\n var uniqueSelectorAmongChildren = findSelector(element, UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS, isSelectorUniqueAmongSiblings, actionNameAttribute, targetElementSelector);\n targetElementSelector =\n uniqueSelectorAmongChildren || combineSelector(getPositionSelector(element), targetElementSelector);\n element = element.parentElement;\n }\n return targetElementSelector;\n}\nfunction isGeneratedValue(value) {\n // To compute the \"URL path group\", the backend replaces every URL path parts as a question mark\n // if it thinks the part is an identifier. The condition it uses is to checks whether a digit is\n // present.\n //\n // Here, we use the same strategy: if a the value contains a digit, we consider it generated. This\n // strategy might be a bit naive and fail in some cases, but there are many fallbacks to generate\n // CSS selectors so it should be fine most of the time. We might want to allow customers to\n // provide their own `isGeneratedValue` at some point.\n return /[0-9]/.test(value);\n}\nfunction getIDSelector(element) {\n if (element.id && !isGeneratedValue(element.id)) {\n return \"#\".concat(cssEscape(element.id));\n }\n}\nfunction getClassSelector(element) {\n if (element.tagName === 'BODY') {\n return;\n }\n if (element.classList.length > 0) {\n for (var i = 0; i < element.classList.length; i += 1) {\n var className = element.classList[i];\n if (isGeneratedValue(className)) {\n continue;\n }\n return \"\".concat(cssEscape(element.tagName), \".\").concat(cssEscape(className));\n }\n }\n}\nfunction getTagNameSelector(element) {\n return cssEscape(element.tagName);\n}\nfunction getStableAttributeSelector(element, actionNameAttribute) {\n if (actionNameAttribute) {\n var selector = getAttributeSelector(actionNameAttribute);\n if (selector) {\n return selector;\n }\n }\n for (var _i = 0, STABLE_ATTRIBUTES_1 = STABLE_ATTRIBUTES; _i < STABLE_ATTRIBUTES_1.length; _i++) {\n var attributeName = STABLE_ATTRIBUTES_1[_i];\n var selector = getAttributeSelector(attributeName);\n if (selector) {\n return selector;\n }\n }\n function getAttributeSelector(attributeName) {\n if (element.hasAttribute(attributeName)) {\n return \"\".concat(cssEscape(element.tagName), \"[\").concat(attributeName, \"=\\\"\").concat(cssEscape(element.getAttribute(attributeName)), \"\\\"]\");\n }\n }\n}\nfunction getPositionSelector(element) {\n var sibling = element.parentElement.firstElementChild;\n var elementIndex = 1;\n while (sibling && sibling !== element) {\n if (sibling.tagName === element.tagName) {\n elementIndex += 1;\n }\n sibling = sibling.nextElementSibling;\n }\n return \"\".concat(cssEscape(element.tagName), \":nth-of-type(\").concat(elementIndex, \")\");\n}\nfunction findSelector(element, selectorGetters, predicate, actionNameAttribute, childSelector) {\n for (var _i = 0, selectorGetters_1 = selectorGetters; _i < selectorGetters_1.length; _i++) {\n var selectorGetter = selectorGetters_1[_i];\n var elementSelector = selectorGetter(element, actionNameAttribute);\n if (!elementSelector) {\n continue;\n }\n var fullSelector = combineSelector(elementSelector, childSelector);\n if (predicate(element, fullSelector)) {\n return fullSelector;\n }\n }\n}\n/**\n * Check whether the selector is unique among the whole document.\n */\nfunction isSelectorUniqueGlobally(element, selector) {\n return element.ownerDocument.querySelectorAll(selector).length === 1;\n}\n/**\n * Check whether the selector is unique among the element siblings. In other words, it returns true\n * if \"ELEMENT_PARENT > SELECTOR\" returns a single element.\n *\n * The result will be less accurate on browsers that don't support :scope (i. e. IE): it will check\n * for any element matching the selector contained in the parent (in other words,\n * \"ELEMENT_PARENT SELECTOR\" returns a single element), regardless of whether the selector is a\n * direct descendent of the element parent. This should not impact results too much: if it\n * inaccurately returns false, we'll just fall back to another strategy.\n */\nfunction isSelectorUniqueAmongSiblings(element, selector) {\n return (element.parentElement.querySelectorAll(supportScopeSelector() ? combineSelector(':scope', selector) : selector)\n .length === 1);\n}\nfunction combineSelector(parent, child) {\n return child ? \"\".concat(parent, \">\").concat(child) : parent;\n}\nvar supportScopeSelectorCache;\nexport function supportScopeSelector() {\n if (supportScopeSelectorCache === undefined) {\n try {\n document.querySelector(':scope');\n supportScopeSelectorCache = true;\n }\n catch (_a) {\n supportScopeSelectorCache = false;\n }\n }\n return supportScopeSelectorCache;\n}\n//# sourceMappingURL=getSelectorFromElement.js.map","import { ONE_SECOND, clearTimeout, setTimeout } from '@datadog/browser-core';\nexport var MAX_DURATION_BETWEEN_CLICKS = ONE_SECOND;\nexport var MAX_DISTANCE_BETWEEN_CLICKS = 100;\nexport function createClickChain(firstClick, onFinalize) {\n var bufferedClicks = [];\n var status = 0 /* ClickChainStatus.WaitingForMoreClicks */;\n var maxDurationBetweenClicksTimeoutId;\n appendClick(firstClick);\n function appendClick(click) {\n click.stopObservable.subscribe(tryFinalize);\n bufferedClicks.push(click);\n clearTimeout(maxDurationBetweenClicksTimeoutId);\n maxDurationBetweenClicksTimeoutId = setTimeout(dontAcceptMoreClick, MAX_DURATION_BETWEEN_CLICKS);\n }\n function tryFinalize() {\n if (status === 1 /* ClickChainStatus.WaitingForClicksToStop */ && bufferedClicks.every(function (click) { return click.isStopped(); })) {\n status = 2 /* ClickChainStatus.Finalized */;\n onFinalize(bufferedClicks);\n }\n }\n function dontAcceptMoreClick() {\n clearTimeout(maxDurationBetweenClicksTimeoutId);\n if (status === 0 /* ClickChainStatus.WaitingForMoreClicks */) {\n status = 1 /* ClickChainStatus.WaitingForClicksToStop */;\n tryFinalize();\n }\n }\n return {\n tryAppend: function (click) {\n if (status !== 0 /* ClickChainStatus.WaitingForMoreClicks */) {\n return false;\n }\n if (bufferedClicks.length > 0 &&\n !areEventsSimilar(bufferedClicks[bufferedClicks.length - 1].event, click.event)) {\n dontAcceptMoreClick();\n return false;\n }\n appendClick(click);\n return true;\n },\n stop: function () {\n dontAcceptMoreClick();\n },\n };\n}\n/**\n * Checks whether two events are similar by comparing their target, position and timestamp\n */\nfunction areEventsSimilar(first, second) {\n return (first.target === second.target &&\n mouseEventDistance(first, second) <= MAX_DISTANCE_BETWEEN_CLICKS &&\n first.timeStamp - second.timeStamp <= MAX_DURATION_BETWEEN_CLICKS);\n}\nfunction mouseEventDistance(origin, other) {\n return Math.sqrt(Math.pow(origin.clientX - other.clientX, 2) + Math.pow(origin.clientY - other.clientY, 2));\n}\n//# sourceMappingURL=clickChain.js.map","import { addEventListener } from '@datadog/browser-core';\nexport function listenActionEvents(configuration, _a) {\n var onPointerDown = _a.onPointerDown, onPointerUp = _a.onPointerUp;\n var selectionEmptyAtPointerDown;\n var userActivity = {\n selection: false,\n input: false,\n };\n var clickContext;\n var listeners = [\n addEventListener(configuration, window, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */, function (event) {\n if (isValidPointerEvent(event)) {\n selectionEmptyAtPointerDown = isSelectionEmpty();\n userActivity = {\n selection: false,\n input: false,\n };\n clickContext = onPointerDown(event);\n }\n }, { capture: true }),\n addEventListener(configuration, window, \"selectionchange\" /* DOM_EVENT.SELECTION_CHANGE */, function () {\n if (!selectionEmptyAtPointerDown || !isSelectionEmpty()) {\n userActivity.selection = true;\n }\n }, { capture: true }),\n addEventListener(configuration, window, \"pointerup\" /* DOM_EVENT.POINTER_UP */, function (event) {\n if (isValidPointerEvent(event) && clickContext) {\n // Use a scoped variable to make sure the value is not changed by other clicks\n var localUserActivity_1 = userActivity;\n onPointerUp(clickContext, event, function () { return localUserActivity_1; });\n clickContext = undefined;\n }\n }, { capture: true }),\n addEventListener(configuration, window, \"input\" /* DOM_EVENT.INPUT */, function () {\n userActivity.input = true;\n }, { capture: true }),\n ];\n return {\n stop: function () {\n listeners.forEach(function (listener) { return listener.stop(); });\n },\n };\n}\nfunction isSelectionEmpty() {\n var selection = window.getSelection();\n return !selection || selection.isCollapsed;\n}\nfunction isValidPointerEvent(event) {\n return (event.target instanceof Element &&\n // Only consider 'primary' pointer events for now. Multi-touch support could be implemented in\n // the future.\n event.isPrimary !== false);\n}\n//# sourceMappingURL=listenActionEvents.js.map","import { elementMatches, ONE_SECOND } from '@datadog/browser-core';\nvar MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE = 3;\nexport function computeFrustration(clicks, rageClick) {\n if (isRage(clicks)) {\n rageClick.addFrustration(\"rage_click\" /* FrustrationType.RAGE_CLICK */);\n if (clicks.some(isDead)) {\n rageClick.addFrustration(\"dead_click\" /* FrustrationType.DEAD_CLICK */);\n }\n if (rageClick.hasError) {\n rageClick.addFrustration(\"error_click\" /* FrustrationType.ERROR_CLICK */);\n }\n return { isRage: true };\n }\n var hasSelectionChanged = clicks.some(function (click) { return click.getUserActivity().selection; });\n clicks.forEach(function (click) {\n if (click.hasError) {\n click.addFrustration(\"error_click\" /* FrustrationType.ERROR_CLICK */);\n }\n if (isDead(click) &&\n // Avoid considering clicks part of a double-click or triple-click selections as dead clicks\n !hasSelectionChanged) {\n click.addFrustration(\"dead_click\" /* FrustrationType.DEAD_CLICK */);\n }\n });\n return { isRage: false };\n}\nexport function isRage(clicks) {\n if (clicks.some(function (click) { return click.getUserActivity().selection; })) {\n return false;\n }\n for (var i = 0; i < clicks.length - (MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1); i += 1) {\n if (clicks[i + MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1].event.timeStamp - clicks[i].event.timeStamp <=\n ONE_SECOND) {\n return true;\n }\n }\n return false;\n}\nvar DEAD_CLICK_EXCLUDE_SELECTOR = \n// inputs that don't trigger a meaningful event like \"input\" when clicked, including textual\n// inputs (using a negative selector is shorter here)\n'input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]):not([type=\"range\"]),' +\n 'textarea,' +\n 'select,' +\n // contenteditable and their descendants don't always trigger meaningful changes when manipulated\n '[contenteditable],' +\n '[contenteditable] *,' +\n // canvas, as there is no good way to detect activity occurring on them\n 'canvas,' +\n // links that are interactive (have an href attribute) or any of their descendants, as they can\n // open a new tab or navigate to a hash without triggering a meaningful event\n 'a[href],' +\n 'a[href] *';\nexport function isDead(click) {\n if (click.hasPageActivity || click.getUserActivity().input) {\n return false;\n }\n return !elementMatches(click.event.target, DEAD_CLICK_EXCLUDE_SELECTOR);\n}\n//# sourceMappingURL=computeFrustration.js.map","import { includes, timeStampNow, Observable, assign, getRelativeTime, ONE_MINUTE, ValueHistory, generateUUID, clocksNow, ONE_SECOND, elapsed, } from '@datadog/browser-core';\nimport { trackEventCounts } from '../trackEventCounts';\nimport { PAGE_ACTIVITY_VALIDATION_DELAY, waitPageActivityEnd } from '../waitPageActivityEnd';\nimport { getSelectorFromElement } from '../getSelectorFromElement';\nimport { createClickChain } from './clickChain';\nimport { getActionNameFromElement } from './getActionNameFromElement';\nimport { listenActionEvents } from './listenActionEvents';\nimport { computeFrustration } from './computeFrustration';\n// Maximum duration for click actions\nexport var CLICK_ACTION_MAX_DURATION = 10 * ONE_SECOND;\nexport var ACTION_CONTEXT_TIME_OUT_DELAY = 5 * ONE_MINUTE; // arbitrary\nexport function trackClickActions(lifeCycle, domMutationObservable, configuration) {\n var history = new ValueHistory(ACTION_CONTEXT_TIME_OUT_DELAY);\n var stopObservable = new Observable();\n var currentClickChain;\n lifeCycle.subscribe(8 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n history.reset();\n });\n lifeCycle.subscribe(4 /* LifeCycleEventType.VIEW_ENDED */, stopClickChain);\n var stopActionEventsListener = listenActionEvents(configuration, {\n onPointerDown: function (pointerDownEvent) {\n return processPointerDown(configuration, lifeCycle, domMutationObservable, history, pointerDownEvent);\n },\n onPointerUp: function (_a, startEvent, getUserActivity) {\n var clickActionBase = _a.clickActionBase, hadActivityOnPointerDown = _a.hadActivityOnPointerDown;\n return startClickAction(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, clickActionBase, startEvent, getUserActivity, hadActivityOnPointerDown);\n },\n }).stop;\n var actionContexts = {\n findActionId: function (startTime) {\n return configuration.trackFrustrations ? history.findAll(startTime) : history.find(startTime);\n },\n };\n return {\n stop: function () {\n stopClickChain();\n stopObservable.notify();\n stopActionEventsListener();\n },\n actionContexts: actionContexts,\n };\n function appendClickToClickChain(click) {\n if (!currentClickChain || !currentClickChain.tryAppend(click)) {\n var rageClick_1 = click.clone();\n currentClickChain = createClickChain(click, function (clicks) {\n finalizeClicks(clicks, rageClick_1);\n });\n }\n }\n function stopClickChain() {\n if (currentClickChain) {\n currentClickChain.stop();\n }\n }\n}\nfunction processPointerDown(configuration, lifeCycle, domMutationObservable, history, pointerDownEvent) {\n if (!configuration.trackFrustrations && history.find()) {\n // TODO: remove this in a future major version. To keep retrocompatibility, ignore any new\n // action if another one is already occurring.\n return;\n }\n var clickActionBase = computeClickActionBase(pointerDownEvent, configuration.actionNameAttribute);\n if (!configuration.trackFrustrations && !clickActionBase.name) {\n // TODO: remove this in a future major version. To keep retrocompatibility, ignore any action\n // with a blank name\n return;\n }\n var hadActivityOnPointerDown = false;\n waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, function (pageActivityEndEvent) {\n hadActivityOnPointerDown = pageActivityEndEvent.hadActivity;\n }, \n // We don't care about the activity duration, we just want to know whether an activity did happen\n // within the \"validation delay\" or not. Limit the duration so the callback is called sooner.\n PAGE_ACTIVITY_VALIDATION_DELAY);\n return { clickActionBase: clickActionBase, hadActivityOnPointerDown: function () { return hadActivityOnPointerDown; } };\n}\nfunction startClickAction(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, clickActionBase, startEvent, getUserActivity, hadActivityOnPointerDown) {\n var click = newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent);\n if (configuration.trackFrustrations) {\n appendClickToClickChain(click);\n }\n var stopWaitPageActivityEnd = waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, function (pageActivityEndEvent) {\n if (pageActivityEndEvent.hadActivity && pageActivityEndEvent.end < click.startClocks.timeStamp) {\n // If the clock is looking weird, just discard the click\n click.discard();\n }\n else {\n if (pageActivityEndEvent.hadActivity) {\n click.stop(pageActivityEndEvent.end);\n }\n else if (hadActivityOnPointerDown()) {\n click.stop(\n // using the click start as activity end, so the click will have some activity but its\n // duration will be 0 (as the activity started before the click start)\n click.startClocks.timeStamp);\n }\n else {\n click.stop();\n }\n // Validate or discard the click only if we don't track frustrations. It'll be done when\n // the click chain is finalized.\n if (!configuration.trackFrustrations) {\n if (!pageActivityEndEvent.hadActivity) {\n // If we are not tracking frustrations, we should discard the click to keep backward\n // compatibility.\n click.discard();\n }\n else {\n click.validate();\n }\n }\n }\n }, CLICK_ACTION_MAX_DURATION).stop;\n var viewEndedSubscription = lifeCycle.subscribe(4 /* LifeCycleEventType.VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n click.stop(endClocks.timeStamp);\n });\n var stopSubscription = stopObservable.subscribe(function () {\n click.stop();\n });\n click.stopObservable.subscribe(function () {\n viewEndedSubscription.unsubscribe();\n stopWaitPageActivityEnd();\n stopSubscription.unsubscribe();\n });\n}\nfunction computeClickActionBase(event, actionNameAttribute) {\n var rect = event.target.getBoundingClientRect();\n return {\n type: \"click\" /* ActionType.CLICK */,\n target: {\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n selector: getSelectorFromElement(event.target, actionNameAttribute),\n },\n position: {\n // Use clientX and Y because for SVG element offsetX and Y are relatives to the element\n x: Math.round(event.clientX - rect.left),\n y: Math.round(event.clientY - rect.top),\n },\n name: getActionNameFromElement(event.target, actionNameAttribute),\n };\n}\nfunction newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent) {\n var id = generateUUID();\n var startClocks = clocksNow();\n var historyEntry = history.add(id, startClocks.relative);\n var eventCountsSubscription = trackEventCounts({\n lifeCycle: lifeCycle,\n isChildEvent: function (event) {\n return event.action !== undefined &&\n (Array.isArray(event.action.id) ? includes(event.action.id, id) : event.action.id === id);\n },\n });\n var status = 0 /* ClickStatus.ONGOING */;\n var activityEndTime;\n var frustrationTypes = [];\n var stopObservable = new Observable();\n function stop(newActivityEndTime) {\n if (status !== 0 /* ClickStatus.ONGOING */) {\n return;\n }\n activityEndTime = newActivityEndTime;\n status = 1 /* ClickStatus.STOPPED */;\n if (activityEndTime) {\n historyEntry.close(getRelativeTime(activityEndTime));\n }\n else {\n historyEntry.remove();\n }\n eventCountsSubscription.stop();\n stopObservable.notify();\n }\n return {\n event: startEvent,\n stop: stop,\n stopObservable: stopObservable,\n get hasError() {\n return eventCountsSubscription.eventCounts.errorCount > 0;\n },\n get hasPageActivity() {\n return activityEndTime !== undefined;\n },\n getUserActivity: getUserActivity,\n addFrustration: function (frustrationType) {\n frustrationTypes.push(frustrationType);\n },\n startClocks: startClocks,\n isStopped: function () { return status === 1 /* ClickStatus.STOPPED */ || status === 2 /* ClickStatus.FINALIZED */; },\n clone: function () { return newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent); },\n validate: function (domEvents) {\n stop();\n if (status !== 1 /* ClickStatus.STOPPED */) {\n return;\n }\n var _a = eventCountsSubscription.eventCounts, resourceCount = _a.resourceCount, errorCount = _a.errorCount, longTaskCount = _a.longTaskCount;\n var clickAction = assign({\n type: \"click\" /* ActionType.CLICK */,\n duration: activityEndTime && elapsed(startClocks.timeStamp, activityEndTime),\n startClocks: startClocks,\n id: id,\n frustrationTypes: frustrationTypes,\n counts: {\n resourceCount: resourceCount,\n errorCount: errorCount,\n longTaskCount: longTaskCount,\n },\n events: domEvents !== null && domEvents !== void 0 ? domEvents : [startEvent],\n event: startEvent,\n }, clickActionBase);\n lifeCycle.notify(1 /* LifeCycleEventType.AUTO_ACTION_COMPLETED */, clickAction);\n status = 2 /* ClickStatus.FINALIZED */;\n },\n discard: function () {\n stop();\n status = 2 /* ClickStatus.FINALIZED */;\n },\n };\n}\nexport function finalizeClicks(clicks, rageClick) {\n var isRage = computeFrustration(clicks, rageClick).isRage;\n if (isRage) {\n clicks.forEach(function (click) { return click.discard(); });\n rageClick.stop(timeStampNow());\n rageClick.validate(clicks.map(function (click) { return click.event; }));\n }\n else {\n rageClick.discard();\n clicks.forEach(function (click) { return click.validate(); });\n }\n}\n//# sourceMappingURL=trackClickActions.js.map","import { noop, assign, combine, toServerDuration, generateUUID } from '@datadog/browser-core';\nimport { trackClickActions } from './trackClickActions';\nexport function startActionCollection(lifeCycle, domMutationObservable, configuration, pageStateHistory) {\n lifeCycle.subscribe(1 /* LifeCycleEventType.AUTO_ACTION_COMPLETED */, function (action) {\n return lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processAction(action, pageStateHistory));\n });\n var actionContexts = { findActionId: noop };\n if (configuration.trackUserInteractions) {\n actionContexts = trackClickActions(lifeCycle, domMutationObservable, configuration).actionContexts;\n }\n return {\n addAction: function (action, savedCommonContext) {\n lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, assign({\n savedCommonContext: savedCommonContext,\n }, processAction(action, pageStateHistory)));\n },\n actionContexts: actionContexts,\n };\n}\nfunction processAction(action, pageStateHistory) {\n var autoActionProperties = isAutoAction(action)\n ? {\n action: {\n id: action.id,\n loading_time: toServerDuration(action.duration),\n frustration: {\n type: action.frustrationTypes,\n },\n error: {\n count: action.counts.errorCount,\n },\n long_task: {\n count: action.counts.longTaskCount,\n },\n resource: {\n count: action.counts.resourceCount,\n },\n },\n _dd: {\n action: {\n target: action.target,\n position: action.position,\n },\n },\n }\n : undefined;\n var customerContext = !isAutoAction(action) ? action.context : undefined;\n var actionEvent = combine({\n action: {\n id: generateUUID(),\n target: {\n name: action.name,\n },\n type: action.type,\n },\n date: action.startClocks.timeStamp,\n type: \"action\" /* RumEventType.ACTION */,\n view: { in_foreground: pageStateHistory.isInActivePageStateAt(action.startClocks.relative) },\n }, autoActionProperties);\n return {\n customerContext: customerContext,\n rawRumEvent: actionEvent,\n startTime: action.startClocks.relative,\n domainContext: isAutoAction(action) ? { event: action.event, events: action.events } : {},\n };\n}\nfunction isAutoAction(action) {\n return action.type !== \"custom\" /* ActionType.CUSTOM */;\n}\n//# sourceMappingURL=actionCollection.js.map","import { clocksNow, initConsoleObservable, ErrorSource, ConsoleApiName } from '@datadog/browser-core';\nexport function trackConsoleError(errorObservable) {\n var subscription = initConsoleObservable([ConsoleApiName.error]).subscribe(function (consoleError) {\n return errorObservable.notify({\n startClocks: clocksNow(),\n message: consoleError.message,\n stack: consoleError.stack,\n fingerprint: consoleError.fingerprint,\n source: ErrorSource.CONSOLE,\n handling: \"handled\" /* ErrorHandling.HANDLED */,\n handlingStack: consoleError.handlingStack,\n });\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=trackConsoleError.js.map","import { clocksNow, ErrorSource, initReportObservable, RawReportType } from '@datadog/browser-core';\nexport function trackReportError(configuration, errorObservable) {\n var subscription = initReportObservable(configuration, [\n RawReportType.cspViolation,\n RawReportType.intervention,\n ]).subscribe(function (reportError) {\n return errorObservable.notify({\n startClocks: clocksNow(),\n message: reportError.message,\n stack: reportError.stack,\n type: reportError.subtype,\n source: ErrorSource.REPORT,\n handling: \"unhandled\" /* ErrorHandling.UNHANDLED */,\n });\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=trackReportError.js.map","import { isEmptyObject, assign, ErrorSource, generateUUID, computeRawError, computeStackTrace, Observable, trackRuntimeError, } from '@datadog/browser-core';\nimport { trackConsoleError } from './trackConsoleError';\nimport { trackReportError } from './trackReportError';\nexport function startErrorCollection(lifeCycle, configuration, pageStateHistory, featureFlagContexts) {\n var errorObservable = new Observable();\n trackConsoleError(errorObservable);\n trackRuntimeError(errorObservable);\n trackReportError(configuration, errorObservable);\n errorObservable.subscribe(function (error) { return lifeCycle.notify(12 /* LifeCycleEventType.RAW_ERROR_COLLECTED */, { error: error }); });\n return doStartErrorCollection(lifeCycle, pageStateHistory, featureFlagContexts);\n}\nexport function doStartErrorCollection(lifeCycle, pageStateHistory, featureFlagContexts) {\n lifeCycle.subscribe(12 /* LifeCycleEventType.RAW_ERROR_COLLECTED */, function (_a) {\n var error = _a.error, customerContext = _a.customerContext, savedCommonContext = _a.savedCommonContext;\n lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, assign({\n customerContext: customerContext,\n savedCommonContext: savedCommonContext,\n }, processError(error, pageStateHistory, featureFlagContexts)));\n });\n return {\n addError: function (_a, savedCommonContext) {\n var error = _a.error, handlingStack = _a.handlingStack, startClocks = _a.startClocks, customerContext = _a.context;\n var stackTrace = error instanceof Error ? computeStackTrace(error) : undefined;\n var rawError = computeRawError({\n stackTrace: stackTrace,\n originalError: error,\n handlingStack: handlingStack,\n startClocks: startClocks,\n nonErrorPrefix: \"Provided\" /* NonErrorPrefix.PROVIDED */,\n source: ErrorSource.CUSTOM,\n handling: \"handled\" /* ErrorHandling.HANDLED */,\n });\n lifeCycle.notify(12 /* LifeCycleEventType.RAW_ERROR_COLLECTED */, {\n customerContext: customerContext,\n savedCommonContext: savedCommonContext,\n error: rawError,\n });\n },\n };\n}\nfunction processError(error, pageStateHistory, featureFlagContexts) {\n var rawRumEvent = {\n date: error.startClocks.timeStamp,\n error: {\n id: generateUUID(),\n message: error.message,\n source: error.source,\n stack: error.stack,\n handling_stack: error.handlingStack,\n type: error.type,\n handling: error.handling,\n causes: error.causes,\n source_type: 'browser',\n fingerprint: error.fingerprint,\n },\n type: \"error\" /* RumEventType.ERROR */,\n view: { in_foreground: pageStateHistory.isInActivePageStateAt(error.startClocks.relative) },\n };\n var featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(error.startClocks.relative);\n if (featureFlagContext && !isEmptyObject(featureFlagContext)) {\n rawRumEvent.feature_flags = featureFlagContext;\n }\n return {\n rawRumEvent: rawRumEvent,\n startTime: error.startClocks.relative,\n domainContext: {\n error: error.originalError,\n },\n };\n}\n//# sourceMappingURL=errorCollection.js.map","import { toServerDuration, relativeToClocks, generateUUID } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../../browser/performanceCollection';\nexport function startLongTaskCollection(lifeCycle, sessionManager) {\n lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType !== RumPerformanceEntryType.LONG_TASK) {\n break;\n }\n var session = sessionManager.findTrackedSession(entry.startTime);\n if (!session || !session.longTaskAllowed) {\n break;\n }\n var startClocks = relativeToClocks(entry.startTime);\n var rawRumEvent = {\n date: startClocks.timeStamp,\n long_task: {\n id: generateUUID(),\n duration: toServerDuration(entry.duration),\n },\n type: \"long_task\" /* RumEventType.LONG_TASK */,\n _dd: {\n discarded: false,\n },\n };\n lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, {\n rawRumEvent: rawRumEvent,\n startTime: startClocks.relative,\n domainContext: { performanceEntry: entry.toJSON() },\n });\n }\n });\n}\n//# sourceMappingURL=longTaskCollection.js.map","import { addDuration } from '@datadog/browser-core';\nimport { toValidEntry } from './resourceUtils';\n/**\n * Look for corresponding timing in resource timing buffer\n *\n * Observations:\n * - Timing (start, end) are nested inside the request (start, end)\n * - Some timing can be not exactly nested, being off by < 1 ms\n *\n * Strategy:\n * - from valid nested entries (with 1 ms error margin)\n * - if a single timing match, return the timing\n * - otherwise we can't decide, return undefined\n */\nexport function matchRequestTiming(request) {\n if (!performance || !('getEntriesByName' in performance)) {\n return;\n }\n var sameNameEntries = performance.getEntriesByName(request.url, 'resource');\n if (!sameNameEntries.length || !('toJSON' in sameNameEntries[0])) {\n return;\n }\n var candidates = sameNameEntries\n .map(function (entry) { return entry.toJSON(); })\n .filter(toValidEntry)\n .filter(function (entry) {\n return isBetween(entry, request.startClocks.relative, endTime({ startTime: request.startClocks.relative, duration: request.duration }));\n });\n if (candidates.length === 1) {\n return candidates[0];\n }\n return;\n}\nfunction endTime(timing) {\n return addDuration(timing.startTime, timing.duration);\n}\nfunction isBetween(timing, start, end) {\n var errorMargin = 1;\n return timing.startTime >= start - errorMargin && endTime(timing) <= addDuration(end, errorMargin);\n}\n//# sourceMappingURL=matchRequestTiming.js.map","import { combine, generateUUID, toServerDuration, relativeToClocks, assign, isNumber, isExperimentalFeatureEnabled, ExperimentalFeature, } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../../browser/performanceCollection';\nimport { matchRequestTiming } from './matchRequestTiming';\nimport { computePerformanceResourceDetails, computePerformanceResourceDuration, computeResourceKind, computeSize, isRequestKind, } from './resourceUtils';\nexport function startResourceCollection(lifeCycle, configuration, sessionManager, pageStateHistory) {\n lifeCycle.subscribe(6 /* LifeCycleEventType.REQUEST_COMPLETED */, function (request) {\n lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processRequest(request, configuration, sessionManager, pageStateHistory));\n });\n lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === RumPerformanceEntryType.RESOURCE && !isRequestKind(entry)) {\n lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processResourceEntry(entry, configuration, sessionManager, pageStateHistory));\n }\n }\n });\n}\nfunction processRequest(request, configuration, sessionManager, pageStateHistory) {\n var _a;\n var type = request.type === \"xhr\" /* RequestType.XHR */ ? \"xhr\" /* ResourceType.XHR */ : \"fetch\" /* ResourceType.FETCH */;\n var matchingTiming = matchRequestTiming(request);\n var startClocks = matchingTiming ? relativeToClocks(matchingTiming.startTime) : request.startClocks;\n var correspondingTimingOverrides = matchingTiming ? computePerformanceEntryMetrics(matchingTiming) : undefined;\n var tracingInfo = computeRequestTracingInfo(request, configuration);\n var indexingInfo = computeIndexingInfo(sessionManager, startClocks);\n var duration = computeRequestDuration(pageStateHistory, startClocks, request.duration);\n var pageStateInfo = computePageStateInfo(pageStateHistory, startClocks, (_a = matchingTiming === null || matchingTiming === void 0 ? void 0 : matchingTiming.duration) !== null && _a !== void 0 ? _a : request.duration);\n var resourceEvent = combine({\n date: startClocks.timeStamp,\n resource: {\n id: generateUUID(),\n type: type,\n duration: duration,\n method: request.method,\n status_code: request.status,\n url: request.url,\n },\n type: \"resource\" /* RumEventType.RESOURCE */,\n }, tracingInfo, correspondingTimingOverrides, indexingInfo, pageStateInfo);\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: matchingTiming && toPerformanceEntryRepresentation(matchingTiming),\n xhr: request.xhr,\n response: request.response,\n requestInput: request.input,\n requestInit: request.init,\n error: request.error,\n },\n };\n}\nfunction processResourceEntry(entry, configuration, sessionManager, pageStateHistory) {\n var type = computeResourceKind(entry);\n var entryMetrics = computePerformanceEntryMetrics(entry);\n var startClocks = relativeToClocks(entry.startTime);\n var tracingInfo = computeEntryTracingInfo(entry, configuration);\n var indexingInfo = computeIndexingInfo(sessionManager, startClocks);\n var pageStateInfo = computePageStateInfo(pageStateHistory, startClocks, entry.duration);\n var resourceEvent = combine({\n date: startClocks.timeStamp,\n resource: {\n id: generateUUID(),\n type: type,\n url: entry.name,\n },\n type: \"resource\" /* RumEventType.RESOURCE */,\n }, tracingInfo, entryMetrics, indexingInfo, pageStateInfo);\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: toPerformanceEntryRepresentation(entry),\n },\n };\n}\nfunction computePerformanceEntryMetrics(timing) {\n return {\n resource: assign({\n duration: computePerformanceResourceDuration(timing),\n size: computeSize(timing),\n }, computePerformanceResourceDetails(timing)),\n };\n}\nfunction computeRequestTracingInfo(request, configuration) {\n var hasBeenTraced = request.traceSampled && request.traceId && request.spanId;\n if (!hasBeenTraced) {\n return undefined;\n }\n return {\n _dd: {\n span_id: request.spanId.toDecimalString(),\n trace_id: request.traceId.toDecimalString(),\n rule_psr: getRulePsr(configuration),\n },\n };\n}\nfunction computeEntryTracingInfo(entry, configuration) {\n var hasBeenTraced = entry.traceId;\n if (!hasBeenTraced) {\n return undefined;\n }\n return {\n _dd: {\n trace_id: entry.traceId,\n rule_psr: getRulePsr(configuration),\n },\n };\n}\n// TODO next major: use directly PerformanceEntry type in domain context\nfunction toPerformanceEntryRepresentation(entry) {\n return entry;\n}\n/**\n * @returns number between 0 and 1 which represents trace sample rate\n */\nfunction getRulePsr(configuration) {\n return isNumber(configuration.traceSampleRate) ? configuration.traceSampleRate / 100 : undefined;\n}\nfunction computeIndexingInfo(sessionManager, resourceStart) {\n var session = sessionManager.findTrackedSession(resourceStart.relative);\n return {\n _dd: {\n discarded: !session || !session.resourceAllowed,\n },\n };\n}\nfunction computePageStateInfo(pageStateHistory, startClocks, duration) {\n if (!isExperimentalFeatureEnabled(ExperimentalFeature.RESOURCE_PAGE_STATES)) {\n return;\n }\n return {\n _dd: {\n page_states: pageStateHistory.findAll(startClocks.relative, duration),\n page_was_discarded: String(document.wasDiscarded),\n },\n };\n}\nfunction computeRequestDuration(pageStateHistory, startClocks, duration) {\n var _a;\n // TODO remove FF in next major\n if (!isExperimentalFeatureEnabled(ExperimentalFeature.NO_RESOURCE_DURATION_FROZEN_STATE)) {\n return toServerDuration(duration);\n }\n var requestCrossedFrozenState = (_a = pageStateHistory\n .findAll(startClocks.relative, duration)) === null || _a === void 0 ? void 0 : _a.some(function (pageState) { return pageState.state === \"frozen\" /* PageState.FROZEN */; });\n return !requestCrossedFrozenState ? toServerDuration(duration) : undefined;\n}\n//# sourceMappingURL=resourceCollection.js.map","import { toServerDuration } from '@datadog/browser-core';\n// Todo: Remove in the next major release\nexport function mapToForegroundPeriods(pageStateServerEntries, duration) {\n var foregroundPeriods = [];\n for (var i = 0; i < pageStateServerEntries.length; i++) {\n var current = pageStateServerEntries[i];\n var next = pageStateServerEntries[i + 1];\n if (current.state === \"active\" /* PageState.ACTIVE */) {\n var start = current.start >= 0 ? current.start : 0;\n var end = next ? next.start : toServerDuration(duration);\n foregroundPeriods.push({\n start: start,\n duration: (end - start),\n });\n }\n }\n return foregroundPeriods;\n}\n//# sourceMappingURL=foregroundContexts.js.map","import { trackEventCounts } from '../trackEventCounts';\nexport function trackViewEventCounts(lifeCycle, viewId, onChange) {\n var _a = trackEventCounts({\n lifeCycle: lifeCycle,\n isChildEvent: function (event) { return event.view.id === viewId; },\n onChange: onChange,\n }), stop = _a.stop, eventCounts = _a.eventCounts;\n return {\n stop: stop,\n eventCounts: eventCounts,\n };\n}\n//# sourceMappingURL=trackViewEventCounts.js.map","import { ONE_MINUTE, find } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection';\n// Discard FCP timings above a certain delay to avoid incorrect data\n// It happens in some cases like sleep mode or some browser implementations\nexport var FCP_MAXIMUM_DELAY = 10 * ONE_MINUTE;\nexport function trackFirstContentfulPaint(lifeCycle, firstHidden, callback) {\n var unsubscribeLifeCycle = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var fcpEntry = find(entries, function (entry) {\n return entry.entryType === RumPerformanceEntryType.PAINT &&\n entry.name === 'first-contentful-paint' &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < FCP_MAXIMUM_DELAY;\n });\n if (fcpEntry) {\n callback(fcpEntry.startTime);\n }\n }).unsubscribe;\n return {\n stop: unsubscribeLifeCycle,\n };\n}\n//# sourceMappingURL=trackFirstContentfulPaint.js.map","import { elapsed, find, ExperimentalFeature, isExperimentalFeatureEnabled } from '@datadog/browser-core';\nimport { isElementNode } from '../../../browser/htmlDomUtils';\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection';\nimport { getSelectorFromElement } from '../../getSelectorFromElement';\n/**\n * Track the first input occurring during the initial View to return:\n * - First Input Delay\n * - First Input Time\n * Callback is called at most one time.\n * Documentation: https://web.dev/fid/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getFID.ts\n */\nexport function trackFirstInput(lifeCycle, configuration, firstHidden, callback) {\n var unsubscribeLifeCycle = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var firstInputEntry = find(entries, function (entry) {\n return entry.entryType === RumPerformanceEntryType.FIRST_INPUT && entry.startTime < firstHidden.timeStamp;\n });\n if (firstInputEntry) {\n var firstInputDelay = elapsed(firstInputEntry.startTime, firstInputEntry.processingStart);\n var firstInputTargetSelector = void 0;\n if (isExperimentalFeatureEnabled(ExperimentalFeature.WEB_VITALS_ATTRIBUTION) &&\n firstInputEntry.target &&\n isElementNode(firstInputEntry.target)) {\n firstInputTargetSelector = getSelectorFromElement(firstInputEntry.target, configuration.actionNameAttribute);\n }\n callback({\n // Ensure firstInputDelay to be positive, see\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1185815\n delay: firstInputDelay >= 0 ? firstInputDelay : 0,\n time: firstInputEntry.startTime,\n targetSelector: firstInputTargetSelector,\n });\n }\n }).unsubscribe;\n return {\n stop: unsubscribeLifeCycle,\n };\n}\n//# sourceMappingURL=trackFirstInput.js.map","import { relativeNow } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection';\nexport function trackNavigationTimings(lifeCycle, callback) {\n var stop = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === RumPerformanceEntryType.NAVIGATION) {\n callback({\n domComplete: entry.domComplete,\n domContentLoaded: entry.domContentLoadedEventEnd,\n domInteractive: entry.domInteractive,\n loadEvent: entry.loadEventEnd,\n // In some cases the value reported is negative or is larger\n // than the current page time. Ignore these cases:\n // https://github.com/GoogleChrome/web-vitals/issues/137\n // https://github.com/GoogleChrome/web-vitals/issues/162\n firstByte: entry.responseStart >= 0 && entry.responseStart <= relativeNow() ? entry.responseStart : undefined,\n });\n }\n }\n }).unsubscribe;\n return { stop: stop };\n}\n//# sourceMappingURL=trackNavigationTimings.js.map","import { ExperimentalFeature, ONE_MINUTE, addEventListeners, findLast, isExperimentalFeatureEnabled, } from '@datadog/browser-core';\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection';\nimport { getSelectorFromElement } from '../../getSelectorFromElement';\n// Discard LCP timings above a certain delay to avoid incorrect data\n// It happens in some cases like sleep mode or some browser implementations\nexport var LCP_MAXIMUM_DELAY = 10 * ONE_MINUTE;\n/**\n * Track the largest contentful paint (LCP) occurring during the initial View. This can yield\n * multiple values, only the most recent one should be used.\n * Documentation: https://web.dev/lcp/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/onLCP.ts\n */\nexport function trackLargestContentfulPaint(lifeCycle, configuration, firstHidden, eventTarget, callback) {\n // Ignore entries that come after the first user interaction. According to the documentation, the\n // browser should not send largest-contentful-paint entries after a user interact with the page,\n // but the web-vitals reference implementation uses this as a safeguard.\n var firstInteractionTimestamp = Infinity;\n var stopEventListener = addEventListeners(configuration, eventTarget, [\"pointerdown\" /* DOM_EVENT.POINTER_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */], function (event) {\n firstInteractionTimestamp = event.timeStamp;\n }, { capture: true, once: true }).stop;\n var unsubscribeLifeCycle = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var lcpEntry = findLast(entries, function (entry) {\n return entry.entryType === RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT &&\n entry.startTime < firstInteractionTimestamp &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < LCP_MAXIMUM_DELAY;\n });\n if (lcpEntry) {\n var lcpTargetSelector = void 0;\n if (isExperimentalFeatureEnabled(ExperimentalFeature.WEB_VITALS_ATTRIBUTION) && lcpEntry.element) {\n lcpTargetSelector = getSelectorFromElement(lcpEntry.element, configuration.actionNameAttribute);\n }\n callback({\n value: lcpEntry.startTime,\n targetSelector: lcpTargetSelector,\n });\n }\n }).unsubscribe;\n return {\n stop: function () {\n stopEventListener();\n unsubscribeLifeCycle();\n },\n };\n}\n//# sourceMappingURL=trackLargestContentfulPaint.js.map","import { addEventListeners } from '@datadog/browser-core';\nexport function trackFirstHidden(configuration, eventTarget) {\n if (eventTarget === void 0) { eventTarget = window; }\n var timeStamp;\n var stopListeners;\n if (document.visibilityState === 'hidden') {\n timeStamp = 0;\n }\n else {\n timeStamp = Infinity;\n (stopListeners = addEventListeners(configuration, eventTarget, [\"pagehide\" /* DOM_EVENT.PAGE_HIDE */, \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */], function (event) {\n if (event.type === \"pagehide\" /* DOM_EVENT.PAGE_HIDE */ || document.visibilityState === 'hidden') {\n timeStamp = event.timeStamp;\n stopListeners();\n }\n }, { capture: true }).stop);\n }\n return {\n get timeStamp() {\n return timeStamp;\n },\n stop: function () {\n stopListeners === null || stopListeners === void 0 ? void 0 : stopListeners();\n },\n };\n}\n//# sourceMappingURL=trackFirstHidden.js.map","import { trackFirstContentfulPaint } from './trackFirstContentfulPaint';\nimport { trackFirstInput } from './trackFirstInput';\nimport { trackNavigationTimings } from './trackNavigationTimings';\nimport { trackLargestContentfulPaint } from './trackLargestContentfulPaint';\nimport { trackFirstHidden } from './trackFirstHidden';\nexport function trackInitialViewMetrics(lifeCycle, configuration, setLoadEvent, scheduleViewUpdate) {\n var initialViewMetrics = {};\n var stopNavigationTracking = trackNavigationTimings(lifeCycle, function (navigationTimings) {\n setLoadEvent(navigationTimings.loadEvent);\n initialViewMetrics.navigationTimings = navigationTimings;\n scheduleViewUpdate();\n }).stop;\n var firstHidden = trackFirstHidden(configuration);\n var stopFCPTracking = trackFirstContentfulPaint(lifeCycle, firstHidden, function (firstContentfulPaint) {\n initialViewMetrics.firstContentfulPaint = firstContentfulPaint;\n scheduleViewUpdate();\n }).stop;\n var stopLCPTracking = trackLargestContentfulPaint(lifeCycle, configuration, firstHidden, window, function (largestContentfulPaint) {\n initialViewMetrics.largestContentfulPaint = largestContentfulPaint;\n scheduleViewUpdate();\n }).stop;\n var stopFIDTracking = trackFirstInput(lifeCycle, configuration, firstHidden, function (firstInput) {\n initialViewMetrics.firstInput = firstInput;\n scheduleViewUpdate();\n }).stop;\n function stop() {\n stopNavigationTracking();\n stopFCPTracking();\n stopLCPTracking();\n stopFIDTracking();\n firstHidden.stop();\n }\n return {\n stop: stop,\n initialViewMetrics: initialViewMetrics,\n };\n}\n//# sourceMappingURL=trackInitialViewMetrics.js.map","import { round, find, ONE_SECOND, isExperimentalFeatureEnabled, ExperimentalFeature, noop, } from '@datadog/browser-core';\nimport { isElementNode } from '../../../browser/htmlDomUtils';\nimport { supportPerformanceTimingEvent, RumPerformanceEntryType } from '../../../browser/performanceCollection';\nimport { getSelectorFromElement } from '../../getSelectorFromElement';\n/**\n * Track the cumulative layout shifts (CLS).\n * Layout shifts are grouped into session windows.\n * The minimum gap between session windows is 1 second.\n * The maximum duration of a session window is 5 second.\n * The session window layout shift value is the sum of layout shifts inside it.\n * The CLS value is the max of session windows values.\n *\n * This yields a new value whenever the CLS value is updated (a higher session window value is computed).\n *\n * See isLayoutShiftSupported to check for browser support.\n *\n * Documentation:\n * https://web.dev/cls/\n * https://web.dev/evolving-cls/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getCLS.ts\n */\nexport function trackCumulativeLayoutShift(configuration, lifeCycle, callback) {\n if (!isLayoutShiftSupported()) {\n return {\n stop: noop,\n };\n }\n var maxClsValue = 0;\n // if no layout shift happen the value should be reported as 0\n callback({\n value: 0,\n });\n var window = slidingSessionWindow();\n var stop = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.entryType === RumPerformanceEntryType.LAYOUT_SHIFT && !entry.hadRecentInput) {\n window.update(entry);\n if (window.value() > maxClsValue) {\n maxClsValue = window.value();\n var cls = round(maxClsValue, 4);\n var clsTarget = window.largestLayoutShiftTarget();\n var cslTargetSelector = void 0;\n if (isExperimentalFeatureEnabled(ExperimentalFeature.WEB_VITALS_ATTRIBUTION) && clsTarget) {\n cslTargetSelector = getSelectorFromElement(clsTarget, configuration.actionNameAttribute);\n }\n callback({\n value: cls,\n targetSelector: cslTargetSelector,\n });\n }\n }\n }\n }).unsubscribe;\n return {\n stop: stop,\n };\n}\nfunction slidingSessionWindow() {\n var value = 0;\n var startTime;\n var endTime;\n var largestLayoutShift = 0;\n var largestLayoutShiftTarget;\n var largestLayoutShiftTime;\n return {\n update: function (entry) {\n var _a, _b;\n var shouldCreateNewWindow = startTime === undefined ||\n entry.startTime - endTime >= ONE_SECOND ||\n entry.startTime - startTime >= 5 * ONE_SECOND;\n if (shouldCreateNewWindow) {\n startTime = endTime = entry.startTime;\n value = entry.value;\n largestLayoutShift = 0;\n largestLayoutShiftTarget = undefined;\n }\n else {\n value += entry.value;\n endTime = entry.startTime;\n }\n if (entry.value > largestLayoutShift) {\n largestLayoutShift = entry.value;\n largestLayoutShiftTime = entry.startTime;\n if ((_a = entry.sources) === null || _a === void 0 ? void 0 : _a.length) {\n largestLayoutShiftTarget = (_b = find(entry.sources, function (s) { return !!s.node && isElementNode(s.node); })) === null || _b === void 0 ? void 0 : _b.node;\n }\n else {\n largestLayoutShiftTarget = undefined;\n }\n }\n },\n value: function () { return value; },\n largestLayoutShiftTarget: function () { return largestLayoutShiftTarget; },\n largestLayoutShiftTime: function () { return largestLayoutShiftTime; },\n };\n}\n/**\n * Check whether `layout-shift` is supported by the browser.\n */\nexport function isLayoutShiftSupported() {\n return supportPerformanceTimingEvent(RumPerformanceEntryType.LAYOUT_SHIFT);\n}\n//# sourceMappingURL=trackCumulativeLayoutShift.js.map","/**\n * performance.interactionCount polyfill\n *\n * The interactionCount is an integer which counts the total number of distinct user interactions,\n * for which there was a unique interactionId.\n *\n * The interactionCount polyfill is an estimate based on a convention specific to Chrome. Cf: https://github.com/GoogleChrome/web-vitals/pull/213\n * This is currently not an issue as the polyfill is only used for INP which is currently only supported on Chrome.\n * Hopefully when/if other browsers will support INP, they will also implement performance.interactionCount at the same time, so we won't need that polyfill.\n *\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/main/src/lib/polyfills/interactionCountPolyfill.ts\n */\nimport { monitor } from '@datadog/browser-core';\nvar observer;\nvar interactionCountEstimate = 0;\nvar minKnownInteractionId = Infinity;\nvar maxKnownInteractionId = 0;\nexport function initInteractionCountPolyfill() {\n if ('interactionCount' in performance || observer) {\n return;\n }\n observer = new window.PerformanceObserver(monitor(function (entries) {\n entries.getEntries().forEach(function (e) {\n var entry = e;\n if (entry.interactionId) {\n minKnownInteractionId = Math.min(minKnownInteractionId, entry.interactionId);\n maxKnownInteractionId = Math.max(maxKnownInteractionId, entry.interactionId);\n interactionCountEstimate = (maxKnownInteractionId - minKnownInteractionId) / 7 + 1;\n }\n });\n }));\n observer.observe({ type: 'event', buffered: true, durationThreshold: 0 });\n}\n/**\n * Returns the `interactionCount` value using the native API (if available)\n * or the polyfill estimate in this module.\n */\nexport var getInteractionCount = function () {\n return observer ? interactionCountEstimate : window.performance.interactionCount || 0;\n};\n//# sourceMappingURL=interactionCountPolyfill.js.map","import { noop, isExperimentalFeatureEnabled, ExperimentalFeature, ONE_MINUTE, addTelemetryDebug, elapsed, } from '@datadog/browser-core';\nimport { RumPerformanceEntryType, supportPerformanceTimingEvent } from '../../../browser/performanceCollection';\nimport { getSelectorFromElement } from '../../getSelectorFromElement';\nimport { isElementNode } from '../../../browser/htmlDomUtils';\nimport { getInteractionCount, initInteractionCountPolyfill } from './interactionCountPolyfill';\n// Arbitrary value to prevent unnecessary memory usage on views with lots of interactions.\nvar MAX_INTERACTION_ENTRIES = 10;\n/**\n * Track the interaction to next paint (INP).\n * To avoid outliers, return the p98 worst interaction of the view.\n * Documentation: https://web.dev/inp/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/main/src/onINP.ts\n */\nexport function trackInteractionToNextPaint(configuration, viewStart, viewLoadingType, lifeCycle) {\n if (!isInteractionToNextPaintSupported() ||\n !isExperimentalFeatureEnabled(ExperimentalFeature.INTERACTION_TO_NEXT_PAINT)) {\n return {\n getInteractionToNextPaint: function () { return undefined; },\n stop: noop,\n };\n }\n var getViewInteractionCount = trackViewInteractionCount(viewLoadingType).getViewInteractionCount;\n var longestInteractions = trackLongestInteractions(getViewInteractionCount);\n var interactionToNextPaint = -1;\n var interactionToNextPaintTargetSelector;\n var telemetryCollected = false;\n var stop = lifeCycle.subscribe(0 /* LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED */, function (entries) {\n var _a;\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if ((entry.entryType === RumPerformanceEntryType.EVENT ||\n entry.entryType === RumPerformanceEntryType.FIRST_INPUT) &&\n entry.interactionId) {\n longestInteractions.process(entry);\n }\n }\n var newInteraction = longestInteractions.estimateP98Interaction();\n if (newInteraction) {\n interactionToNextPaint = newInteraction.duration;\n if (interactionToNextPaint > 10 * ONE_MINUTE && !telemetryCollected) {\n telemetryCollected = true;\n addTelemetryDebug('INP outlier', {\n inp: interactionToNextPaint,\n interaction: {\n timeFromViewStart: elapsed(viewStart.relative, newInteraction.startTime),\n duration: newInteraction.duration,\n startTime: newInteraction.startTime,\n processingStart: newInteraction.processingStart,\n processingEnd: newInteraction.processingEnd,\n interactionId: newInteraction.interactionId,\n name: newInteraction.name,\n targetNodeName: (_a = newInteraction.target) === null || _a === void 0 ? void 0 : _a.nodeName,\n },\n });\n }\n if (isExperimentalFeatureEnabled(ExperimentalFeature.WEB_VITALS_ATTRIBUTION) &&\n newInteraction.target &&\n isElementNode(newInteraction.target)) {\n interactionToNextPaintTargetSelector = getSelectorFromElement(newInteraction.target, configuration.actionNameAttribute);\n }\n else {\n interactionToNextPaintTargetSelector = undefined;\n }\n }\n }).unsubscribe;\n return {\n getInteractionToNextPaint: function () {\n // If no INP duration where captured because of the performanceObserver 40ms threshold\n // but the view interaction count > 0 then report 0\n if (interactionToNextPaint >= 0) {\n return {\n value: interactionToNextPaint,\n targetSelector: interactionToNextPaintTargetSelector,\n };\n }\n else if (getViewInteractionCount()) {\n return {\n value: 0,\n };\n }\n },\n stop: stop,\n };\n}\nfunction trackLongestInteractions(getViewInteractionCount) {\n var longestInteractions = [];\n function sortAndTrimLongestInteractions() {\n longestInteractions.sort(function (a, b) { return b.duration - a.duration; }).splice(MAX_INTERACTION_ENTRIES);\n }\n return {\n /**\n * Process the performance entry:\n * - if its duration is long enough, add the performance entry to the list of worst interactions\n * - if an entry with the same interaction id exists and its duration is lower than the new one, then replace it in the list of worst interactions\n */\n process: function (entry) {\n var interactionIndex = longestInteractions.findIndex(function (interaction) { return entry.interactionId === interaction.interactionId; });\n var minLongestInteraction = longestInteractions[longestInteractions.length - 1];\n if (interactionIndex !== -1) {\n if (entry.duration > longestInteractions[interactionIndex].duration) {\n longestInteractions[interactionIndex] = entry;\n sortAndTrimLongestInteractions();\n }\n }\n else if (longestInteractions.length < MAX_INTERACTION_ENTRIES ||\n entry.duration > minLongestInteraction.duration) {\n longestInteractions.push(entry);\n sortAndTrimLongestInteractions();\n }\n },\n /**\n * Compute the p98 longest interaction.\n * For better performance the computation is based on 10 longest interactions and the interaction count of the current view.\n */\n estimateP98Interaction: function () {\n var interactionIndex = Math.min(longestInteractions.length - 1, Math.floor(getViewInteractionCount() / 50));\n return longestInteractions[interactionIndex];\n },\n };\n}\nexport function trackViewInteractionCount(viewLoadingType) {\n initInteractionCountPolyfill();\n var previousInteractionCount = viewLoadingType === \"initial_load\" /* ViewLoadingType.INITIAL_LOAD */ ? 0 : getInteractionCount();\n return {\n getViewInteractionCount: function () { return getInteractionCount() - previousInteractionCount; },\n };\n}\nexport function isInteractionToNextPaintSupported() {\n return (supportPerformanceTimingEvent(RumPerformanceEntryType.EVENT) &&\n window.PerformanceEventTiming &&\n 'interactionId' in PerformanceEventTiming.prototype);\n}\n//# sourceMappingURL=trackInteractionToNextPaint.js.map","import { elapsed } from '@datadog/browser-core';\nimport { waitPageActivityEnd } from '../../waitPageActivityEnd';\nexport function trackLoadingTime(lifeCycle, domMutationObservable, configuration, loadType, viewStart, callback) {\n var isWaitingForLoadEvent = loadType === \"initial_load\" /* ViewLoadingType.INITIAL_LOAD */;\n var isWaitingForActivityLoadingTime = true;\n var loadingTimeCandidates = [];\n function invokeCallbackIfAllCandidatesAreReceived() {\n if (!isWaitingForActivityLoadingTime && !isWaitingForLoadEvent && loadingTimeCandidates.length > 0) {\n callback(Math.max.apply(Math, loadingTimeCandidates));\n }\n }\n var stop = waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, function (event) {\n if (isWaitingForActivityLoadingTime) {\n isWaitingForActivityLoadingTime = false;\n if (event.hadActivity) {\n loadingTimeCandidates.push(elapsed(viewStart.timeStamp, event.end));\n }\n invokeCallbackIfAllCandidatesAreReceived();\n }\n }).stop;\n return {\n stop: stop,\n setLoadEvent: function (loadEvent) {\n if (isWaitingForLoadEvent) {\n isWaitingForLoadEvent = false;\n loadingTimeCandidates.push(loadEvent);\n invokeCallbackIfAllCandidatesAreReceived();\n }\n },\n };\n}\n//# sourceMappingURL=trackLoadingTime.js.map","export function getScrollX() {\n var scrollX;\n var visual = window.visualViewport;\n if (visual) {\n scrollX = visual.pageLeft - visual.offsetLeft;\n }\n else if (window.scrollX !== undefined) {\n scrollX = window.scrollX;\n }\n else {\n scrollX = window.pageXOffset || 0;\n }\n return Math.round(scrollX);\n}\nexport function getScrollY() {\n var scrollY;\n var visual = window.visualViewport;\n if (visual) {\n scrollY = visual.pageTop - visual.offsetTop;\n }\n else if (window.scrollY !== undefined) {\n scrollY = window.scrollY;\n }\n else {\n scrollY = window.pageYOffset || 0;\n }\n return Math.round(scrollY);\n}\n//# sourceMappingURL=scroll.js.map","import { Observable, throttle, addEventListener } from '@datadog/browser-core';\nvar viewportObservable;\nexport function initViewportObservable(configuration) {\n if (!viewportObservable) {\n viewportObservable = createViewportObservable(configuration);\n }\n return viewportObservable;\n}\nexport function createViewportObservable(configuration) {\n var observable = new Observable(function () {\n var updateDimension = throttle(function () {\n observable.notify(getViewportDimension());\n }, 200).throttled;\n return addEventListener(configuration, window, \"resize\" /* DOM_EVENT.RESIZE */, updateDimension, { capture: true, passive: true })\n .stop;\n });\n return observable;\n}\n// excludes the width and height of any rendered classic scrollbar that is fixed to the visual viewport\nexport function getViewportDimension() {\n var visual = window.visualViewport;\n if (visual) {\n return {\n width: Number(visual.width * visual.scale),\n height: Number(visual.height * visual.scale),\n };\n }\n return {\n width: Number(window.innerWidth || 0),\n height: Number(window.innerHeight || 0),\n };\n}\n//# sourceMappingURL=viewportObservable.js.map","import { Observable, ONE_SECOND, elapsed, relativeNow, throttle, addEventListener, monitor, } from '@datadog/browser-core';\nimport { getScrollY } from '../../../browser/scroll';\nimport { getViewportDimension } from '../../../browser/viewportObservable';\n/** Arbitrary scroll throttle duration */\nexport var THROTTLE_SCROLL_DURATION = ONE_SECOND;\nexport function trackScrollMetrics(configuration, viewStart, callback, scrollValues) {\n if (scrollValues === void 0) { scrollValues = createScrollValuesObservable(configuration); }\n var maxScrollDepth = 0;\n var maxScrollHeight = 0;\n var maxScrollHeightTime = 0;\n var subscription = scrollValues.subscribe(function (_a) {\n var scrollDepth = _a.scrollDepth, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight;\n var shouldUpdate = false;\n if (scrollDepth > maxScrollDepth) {\n maxScrollDepth = scrollDepth;\n shouldUpdate = true;\n }\n if (scrollHeight > maxScrollHeight) {\n maxScrollHeight = scrollHeight;\n var now = relativeNow();\n maxScrollHeightTime = elapsed(viewStart.relative, now);\n shouldUpdate = true;\n }\n if (shouldUpdate) {\n callback({\n maxDepth: Math.min(maxScrollDepth, maxScrollHeight),\n maxDepthScrollTop: scrollTop,\n maxScrollHeight: maxScrollHeight,\n maxScrollHeightTime: maxScrollHeightTime,\n });\n }\n });\n return {\n stop: function () { return subscription.unsubscribe(); },\n };\n}\nexport function computeScrollValues() {\n var scrollTop = getScrollY();\n var height = getViewportDimension().height;\n var scrollHeight = Math.round((document.scrollingElement || document.documentElement).scrollHeight);\n var scrollDepth = Math.round(height + scrollTop);\n return {\n scrollHeight: scrollHeight,\n scrollDepth: scrollDepth,\n scrollTop: scrollTop,\n };\n}\nexport function createScrollValuesObservable(configuration, throttleDuration) {\n if (throttleDuration === void 0) { throttleDuration = THROTTLE_SCROLL_DURATION; }\n var observable = new Observable(function () {\n function notify() {\n observable.notify(computeScrollValues());\n }\n if (window.ResizeObserver) {\n var throttledNotify_1 = throttle(notify, throttleDuration, {\n leading: false,\n trailing: true,\n });\n var observerTarget_1 = document.scrollingElement || document.documentElement;\n var resizeObserver_1 = new ResizeObserver(monitor(throttledNotify_1.throttled));\n resizeObserver_1.observe(observerTarget_1);\n var eventListener_1 = addEventListener(configuration, window, \"scroll\" /* DOM_EVENT.SCROLL */, throttledNotify_1.throttled, {\n passive: true,\n });\n return function () {\n throttledNotify_1.cancel();\n resizeObserver_1.unobserve(observerTarget_1);\n eventListener_1.stop();\n };\n }\n });\n return observable;\n}\n//# sourceMappingURL=trackScrollMetrics.js.map","import { trackCumulativeLayoutShift } from './trackCumulativeLayoutShift';\nimport { trackInteractionToNextPaint } from './trackInteractionToNextPaint';\nimport { trackLoadingTime } from './trackLoadingTime';\nimport { trackScrollMetrics } from './trackScrollMetrics';\nexport function trackCommonViewMetrics(lifeCycle, domMutationObservable, configuration, scheduleViewUpdate, loadingType, viewStart) {\n var commonViewMetrics = {};\n var _a = trackLoadingTime(lifeCycle, domMutationObservable, configuration, loadingType, viewStart, function (newLoadingTime) {\n commonViewMetrics.loadingTime = newLoadingTime;\n scheduleViewUpdate();\n }), stopLoadingTimeTracking = _a.stop, setLoadEvent = _a.setLoadEvent;\n var stopScrollMetricsTracking = trackScrollMetrics(configuration, viewStart, function (newScrollMetrics) {\n commonViewMetrics.scroll = newScrollMetrics;\n }).stop;\n var stopCLSTracking = trackCumulativeLayoutShift(configuration, lifeCycle, function (cumulativeLayoutShift) {\n commonViewMetrics.cumulativeLayoutShift = cumulativeLayoutShift;\n scheduleViewUpdate();\n }).stop;\n var _b = trackInteractionToNextPaint(configuration, viewStart, loadingType, lifeCycle), stopINPTracking = _b.stop, getInteractionToNextPaint = _b.getInteractionToNextPaint;\n return {\n stop: function () {\n stopLoadingTimeTracking();\n stopCLSTracking();\n stopScrollMetricsTracking();\n stopINPTracking();\n },\n setLoadEvent: setLoadEvent,\n getCommonViewMetrics: function () {\n commonViewMetrics.interactionToNextPaint = getInteractionToNextPaint();\n return commonViewMetrics;\n },\n };\n}\n//# sourceMappingURL=trackCommonViewMetrics.js.map","import { noop, PageExitReason, shallowClone, elapsed, generateUUID, ONE_MINUTE, throttle, clocksNow, clocksOrigin, timeStampNow, display, looksLikeRelativeTime, setInterval, clearInterval, setTimeout, Observable, } from '@datadog/browser-core';\nimport { trackViewEventCounts } from './trackViewEventCounts';\nimport { trackInitialViewMetrics } from './viewMetrics/trackInitialViewMetrics';\nimport { trackCommonViewMetrics } from './viewMetrics/trackCommonViewMetrics';\nexport var THROTTLE_VIEW_UPDATE_PERIOD = 3000;\nexport var SESSION_KEEP_ALIVE_INTERVAL = 5 * ONE_MINUTE;\n// Some events or metrics can be captured after the end of the view. To avoid missing those;\n// an arbitrary delay is added for stopping their tracking after the view ends.\n//\n// Ideally, we would not stop and keep tracking events or metrics until the end of the session.\n// But this might have a small performance impact if there are many many views.\n// So let's have a fairly short delay improving the situation in most cases and avoid impacting performances too much.\nexport var KEEP_TRACKING_AFTER_VIEW_DELAY = 5 * ONE_MINUTE;\nexport function trackViews(location, lifeCycle, domMutationObservable, configuration, locationChangeObservable, areViewsTrackedAutomatically, initialViewOptions) {\n var activeViews = new Set();\n var currentView = startNewView(\"initial_load\" /* ViewLoadingType.INITIAL_LOAD */, clocksOrigin(), initialViewOptions);\n startViewLifeCycle();\n var locationChangeSubscription;\n if (areViewsTrackedAutomatically) {\n locationChangeSubscription = renewViewOnLocationChange(locationChangeObservable);\n }\n function startNewView(loadingType, startClocks, viewOptions) {\n var newlyCreatedView = newView(lifeCycle, domMutationObservable, configuration, location, loadingType, startClocks, viewOptions);\n activeViews.add(newlyCreatedView);\n newlyCreatedView.stopObservable.subscribe(function () {\n activeViews.delete(newlyCreatedView);\n });\n return newlyCreatedView;\n }\n function startViewLifeCycle() {\n lifeCycle.subscribe(8 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n // Renew view on session renewal\n currentView = startNewView(\"route_change\" /* ViewLoadingType.ROUTE_CHANGE */, undefined, {\n name: currentView.name,\n service: currentView.service,\n version: currentView.version,\n });\n });\n lifeCycle.subscribe(7 /* LifeCycleEventType.SESSION_EXPIRED */, function () {\n currentView.end({ sessionIsActive: false });\n });\n // End the current view on page unload\n lifeCycle.subscribe(9 /* LifeCycleEventType.PAGE_EXITED */, function (pageExitEvent) {\n if (pageExitEvent.reason === PageExitReason.UNLOADING || pageExitEvent.reason === PageExitReason.PAGEHIDE) {\n currentView.end();\n }\n });\n }\n function renewViewOnLocationChange(locationChangeObservable) {\n return locationChangeObservable.subscribe(function (_a) {\n var oldLocation = _a.oldLocation, newLocation = _a.newLocation;\n if (areDifferentLocation(oldLocation, newLocation)) {\n currentView.end();\n currentView = startNewView(\"route_change\" /* ViewLoadingType.ROUTE_CHANGE */);\n }\n });\n }\n return {\n addTiming: function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n currentView.addTiming(name, time);\n },\n startView: function (options, startClocks) {\n currentView.end({ endClocks: startClocks });\n currentView = startNewView(\"route_change\" /* ViewLoadingType.ROUTE_CHANGE */, startClocks, options);\n },\n stop: function () {\n locationChangeSubscription === null || locationChangeSubscription === void 0 ? void 0 : locationChangeSubscription.unsubscribe();\n currentView.end();\n activeViews.forEach(function (view) { return view.stop(); });\n },\n };\n}\nfunction newView(lifeCycle, domMutationObservable, configuration, initialLocation, loadingType, startClocks, viewOptions) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n // Setup initial values\n var id = generateUUID();\n var stopObservable = new Observable();\n var customTimings = {};\n var documentVersion = 0;\n var endClocks;\n var location = shallowClone(initialLocation);\n var sessionIsActive = true;\n var name;\n var service;\n var version;\n if (viewOptions) {\n name = viewOptions.name;\n service = viewOptions.service;\n version = viewOptions.version;\n }\n lifeCycle.notify(2 /* LifeCycleEventType.VIEW_CREATED */, {\n id: id,\n name: name,\n startClocks: startClocks,\n service: service,\n version: version,\n });\n // Update the view every time the measures are changing\n var _a = throttle(triggerViewUpdate, THROTTLE_VIEW_UPDATE_PERIOD, {\n leading: false,\n }), scheduleViewUpdate = _a.throttled, cancelScheduleViewUpdate = _a.cancel;\n var _b = trackCommonViewMetrics(lifeCycle, domMutationObservable, configuration, scheduleViewUpdate, loadingType, startClocks), setLoadEvent = _b.setLoadEvent, stopCommonViewMetricsTracking = _b.stop, getCommonViewMetrics = _b.getCommonViewMetrics;\n var _c = loadingType === \"initial_load\" /* ViewLoadingType.INITIAL_LOAD */\n ? trackInitialViewMetrics(lifeCycle, configuration, setLoadEvent, scheduleViewUpdate)\n : { stop: noop, initialViewMetrics: {} }, stopInitialViewMetricsTracking = _c.stop, initialViewMetrics = _c.initialViewMetrics;\n var _d = trackViewEventCounts(lifeCycle, id, scheduleViewUpdate), stopEventCountsTracking = _d.stop, eventCounts = _d.eventCounts;\n // Session keep alive\n var keepAliveIntervalId = setInterval(triggerViewUpdate, SESSION_KEEP_ALIVE_INTERVAL);\n // Initial view update\n triggerViewUpdate();\n function triggerViewUpdate() {\n cancelScheduleViewUpdate();\n documentVersion += 1;\n var currentEnd = endClocks === undefined ? timeStampNow() : endClocks.timeStamp;\n lifeCycle.notify(3 /* LifeCycleEventType.VIEW_UPDATED */, {\n customTimings: customTimings,\n documentVersion: documentVersion,\n id: id,\n name: name,\n service: service,\n version: version,\n loadingType: loadingType,\n location: location,\n startClocks: startClocks,\n commonViewMetrics: getCommonViewMetrics(),\n initialViewMetrics: initialViewMetrics,\n duration: elapsed(startClocks.timeStamp, currentEnd),\n isActive: endClocks === undefined,\n sessionIsActive: sessionIsActive,\n eventCounts: eventCounts,\n });\n }\n return {\n name: name,\n service: service,\n version: version,\n stopObservable: stopObservable,\n end: function (options) {\n var _this = this;\n var _a, _b;\n if (options === void 0) { options = {}; }\n if (endClocks) {\n // view already ended\n return;\n }\n endClocks = (_a = options.endClocks) !== null && _a !== void 0 ? _a : clocksNow();\n sessionIsActive = (_b = options.sessionIsActive) !== null && _b !== void 0 ? _b : true;\n lifeCycle.notify(4 /* LifeCycleEventType.VIEW_ENDED */, { endClocks: endClocks });\n clearInterval(keepAliveIntervalId);\n stopCommonViewMetricsTracking();\n triggerViewUpdate();\n setTimeout(function () {\n _this.stop();\n }, KEEP_TRACKING_AFTER_VIEW_DELAY);\n },\n stop: function () {\n stopInitialViewMetricsTracking();\n stopEventCountsTracking();\n stopObservable.notify();\n },\n addTiming: function (name, time) {\n if (endClocks) {\n return;\n }\n var relativeTime = looksLikeRelativeTime(time) ? time : elapsed(startClocks.timeStamp, time);\n customTimings[sanitizeTiming(name)] = relativeTime;\n scheduleViewUpdate();\n },\n };\n}\n/**\n * Timing name is used as facet path that must contain only letters, digits, or the characters - _ . @ $\n */\nfunction sanitizeTiming(name) {\n var sanitized = name.replace(/[^a-zA-Z0-9-_.@$]/g, '_');\n if (sanitized !== name) {\n display.warn(\"Invalid timing name: \".concat(name, \", sanitized to: \").concat(sanitized));\n }\n return sanitized;\n}\nfunction areDifferentLocation(currentLocation, otherLocation) {\n return (currentLocation.pathname !== otherLocation.pathname ||\n (!isHashAnAnchor(otherLocation.hash) &&\n getPathFromHash(otherLocation.hash) !== getPathFromHash(currentLocation.hash)));\n}\nfunction isHashAnAnchor(hash) {\n var correspondingId = hash.substr(1);\n return !!document.getElementById(correspondingId);\n}\nfunction getPathFromHash(hash) {\n var index = hash.indexOf('?');\n return index < 0 ? hash : hash.slice(0, index);\n}\n//# sourceMappingURL=trackViews.js.map","import { isExperimentalFeatureEnabled, ExperimentalFeature, isEmptyObject, mapValues, toServerDuration, isNumber, } from '@datadog/browser-core';\nimport { mapToForegroundPeriods } from '../contexts/foregroundContexts';\nimport { trackViews } from './trackViews';\nexport function startViewCollection(lifeCycle, configuration, location, domMutationObservable, locationChangeObservable, featureFlagContexts, pageStateHistory, recorderApi, initialViewOptions) {\n lifeCycle.subscribe(3 /* LifeCycleEventType.VIEW_UPDATED */, function (view) {\n return lifeCycle.notify(10 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processViewUpdate(view, configuration, featureFlagContexts, recorderApi, pageStateHistory));\n });\n return trackViews(location, lifeCycle, domMutationObservable, configuration, locationChangeObservable, !configuration.trackViewsManually, initialViewOptions);\n}\nfunction processViewUpdate(view, configuration, featureFlagContexts, recorderApi, pageStateHistory) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var replayStats = recorderApi.getReplayStats(view.id);\n var featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(view.startClocks.relative);\n var pageStatesEnabled = isExperimentalFeatureEnabled(ExperimentalFeature.PAGE_STATES);\n var pageStates = pageStateHistory.findAll(view.startClocks.relative, view.duration);\n var viewEvent = {\n _dd: {\n document_version: view.documentVersion,\n replay_stats: replayStats,\n page_states: pageStatesEnabled ? pageStates : undefined,\n },\n date: view.startClocks.timeStamp,\n type: \"view\" /* RumEventType.VIEW */,\n view: {\n action: {\n count: view.eventCounts.actionCount,\n },\n frustration: {\n count: view.eventCounts.frustrationCount,\n },\n cumulative_layout_shift: (_a = view.commonViewMetrics.cumulativeLayoutShift) === null || _a === void 0 ? void 0 : _a.value,\n cumulative_layout_shift_target_selector: (_b = view.commonViewMetrics.cumulativeLayoutShift) === null || _b === void 0 ? void 0 : _b.targetSelector,\n first_byte: toServerDuration((_c = view.initialViewMetrics.navigationTimings) === null || _c === void 0 ? void 0 : _c.firstByte),\n dom_complete: toServerDuration((_d = view.initialViewMetrics.navigationTimings) === null || _d === void 0 ? void 0 : _d.domComplete),\n dom_content_loaded: toServerDuration((_e = view.initialViewMetrics.navigationTimings) === null || _e === void 0 ? void 0 : _e.domContentLoaded),\n dom_interactive: toServerDuration((_f = view.initialViewMetrics.navigationTimings) === null || _f === void 0 ? void 0 : _f.domInteractive),\n error: {\n count: view.eventCounts.errorCount,\n },\n first_contentful_paint: toServerDuration(view.initialViewMetrics.firstContentfulPaint),\n first_input_delay: toServerDuration((_g = view.initialViewMetrics.firstInput) === null || _g === void 0 ? void 0 : _g.delay),\n first_input_time: toServerDuration((_h = view.initialViewMetrics.firstInput) === null || _h === void 0 ? void 0 : _h.time),\n first_input_target_selector: (_j = view.initialViewMetrics.firstInput) === null || _j === void 0 ? void 0 : _j.targetSelector,\n interaction_to_next_paint: toServerDuration((_k = view.commonViewMetrics.interactionToNextPaint) === null || _k === void 0 ? void 0 : _k.value),\n interaction_to_next_paint_target_selector: (_l = view.commonViewMetrics.interactionToNextPaint) === null || _l === void 0 ? void 0 : _l.targetSelector,\n is_active: view.isActive,\n name: view.name,\n largest_contentful_paint: toServerDuration((_m = view.initialViewMetrics.largestContentfulPaint) === null || _m === void 0 ? void 0 : _m.value),\n largest_contentful_paint_target_selector: (_o = view.initialViewMetrics.largestContentfulPaint) === null || _o === void 0 ? void 0 : _o.targetSelector,\n load_event: toServerDuration((_p = view.initialViewMetrics.navigationTimings) === null || _p === void 0 ? void 0 : _p.loadEvent),\n loading_time: discardNegativeDuration(toServerDuration(view.commonViewMetrics.loadingTime)),\n loading_type: view.loadingType,\n long_task: {\n count: view.eventCounts.longTaskCount,\n },\n resource: {\n count: view.eventCounts.resourceCount,\n },\n time_spent: toServerDuration(view.duration),\n in_foreground_periods: !pageStatesEnabled && pageStates ? mapToForegroundPeriods(pageStates, view.duration) : undefined, // Todo: Remove in the next major release\n },\n feature_flags: featureFlagContext && !isEmptyObject(featureFlagContext) ? featureFlagContext : undefined,\n display: view.commonViewMetrics.scroll\n ? {\n scroll: {\n max_depth: view.commonViewMetrics.scroll.maxDepth,\n max_depth_scroll_top: view.commonViewMetrics.scroll.maxDepthScrollTop,\n max_scroll_height: view.commonViewMetrics.scroll.maxScrollHeight,\n max_scroll_height_time: toServerDuration(view.commonViewMetrics.scroll.maxScrollHeightTime),\n },\n }\n : undefined,\n session: {\n has_replay: replayStats ? true : undefined,\n is_active: view.sessionIsActive ? undefined : false,\n },\n privacy: {\n replay_level: configuration.defaultPrivacyLevel,\n },\n };\n if (!isEmptyObject(view.customTimings)) {\n viewEvent.view.custom_timings = mapValues(view.customTimings, toServerDuration);\n }\n return {\n rawRumEvent: viewEvent,\n startTime: view.startClocks.relative,\n domainContext: {\n location: view.location,\n },\n };\n}\nfunction discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=viewCollection.js.map","import { Observable, noop, performDraw, startSessionManager } from '@datadog/browser-core';\nexport var RUM_SESSION_KEY = 'rum';\nexport function startRumSessionManager(configuration, lifeCycle) {\n var sessionManager = startSessionManager(configuration, RUM_SESSION_KEY, function (rawTrackingType) {\n return computeSessionState(configuration, rawTrackingType);\n });\n sessionManager.expireObservable.subscribe(function () {\n lifeCycle.notify(7 /* LifeCycleEventType.SESSION_EXPIRED */);\n });\n sessionManager.renewObservable.subscribe(function () {\n lifeCycle.notify(8 /* LifeCycleEventType.SESSION_RENEWED */);\n });\n return {\n findTrackedSession: function (startTime) {\n var session = sessionManager.findActiveSession(startTime);\n if (!session || !isTypeTracked(session.trackingType)) {\n return;\n }\n var plan = session.trackingType === \"1\" /* RumTrackingType.TRACKED_WITH_SESSION_REPLAY */\n ? 2 /* RumSessionPlan.WITH_SESSION_REPLAY */\n : 1 /* RumSessionPlan.WITHOUT_SESSION_REPLAY */;\n return {\n id: session.id,\n plan: plan,\n sessionReplayAllowed: plan === 2 /* RumSessionPlan.WITH_SESSION_REPLAY */,\n longTaskAllowed: configuration.trackLongTasks !== undefined\n ? configuration.trackLongTasks\n : configuration.oldPlansBehavior && plan === 2 /* RumSessionPlan.WITH_SESSION_REPLAY */,\n resourceAllowed: configuration.trackResources !== undefined\n ? configuration.trackResources\n : configuration.oldPlansBehavior && plan === 2 /* RumSessionPlan.WITH_SESSION_REPLAY */,\n };\n },\n expire: sessionManager.expire,\n expireObservable: sessionManager.expireObservable,\n };\n}\n/**\n * Start a tracked replay session stub\n */\nexport function startRumSessionManagerStub() {\n var session = {\n id: '00000000-aaaa-0000-aaaa-000000000000',\n plan: 1 /* RumSessionPlan.WITHOUT_SESSION_REPLAY */,\n sessionReplayAllowed: false,\n longTaskAllowed: true,\n resourceAllowed: true,\n };\n return {\n findTrackedSession: function () { return session; },\n expire: noop,\n expireObservable: new Observable(),\n };\n}\nfunction computeSessionState(configuration, rawTrackingType) {\n var trackingType;\n if (hasValidRumSession(rawTrackingType)) {\n trackingType = rawTrackingType;\n }\n else if (!performDraw(configuration.sessionSampleRate)) {\n trackingType = \"0\" /* RumTrackingType.NOT_TRACKED */;\n }\n else if (!performDraw(configuration.sessionReplaySampleRate)) {\n trackingType = \"2\" /* RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY */;\n }\n else {\n trackingType = \"1\" /* RumTrackingType.TRACKED_WITH_SESSION_REPLAY */;\n }\n return {\n trackingType: trackingType,\n isTracked: isTypeTracked(trackingType),\n };\n}\nfunction hasValidRumSession(trackingType) {\n return (trackingType === \"0\" /* RumTrackingType.NOT_TRACKED */ ||\n trackingType === \"1\" /* RumTrackingType.TRACKED_WITH_SESSION_REPLAY */ ||\n trackingType === \"2\" /* RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY */);\n}\nfunction isTypeTracked(rumSessionType) {\n return (rumSessionType === \"2\" /* RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY */ ||\n rumSessionType === \"1\" /* RumTrackingType.TRACKED_WITH_SESSION_REPLAY */);\n}\n//# sourceMappingURL=rumSessionManager.js.map","import { combine, isTelemetryReplicationAllowed, startBatchWithReplica } from '@datadog/browser-core';\nexport function startRumBatch(configuration, lifeCycle, telemetryEventObservable, reportError, pageExitObservable, sessionExpireObservable) {\n var replica = configuration.replica;\n var batch = startBatchWithReplica(configuration, {\n endpoint: configuration.rumEndpointBuilder,\n }, replica && {\n endpoint: replica.rumEndpointBuilder,\n transformMessage: function (message) { return combine(message, { application: { id: replica.applicationId } }); },\n }, reportError, pageExitObservable, sessionExpireObservable);\n lifeCycle.subscribe(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (serverRumEvent) {\n if (serverRumEvent.type === \"view\" /* RumEventType.VIEW */) {\n batch.upsert(serverRumEvent, serverRumEvent.view.id);\n }\n else {\n batch.add(serverRumEvent);\n }\n });\n telemetryEventObservable.subscribe(function (event) { return batch.add(event, isTelemetryReplicationAllowed(configuration)); });\n return batch;\n}\n//# sourceMappingURL=startRumBatch.js.map","import { getEventBridge } from '@datadog/browser-core';\nexport function startRumEventBridge(lifeCycle) {\n var bridge = getEventBridge();\n lifeCycle.subscribe(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (serverRumEvent) {\n bridge.send('rum', serverRumEvent);\n });\n}\n//# sourceMappingURL=startRumEventBridge.js.map","import { SESSION_TIME_OUT_DELAY, relativeNow, ValueHistory } from '@datadog/browser-core';\n/**\n * We want to attach to an event:\n * - the url corresponding to its start\n * - the referrer corresponding to the previous view url (or document referrer for initial view)\n */\nexport var URL_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startUrlContexts(lifeCycle, locationChangeObservable, location) {\n var urlContextHistory = new ValueHistory(URL_CONTEXT_TIME_OUT_DELAY);\n var previousViewUrl;\n lifeCycle.subscribe(4 /* LifeCycleEventType.VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n urlContextHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(2 /* LifeCycleEventType.VIEW_CREATED */, function (_a) {\n var startClocks = _a.startClocks;\n var viewUrl = location.href;\n urlContextHistory.add(buildUrlContext({\n url: viewUrl,\n referrer: !previousViewUrl ? document.referrer : previousViewUrl,\n }), startClocks.relative);\n previousViewUrl = viewUrl;\n });\n var locationChangeSubscription = locationChangeObservable.subscribe(function (_a) {\n var newLocation = _a.newLocation;\n var current = urlContextHistory.find();\n if (current) {\n var changeTime = relativeNow();\n urlContextHistory.closeActive(changeTime);\n urlContextHistory.add(buildUrlContext({\n url: newLocation.href,\n referrer: current.referrer,\n }), changeTime);\n }\n });\n function buildUrlContext(_a) {\n var url = _a.url, referrer = _a.referrer;\n return {\n url: url,\n referrer: referrer,\n };\n }\n return {\n findUrl: function (startTime) { return urlContextHistory.find(startTime); },\n stop: function () {\n locationChangeSubscription.unsubscribe();\n urlContextHistory.stop();\n },\n };\n}\n//# sourceMappingURL=urlContexts.js.map","import { addEventListener, instrumentMethodAndCallOriginal, Observable, shallowClone, } from '@datadog/browser-core';\nexport function createLocationChangeObservable(configuration, location) {\n var currentLocation = shallowClone(location);\n var observable = new Observable(function () {\n var stopHistoryTracking = trackHistory(configuration, onLocationChange).stop;\n var stopHashTracking = trackHash(configuration, onLocationChange).stop;\n return function () {\n stopHistoryTracking();\n stopHashTracking();\n };\n });\n function onLocationChange() {\n if (currentLocation.href === location.href) {\n return;\n }\n var newLocation = shallowClone(location);\n observable.notify({\n newLocation: newLocation,\n oldLocation: currentLocation,\n });\n currentLocation = newLocation;\n }\n return observable;\n}\nfunction trackHistory(configuration, onHistoryChange) {\n var stopInstrumentingPushState = instrumentMethodAndCallOriginal(history, 'pushState', {\n after: onHistoryChange,\n }).stop;\n var stopInstrumentingReplaceState = instrumentMethodAndCallOriginal(history, 'replaceState', {\n after: onHistoryChange,\n }).stop;\n var removeListener = addEventListener(configuration, window, \"popstate\" /* DOM_EVENT.POP_STATE */, onHistoryChange).stop;\n return {\n stop: function () {\n stopInstrumentingPushState();\n stopInstrumentingReplaceState();\n removeListener();\n },\n };\n}\nfunction trackHash(configuration, onHashChange) {\n return addEventListener(configuration, window, \"hashchange\" /* DOM_EVENT.HASH_CHANGE */, onHashChange);\n}\n//# sourceMappingURL=locationChangeObservable.js.map","import { warnIfCustomerDataLimitReached, throttle, jsonStringify, computeBytesCount, noop, isExperimentalFeatureEnabled, SESSION_TIME_OUT_DELAY, ValueHistory, ExperimentalFeature, } from '@datadog/browser-core';\nexport var FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200;\n/**\n * Start feature flag contexts\n *\n * Feature flag contexts follow the life of views.\n * A new context is added when a view is created and ended when the view is ended\n *\n * Note: we choose not to add a new context at each evaluation to save memory\n */\nexport function startFeatureFlagContexts(lifeCycle, computeBytesCountImpl) {\n if (computeBytesCountImpl === void 0) { computeBytesCountImpl = computeBytesCount; }\n if (!isExperimentalFeatureEnabled(ExperimentalFeature.FEATURE_FLAGS)) {\n return {\n findFeatureFlagEvaluations: function () { return undefined; },\n getFeatureFlagBytesCount: function () { return 0; },\n addFeatureFlagEvaluation: noop,\n stop: noop,\n };\n }\n var featureFlagContexts = new ValueHistory(FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY);\n var bytesCountCache = 0;\n var alreadyWarned = false;\n lifeCycle.subscribe(4 /* LifeCycleEventType.VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n featureFlagContexts.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(2 /* LifeCycleEventType.VIEW_CREATED */, function (_a) {\n var startClocks = _a.startClocks;\n featureFlagContexts.add({}, startClocks.relative);\n bytesCountCache = 0;\n });\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call addFeatureFlagEvaluation API synchronously multiple times in a row\n var _a = throttle(function (context) {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context));\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(bytesCountCache, 0 /* CustomerDataType.FeatureFlag */);\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY), computeBytesCountThrottled = _a.throttled, cancelPendingComputation = _a.cancel;\n return {\n findFeatureFlagEvaluations: function (startTime) { return featureFlagContexts.find(startTime); },\n getFeatureFlagBytesCount: function () {\n var currentContext = featureFlagContexts.find();\n if (!currentContext) {\n return 0;\n }\n return bytesCountCache;\n },\n addFeatureFlagEvaluation: function (key, value) {\n var currentContext = featureFlagContexts.find();\n if (currentContext) {\n currentContext[key] = value;\n computeBytesCountThrottled(currentContext);\n }\n },\n stop: cancelPendingComputation,\n };\n}\n//# sourceMappingURL=featureFlagContext.js.map","import { isEmptyObject, includes, performDraw, ONE_SECOND, addTelemetryDebug, setInterval } from '@datadog/browser-core';\nexport var MEASURES_PERIOD_DURATION = 10 * ONE_SECOND;\nvar currentPeriodMeasures;\nvar currentBatchMeasures;\nvar batchHasRumEvent;\nexport function startCustomerDataTelemetry(configuration, telemetry, lifeCycle, globalContextManager, userContextManager, featureFlagContexts, batchFlushObservable) {\n var customerDataTelemetryEnabled = telemetry.enabled && performDraw(configuration.customerDataTelemetrySampleRate);\n if (!customerDataTelemetryEnabled) {\n return;\n }\n initCurrentPeriodMeasures();\n initCurrentBatchMeasures();\n // We measure the data of every view updates even if there could only be one per batch due to the upsert\n // It means that contexts bytes count sums can be higher than it really is\n lifeCycle.subscribe(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) {\n batchHasRumEvent = true;\n updateMeasure(currentBatchMeasures.globalContextBytes, !isEmptyObject(globalContextManager.get()) ? globalContextManager.getBytesCount() : 0);\n updateMeasure(currentBatchMeasures.userContextBytes, !isEmptyObject(userContextManager.get()) ? userContextManager.getBytesCount() : 0);\n var featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations();\n var hasFeatureFlagContext = includes([\"view\" /* RumEventType.VIEW */, \"error\" /* RumEventType.ERROR */], event.type) &&\n featureFlagContext &&\n !isEmptyObject(featureFlagContext);\n updateMeasure(currentBatchMeasures.featureFlagBytes, hasFeatureFlagContext ? featureFlagContexts.getFeatureFlagBytesCount() : 0);\n });\n batchFlushObservable.subscribe(function (_a) {\n var bytesCount = _a.bytesCount, messagesCount = _a.messagesCount;\n // Don't measure batch that only contains telemetry events to avoid batch sending loop\n // It could happen because after each batch we are adding a customer data measures telemetry event to the next one\n if (!batchHasRumEvent) {\n return;\n }\n currentPeriodMeasures.batchCount += 1;\n updateMeasure(currentPeriodMeasures.batchBytesCount, bytesCount);\n updateMeasure(currentPeriodMeasures.batchMessagesCount, messagesCount);\n mergeMeasure(currentPeriodMeasures.globalContextBytes, currentBatchMeasures.globalContextBytes);\n mergeMeasure(currentPeriodMeasures.userContextBytes, currentBatchMeasures.userContextBytes);\n mergeMeasure(currentPeriodMeasures.featureFlagBytes, currentBatchMeasures.featureFlagBytes);\n initCurrentBatchMeasures();\n });\n setInterval(sendCurrentPeriodMeasures, MEASURES_PERIOD_DURATION);\n}\nfunction sendCurrentPeriodMeasures() {\n if (currentPeriodMeasures.batchCount === 0) {\n return;\n }\n addTelemetryDebug('Customer data measures', currentPeriodMeasures);\n initCurrentPeriodMeasures();\n}\nfunction createMeasure() {\n return { min: Infinity, max: 0, sum: 0 };\n}\nfunction updateMeasure(measure, value) {\n measure.sum += value;\n measure.min = Math.min(measure.min, value);\n measure.max = Math.max(measure.max, value);\n}\nfunction mergeMeasure(target, source) {\n target.sum += source.sum;\n target.min = Math.min(target.min, source.min);\n target.max = Math.max(target.max, source.max);\n}\nfunction initCurrentPeriodMeasures() {\n currentPeriodMeasures = {\n batchCount: 0,\n batchBytesCount: createMeasure(),\n batchMessagesCount: createMeasure(),\n globalContextBytes: createMeasure(),\n userContextBytes: createMeasure(),\n featureFlagBytes: createMeasure(),\n };\n}\nfunction initCurrentBatchMeasures() {\n batchHasRumEvent = false;\n currentBatchMeasures = {\n globalContextBytes: createMeasure(),\n userContextBytes: createMeasure(),\n featureFlagBytes: createMeasure(),\n };\n}\n//# sourceMappingURL=startCustomerDataTelemetry.js.map","import { elapsed, ValueHistory, SESSION_TIME_OUT_DELAY, toServerDuration, addEventListeners, relativeNow, } from '@datadog/browser-core';\n// Arbitrary value to cap number of element for memory consumption in the browser\nexport var MAX_PAGE_STATE_ENTRIES = 4000;\n// Arbitrary value to cap number of element for backend & to save bandwidth\nexport var MAX_PAGE_STATE_ENTRIES_SELECTABLE = 500;\nexport var PAGE_STATE_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startPageStateHistory(configuration, maxPageStateEntriesSelectable) {\n if (maxPageStateEntriesSelectable === void 0) { maxPageStateEntriesSelectable = MAX_PAGE_STATE_ENTRIES_SELECTABLE; }\n var pageStateHistory = new ValueHistory(PAGE_STATE_CONTEXT_TIME_OUT_DELAY, MAX_PAGE_STATE_ENTRIES);\n var currentPageState;\n addPageState(getPageState(), relativeNow());\n var stopEventListeners = addEventListeners(configuration, window, [\n \"pageshow\" /* DOM_EVENT.PAGE_SHOW */,\n \"focus\" /* DOM_EVENT.FOCUS */,\n \"blur\" /* DOM_EVENT.BLUR */,\n \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */,\n \"resume\" /* DOM_EVENT.RESUME */,\n \"freeze\" /* DOM_EVENT.FREEZE */,\n \"pagehide\" /* DOM_EVENT.PAGE_HIDE */,\n ], function (event) {\n // Only get events fired by the browser to avoid false currentPageState changes done with custom events\n // cf: developer extension auto flush: https://github.com/DataDog/browser-sdk/blob/2f72bf05a672794c9e33965351964382a94c72ba/developer-extension/src/panel/flushEvents.ts#L11-L12\n if (event.isTrusted) {\n addPageState(computePageState(event), event.timeStamp);\n }\n }, { capture: true }).stop;\n function addPageState(nextPageState, startTime) {\n if (startTime === void 0) { startTime = relativeNow(); }\n if (nextPageState === currentPageState) {\n return;\n }\n currentPageState = nextPageState;\n pageStateHistory.closeActive(startTime);\n pageStateHistory.add({ state: currentPageState, startTime: startTime }, startTime);\n }\n return {\n findAll: function (eventStartTime, duration) {\n var pageStateEntries = pageStateHistory.findAll(eventStartTime, duration);\n if (pageStateEntries.length === 0) {\n return;\n }\n var pageStateServerEntries = [];\n // limit the number of entries to return\n var limit = Math.max(0, pageStateEntries.length - maxPageStateEntriesSelectable);\n // loop page state entries backward to return the selected ones in desc order\n for (var index = pageStateEntries.length - 1; index >= limit; index--) {\n var pageState = pageStateEntries[index];\n // compute the start time relative to the event start time (ex: to be relative to the view start time)\n var relativeStartTime = elapsed(eventStartTime, pageState.startTime);\n pageStateServerEntries.push({\n state: pageState.state,\n start: toServerDuration(relativeStartTime),\n });\n }\n return pageStateServerEntries;\n },\n isInActivePageStateAt: function (startTime) {\n var pageStateEntry = pageStateHistory.find(startTime);\n return pageStateEntry !== undefined && pageStateEntry.state === \"active\" /* PageState.ACTIVE */;\n },\n addPageState: addPageState,\n stop: function () {\n stopEventListeners();\n pageStateHistory.stop();\n },\n };\n}\nfunction computePageState(event) {\n if (event.type === \"freeze\" /* DOM_EVENT.FREEZE */) {\n return \"frozen\" /* PageState.FROZEN */;\n }\n else if (event.type === \"pagehide\" /* DOM_EVENT.PAGE_HIDE */) {\n return event.persisted ? \"frozen\" /* PageState.FROZEN */ : \"terminated\" /* PageState.TERMINATED */;\n }\n return getPageState();\n}\nfunction getPageState() {\n if (document.visibilityState === 'hidden') {\n return \"hidden\" /* PageState.HIDDEN */;\n }\n if (document.hasFocus()) {\n return \"active\" /* PageState.ACTIVE */;\n }\n return \"passive\" /* PageState.PASSIVE */;\n}\n//# sourceMappingURL=pageStateHistory.js.map","import { getViewportDimension, initViewportObservable } from '../../browser/viewportObservable';\nexport function startDisplayContext(configuration) {\n var viewport = getViewportDimension();\n var unsubscribeViewport = initViewportObservable(configuration).subscribe(function (viewportDimension) {\n viewport = viewportDimension;\n }).unsubscribe;\n return {\n get: function () { return ({ viewport: viewport }); },\n stop: unsubscribeViewport,\n };\n}\n//# sourceMappingURL=displayContext.js.map","import { sendToExtension, createPageExitObservable, addTelemetryConfiguration, startTelemetry, canUseEventBridge, getEventBridge, addTelemetryDebug, } from '@datadog/browser-core';\nimport { createDOMMutationObservable } from '../browser/domMutationObservable';\nimport { startPerformanceCollection } from '../browser/performanceCollection';\nimport { startRumAssembly } from '../domain/assembly';\nimport { startInternalContext } from '../domain/contexts/internalContext';\nimport { LifeCycle } from '../domain/lifeCycle';\nimport { startViewContexts } from '../domain/contexts/viewContexts';\nimport { startRequestCollection } from '../domain/requestCollection';\nimport { startActionCollection } from '../domain/action/actionCollection';\nimport { startErrorCollection } from '../domain/error/errorCollection';\nimport { startLongTaskCollection } from '../domain/longTask/longTaskCollection';\nimport { startResourceCollection } from '../domain/resource/resourceCollection';\nimport { startViewCollection } from '../domain/view/viewCollection';\nimport { startRumSessionManager, startRumSessionManagerStub } from '../domain/rumSessionManager';\nimport { startRumBatch } from '../transport/startRumBatch';\nimport { startRumEventBridge } from '../transport/startRumEventBridge';\nimport { startUrlContexts } from '../domain/contexts/urlContexts';\nimport { createLocationChangeObservable } from '../browser/locationChangeObservable';\nimport { serializeRumConfiguration } from '../domain/configuration';\nimport { startFeatureFlagContexts } from '../domain/contexts/featureFlagContext';\nimport { startCustomerDataTelemetry } from '../domain/startCustomerDataTelemetry';\nimport { startPageStateHistory } from '../domain/contexts/pageStateHistory';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { startDisplayContext } from '../domain/contexts/displayContext';\nexport function startRum(initConfiguration, configuration, recorderApi, globalContextManager, userContextManager, initialViewOptions) {\n var cleanupTasks = [];\n var lifeCycle = new LifeCycle();\n lifeCycle.subscribe(11 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) { return sendToExtension('rum', event); });\n var telemetry = startRumTelemetry(configuration);\n telemetry.setContextProvider(function () {\n var _a, _b;\n return ({\n application: {\n id: configuration.applicationId,\n },\n session: {\n id: (_a = session.findTrackedSession()) === null || _a === void 0 ? void 0 : _a.id,\n },\n view: {\n id: (_b = viewContexts.findView()) === null || _b === void 0 ? void 0 : _b.id,\n },\n action: {\n id: actionContexts.findActionId(),\n },\n });\n });\n var reportError = function (error) {\n lifeCycle.notify(12 /* LifeCycleEventType.RAW_ERROR_COLLECTED */, { error: error });\n addTelemetryDebug('Error reported to customer', { 'error.message': error.message });\n };\n var featureFlagContexts = startFeatureFlagContexts(lifeCycle);\n var pageExitObservable = createPageExitObservable(configuration);\n var pageExitSubscription = pageExitObservable.subscribe(function (event) {\n lifeCycle.notify(9 /* LifeCycleEventType.PAGE_EXITED */, event);\n });\n cleanupTasks.push(function () { return pageExitSubscription.unsubscribe(); });\n var session = !canUseEventBridge() ? startRumSessionManager(configuration, lifeCycle) : startRumSessionManagerStub();\n if (!canUseEventBridge()) {\n var batch_1 = startRumBatch(configuration, lifeCycle, telemetry.observable, reportError, pageExitObservable, session.expireObservable);\n cleanupTasks.push(function () { return batch_1.stop(); });\n startCustomerDataTelemetry(configuration, telemetry, lifeCycle, globalContextManager, userContextManager, featureFlagContexts, batch_1.flushObservable);\n }\n else {\n startRumEventBridge(lifeCycle);\n }\n var domMutationObservable = createDOMMutationObservable();\n var locationChangeObservable = createLocationChangeObservable(configuration, location);\n var _a = startRumEventCollection(lifeCycle, configuration, location, session, locationChangeObservable, domMutationObservable, function () { return buildCommonContext(globalContextManager, userContextManager, recorderApi); }, reportError), viewContexts = _a.viewContexts, pageStateHistory = _a.pageStateHistory, urlContexts = _a.urlContexts, actionContexts = _a.actionContexts, addAction = _a.addAction, stopRumEventCollection = _a.stop;\n cleanupTasks.push(stopRumEventCollection);\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration));\n startLongTaskCollection(lifeCycle, session);\n startResourceCollection(lifeCycle, configuration, session, pageStateHistory);\n var _b = startViewCollection(lifeCycle, configuration, location, domMutationObservable, locationChangeObservable, featureFlagContexts, pageStateHistory, recorderApi, initialViewOptions), addTiming = _b.addTiming, startView = _b.startView, stopViewCollection = _b.stop;\n cleanupTasks.push(stopViewCollection);\n var addError = startErrorCollection(lifeCycle, configuration, pageStateHistory, featureFlagContexts).addError;\n startRequestCollection(lifeCycle, configuration, session);\n startPerformanceCollection(lifeCycle, configuration);\n var internalContext = startInternalContext(configuration.applicationId, session, viewContexts, actionContexts, urlContexts);\n return {\n addAction: addAction,\n addError: addError,\n addTiming: addTiming,\n addFeatureFlagEvaluation: featureFlagContexts.addFeatureFlagEvaluation,\n startView: startView,\n lifeCycle: lifeCycle,\n viewContexts: viewContexts,\n session: session,\n stopSession: function () { return session.expire(); },\n getInternalContext: internalContext.get,\n stop: function () {\n cleanupTasks.forEach(function (task) { return task(); });\n },\n };\n}\nfunction startRumTelemetry(configuration) {\n var telemetry = startTelemetry(\"browser-rum-sdk\" /* TelemetryService.RUM */, configuration);\n if (canUseEventBridge()) {\n var bridge_1 = getEventBridge();\n telemetry.observable.subscribe(function (event) { return bridge_1.send('internal_telemetry', event); });\n }\n return telemetry;\n}\nexport function startRumEventCollection(lifeCycle, configuration, location, sessionManager, locationChangeObservable, domMutationObservable, buildCommonContext, reportError) {\n var viewContexts = startViewContexts(lifeCycle);\n var urlContexts = startUrlContexts(lifeCycle, locationChangeObservable, location);\n var pageStateHistory = startPageStateHistory(configuration);\n var _a = startActionCollection(lifeCycle, domMutationObservable, configuration, pageStateHistory), addAction = _a.addAction, actionContexts = _a.actionContexts;\n var displayContext = startDisplayContext(configuration);\n startRumAssembly(configuration, lifeCycle, sessionManager, viewContexts, urlContexts, actionContexts, displayContext, buildCommonContext, reportError);\n return {\n viewContexts: viewContexts,\n pageStateHistory: pageStateHistory,\n urlContexts: urlContexts,\n addAction: addAction,\n actionContexts: actionContexts,\n stop: function () {\n displayContext.stop();\n pageStateHistory.stop();\n urlContexts.stop();\n viewContexts.stop();\n pageStateHistory.stop();\n },\n };\n}\n//# sourceMappingURL=startRum.js.map","import { INTAKE_SITE_STAGING, INTAKE_SITE_US1, INTAKE_SITE_EU1 } from '@datadog/browser-core';\nexport function getSessionReplayUrl(configuration, _a) {\n var session = _a.session, viewContext = _a.viewContext, errorType = _a.errorType;\n var sessionId = session ? session.id : 'no-session-id';\n var parameters = [];\n if (errorType !== undefined) {\n parameters.push(\"error-type=\".concat(errorType));\n }\n if (viewContext) {\n parameters.push(\"seed=\".concat(viewContext.id));\n parameters.push(\"from=\".concat(viewContext.startClocks.timeStamp));\n }\n var origin = getDatadogSiteUrl(configuration);\n var path = \"/rum/replay/sessions/\".concat(sessionId);\n return \"\".concat(origin).concat(path, \"?\").concat(parameters.join('&'));\n}\nexport function getDatadogSiteUrl(rumConfiguration) {\n var site = rumConfiguration.site;\n var subdomain = rumConfiguration.subdomain || getSiteDefaultSubdomain(rumConfiguration);\n return \"https://\".concat(subdomain ? \"\".concat(subdomain, \".\") : '').concat(site);\n}\nfunction getSiteDefaultSubdomain(configuration) {\n switch (configuration.site) {\n case INTAKE_SITE_US1:\n case INTAKE_SITE_EU1:\n return 'app';\n case INTAKE_SITE_STAGING:\n return 'dd';\n default:\n return undefined;\n }\n}\n//# sourceMappingURL=getSessionReplayUrl.js.map","export var RecordType = {\n FullSnapshot: 2,\n IncrementalSnapshot: 3,\n Meta: 4,\n Focus: 6,\n ViewEnd: 7,\n VisualViewport: 8,\n FrustrationRecord: 9,\n};\nexport var NodeType = {\n Document: 0,\n DocumentType: 1,\n Element: 2,\n Text: 3,\n CDATA: 4,\n DocumentFragment: 11,\n};\nexport var IncrementalSource = {\n Mutation: 0,\n MouseMove: 1,\n MouseInteraction: 2,\n Scroll: 3,\n ViewportResize: 4,\n Input: 5,\n TouchMove: 6,\n MediaInteraction: 7,\n StyleSheetRule: 8,\n // CanvasMutation : 9,\n // Font : 10,\n};\nexport var MouseInteractionType = {\n MouseUp: 0,\n MouseDown: 1,\n Click: 2,\n ContextMenu: 3,\n DblClick: 4,\n Focus: 5,\n Blur: 6,\n TouchStart: 7,\n TouchEnd: 9,\n};\nexport var MediaInteractionType = {\n Play: 0,\n Pause: 1,\n};\n//# sourceMappingURL=sessionReplayConstants.js.map","import { assign, timeStampNow } from '@datadog/browser-core';\nimport { RecordType } from '../../types';\nexport function assembleIncrementalSnapshot(source, data) {\n return {\n data: assign({\n source: source,\n }, data),\n type: RecordType.IncrementalSnapshot,\n timestamp: timeStampNow(),\n };\n}\n//# sourceMappingURL=assembly.js.map","import { DefaultPrivacyLevel } from '@datadog/browser-core';\nexport var NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexport var PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport var PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport var PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport var PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport var PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport var PRIVACY_CLASS_ALLOW = 'dd-privacy-allow';\nexport var PRIVACY_CLASS_MASK = 'dd-privacy-mask';\nexport var PRIVACY_CLASS_MASK_USER_INPUT = 'dd-privacy-mask-user-input';\nexport var PRIVACY_CLASS_HIDDEN = 'dd-privacy-hidden';\n// Private Replacement Templates\nexport var CENSORED_STRING_MARK = '***';\nexport var CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport var FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\n//# sourceMappingURL=constants.js.map","import { isElementNode, getParentNode, isTextNode } from '@datadog/browser-rum-core';\nimport { NodePrivacyLevel, PRIVACY_ATTR_NAME, PRIVACY_ATTR_VALUE_ALLOW, PRIVACY_ATTR_VALUE_MASK, PRIVACY_ATTR_VALUE_MASK_USER_INPUT, PRIVACY_ATTR_VALUE_HIDDEN, PRIVACY_CLASS_ALLOW, PRIVACY_CLASS_MASK, PRIVACY_CLASS_MASK_USER_INPUT, PRIVACY_CLASS_HIDDEN, FORM_PRIVATE_TAG_NAMES, CENSORED_STRING_MARK, } from '../../constants';\nexport var MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 100000;\nvar TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node, defaultPrivacyLevel) {\n var parentNode = getParentNode(node);\n var parentNodePrivacyLevel = parentNode ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel) : defaultPrivacyLevel;\n var selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n return reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\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 var privAttr = node.getAttribute(PRIVACY_ATTR_NAME);\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n var inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK;\n }\n var autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year]\n if (autocomplete && autocomplete.indexOf('cc-') === 0) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (privAttr === PRIVACY_ATTR_VALUE_HIDDEN || node.classList.contains(PRIVACY_CLASS_HIDDEN)) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (privAttr === PRIVACY_ATTR_VALUE_MASK || node.classList.contains(PRIVACY_CLASS_MASK)) {\n return NodePrivacyLevel.MASK;\n }\n if (privAttr === PRIVACY_ATTR_VALUE_MASK_USER_INPUT || node.classList.contains(PRIVACY_CLASS_MASK_USER_INPUT)) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (privAttr === PRIVACY_ATTR_VALUE_ALLOW || node.classList.contains(PRIVACY_CLASS_ALLOW)) {\n return NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE;\n }\n}\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true;\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n var element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport var censorText = function (text) { return text.replace(/\\S/g, TEXT_MASKING_CHAR); };\nexport function getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n var parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n var textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n var nodePrivacyLevel = parentNodePrivacyLevel;\n var isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //