{"version":3,"file":"static/js/8052068f15ebfacf32b3.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/__DynamicConstants.js?bfa4","webpack://Msdyn365.Commerce.Online/EnvelopeCreator.js?ea3f","webpack://Msdyn365.Commerce.Online/Offline.js?635b","webpack://Msdyn365.Commerce.Online/SendBuffer.js?c738","webpack://Msdyn365.Commerce.Online/Sender.js?8d3e","webpack://Msdyn365.Commerce.Online/Serializer.js?48c3","webpack://Msdyn365.Commerce.Online/HashCodeScoreGenerator.js?5f37","webpack://Msdyn365.Commerce.Online/SamplingScoreGenerator.js?28d9","webpack://Msdyn365.Commerce.Online/Sample.js?0951","webpack://Msdyn365.Commerce.Online/ConnectionStringParser.js?5cbc","webpack://Msdyn365.Commerce.Online/Constants.js?3cf3","webpack://Msdyn365.Commerce.Online/DomHelperFuncs.js?03e0","webpack://Msdyn365.Commerce.Online/Enums.js?a4cb","webpack://Msdyn365.Commerce.Online/HelperFuncs.js?3ed7","webpack://Msdyn365.Commerce.Online/ContextTagKeys.js?853b","webpack://Msdyn365.Commerce.Online/SeverityLevel.js?661d","webpack://Msdyn365.Commerce.Online/IConfig.js?c9aa","webpack://Msdyn365.Commerce.Online/PartAExtensions.js?73d4","webpack://Msdyn365.Commerce.Online/RequestResponseHeaders.js?7c25","webpack://Msdyn365.Commerce.Online/StorageHelperFuncs.js?31c6","webpack://Msdyn365.Commerce.Online/TelemetryItemCreator.js?c3ec","webpack://Msdyn365.Commerce.Online/Data.js?4f5f","webpack://Msdyn365.Commerce.Online/DataSanitizer.js?7795","webpack://Msdyn365.Commerce.Online/Envelope.js?27c9","webpack://Msdyn365.Commerce.Online/Event.js?ea93","webpack://Msdyn365.Commerce.Online/Exception.js?e5b4","webpack://Msdyn365.Commerce.Online/DataPoint.js?89aa","webpack://Msdyn365.Commerce.Online/Metric.js?6845","webpack://Msdyn365.Commerce.Online/PageView.js?5d51","webpack://Msdyn365.Commerce.Online/PageViewPerformance.js?bb72","webpack://Msdyn365.Commerce.Online/RemoteDependencyData.js?eef4","webpack://Msdyn365.Commerce.Online/Trace.js?0934","webpack://Msdyn365.Commerce.Online/UrlHelperFuncs.js?e30d","webpack://Msdyn365.Commerce.Online/Util.js?afec","webpack://Msdyn365.Commerce.Online/applicationinsights-common.js?a602"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 13\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 37\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN_ON_LINE = \"onLine\"; // Count: 4\r\nexport var _DYN_IS_ONLINE = \"isOnline\"; // Count: 3\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 5\r\nexport var _DYN_COUNT = \"count\"; // Count: 6\r\nexport var _DYN_EVENTS_LIMIT_IN_MEM = \"eventsLimitInMem\"; // Count: 2\r\nexport var _DYN_PUSH = \"push\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_BATCH_PAYLOADS = \"batchPayloads\"; // Count: 5\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 6\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 7\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 6\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 15\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 2\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN__SENDER_CONFIG = \"_senderConfig\"; // Count: 4\r\nexport var _DYN_ENABLE_SESSION_STORA4 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 2\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 8\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 4\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 5\r\nexport var _DYN_ONUNLOAD_DISABLE_FET5 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN__XHR_READY_STATE_CHA6 = \"_xhrReadyStateChange\"; // Count: 2\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 11\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 5\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 6\r\nexport var _DYN_IS_RETRY_DISABLED = \"isRetryDisabled\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_DISABLE_INSTRUMENTAT7 = \"disableInstrumentationKeyValidation\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map","import { __assign } from \"tslib\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '2.8.18'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","import { createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_IS_ONLINE, _DYN_ON_LINE } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _a;\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var _onlineStatus = true;\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n if (_isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n function _isOnline() {\r\n var result = true;\r\n if (_isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n result = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n return result;\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n return _a = {},\r\n _a[_DYN_IS_ONLINE /* @min:isOnline */] = _isOnline,\r\n _a.isListening = function () { return _isListening; },\r\n _a.unload = _unload,\r\n _a;\r\n}\r\n//# sourceMappingURL=Offline.js.map","import { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_COUNT, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_NAME_PREFIX, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config[_DYN_EVENTS_LIMIT_IN_MEM /* @min:%2eeventsLimitInMem */]()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += _buffer[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */] = function (payload) {\r\n if (payload && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n BaseSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.count = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.size = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.getItems = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.batchPayloads = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n var _a = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = getItem(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","var _a;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, DisabledPropertyName, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, _warnToConsole, arrForEach, arrIndexOf, createUniqueNamespace, dateNow, dumpObj, getExceptionName, getIEVersion, getJSON, getNavigator, getWindow, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, isXhrSupported, mergeEvtNamespace, objForEachKey, objKeys, useXDomainRequest } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { createOfflineListener } from \"./Offline\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_BASE_TYPE, _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CUSTOM_HEADERS, _DYN_DIAG_LOG, _DYN_DISABLE_INSTRUMENTAT7, _DYN_DISABLE_TELEMETRY, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA4, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_IS_ONLINE, _DYN_IS_RETRY_DISABLED, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_NAME_PREFIX, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET5, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SAMPLING_PERCENTAGE, _DYN_SET_REQUEST_HEADER, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER, _DYN__SENDER_CONFIG, _DYN__XHR_READY_STATE_CHA6 } from \"./__DynamicConstants\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n var _a;\r\n var defaultValue;\r\n var defaultCustomHeaders;\r\n // set default values\r\n return _a = {\r\n endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = function () { return false; },\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = function () { return 15000; },\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = function () { return 102400; },\r\n _a[_DYN_DISABLE_TELEMETRY /* @min:disableTelemetry */] = function () { return false; },\r\n _a[_DYN_ENABLE_SESSION_STORA4 /* @min:enableSessionStorageBuffer */] = function () { return true; },\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = function () { return false; },\r\n _a[_DYN_IS_RETRY_DISABLED /* @min:isRetryDisabled */] = function () { return false; },\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = function () { return true; },\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:onunloadDisableFetch */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = function () { return false; },\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = function () { return defaultValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SAMPLING_PERCENTAGE /* @min:samplingPercentage */] = function () { return 100; },\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = function () { return defaultCustomHeaders; },\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = function () { return defaultValue; },\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = function () { return 10000; },\r\n _a.retryCodes = function () { return null; },\r\n _a;\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * The configuration for this sender instance\r\n */\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _fallbackSender; // The sender to use if the payload size is too large\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _retryCodes;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */]() === false || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() === false) && isBeaconsSupported()) {\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // TODO v3.x: Change the ISenderConfig to not be function calls\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][field] = function () {\r\n var theValue = ctx.getConfig(identifier, field, value());\r\n if (!theValue && field === \"endpointUrl\") {\r\n // Use the default value (handles empty string in the configuration)\r\n theValue = value();\r\n }\r\n return theValue;\r\n };\r\n });\r\n _retryCodes = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */].retryCodes();\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var useSessionStorage = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENABLE_SESSION_STORA4 /* @min:%2eenableSessionStorageBuffer */]() &&\r\n !!(_self._senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || utlCanUseSessionStorage());\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = useSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */])\r\n : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */]);\r\n _self._sample = new Sample(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */](), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */](), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */];\r\n var sendPostFunc = null;\r\n if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:%2eonunloadDisableFetch */]() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n var convertUndefined = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */]() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);\r\n if (!aiEnvelope_1) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload[_DYN_LENGTH /* @min:%2elength */]) > _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n }\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self[_DYN__XHR_READY_STATE_CHA6 /* @min:%2e_xhrReadyStateChange */] = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n _offlineListener.unload();\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, _formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]()) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var url = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSender && _fallbackSender(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH /* @min:%2elength */]); };\r\n xhr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xhr.send(batch);\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n try {\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH /* @min:%2elength */], response.statusText, text);\r\n });\r\n }\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, error.message);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, dumpObj(e));\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */] &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */](), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && arrIndexOf(_retryCodes, statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n //|| statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n return;\r\n }\r\n var endpointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xdr.send(batch);\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */];\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _fallbackSender = null;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n /**\r\n * Pause the sending (transmission) of events, this will cause all events to be batched only until the maximum limits are\r\n * hit at which point new events are dropped. Will also cause events to NOT be sent during page unload, so if Session storage\r\n * is disabled events will be lost.\r\n * SessionStorage Limit is 2000 events, In-Memory (Array) Storage is 10,000 events (can be configured via the eventsLimitInMem).\r\n */\r\n Sender.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending (transmission) of events, this will restart the timer and any batched events will be sent using the normal\r\n * send interval.\r\n */\r\n Sender.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush the batched events immediately (not synchronously).\r\n * Will not flush if the Sender has been paused.\r\n */\r\n Sender.prototype.flush = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush the batched events synchronously (if possible -- based on configuration).\r\n * Will not flush if the Send has been paused.\r\n */\r\n Sender.prototype.onunloadFlush = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.processTelemetry = function (telemetryItem, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n Sender.prototype._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n Sender.prototype.triggerSend = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * error handler\r\n */\r\n Sender.prototype._onError = function (payload, message, event) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n Sender.prototype._onPartialSuccess = function (payload, results) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * success handler\r\n */\r\n Sender.prototype._onSuccess = function (payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n Sender.prototype._xdrOnLoad = function (xdr, payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add header to request\r\n * @param name - Header name.\r\n * @param value - Header value.\r\n */\r\n Sender.prototype.addHeader = function (name, value) {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n };\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","import dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n Serializer.prototype.serialize = function (input) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n//# sourceMappingURL=Sample.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrReduce, objKeys, strEndsWith } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n if (strEndsWith(result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */], \"/\")) {\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */].slice(0, -1);\r\n }\r\n }\r\n // apply the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n//# sourceMappingURL=ConnectionStringParser.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n//# sourceMappingURL=Enums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n//# sourceMappingURL=ContextTagKeys.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel = createEnumStyle({\r\n Verbose: 0 /* eSeverityLevel.Verbose */,\r\n Information: 1 /* eSeverityLevel.Information */,\r\n Warning: 2 /* eSeverityLevel.Warning */,\r\n Error: 3 /* eSeverityLevel.Error */,\r\n Critical: 4 /* eSeverityLevel.Critical */\r\n});\r\n//# sourceMappingURL=SeverityLevel.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_EXTENSION_CONFIG } from \"../__DynamicConstants\";\r\nvar ConfigurationManager = /** @class */ (function () {\r\n function ConfigurationManager() {\r\n }\r\n ConfigurationManager.getConfig = function (config, field, identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var configValue;\r\n if (identifier && config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] && config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier] && !isNullOrUndefined(config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier][field])) {\r\n configValue = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier][field];\r\n }\r\n else {\r\n configValue = config[field];\r\n }\r\n return !isNullOrUndefined(configValue) ? configValue : defaultValue;\r\n };\r\n return ConfigurationManager;\r\n}());\r\nexport { ConfigurationManager };\r\n//# sourceMappingURL=IConfig.js.map","import { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n//# sourceMappingURL=PartAExtensions.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name[_DYN_TO_STRING /* @min:%2etoString */]());\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = name[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString()[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = value[_DYN_TO_STRING /* @min:%2etoString */]()[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = input[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = (_a = {\r\n MAX_NAME_LENGTH: 150 /* DataSanitizerValues.MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* DataSanitizerValues.MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* DataSanitizerValues.MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */\r\n },\r\n _a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,\r\n _a.sanitizeKey = dataSanitizeKey,\r\n _a.sanitizeString = dataSanitizeString,\r\n _a.sanitizeUrl = dataSanitizeUrl,\r\n _a.sanitizeMessage = dataSanitizeMessage,\r\n _a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,\r\n _a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,\r\n _a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,\r\n _a.sanitizeId = dataSanitizeId,\r\n _a.sanitizeInput = dataSanitizeInput,\r\n _a.padNumber = dsPadNumber,\r\n _a.trim = strTrim,\r\n _a);\r\n//# sourceMappingURL=DataSanitizer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign } from \"tslib\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, attachEvent, canUseCookies as coreCanUseCookies, dateNow, deleteCookie as coreDeleteCookie, disableCookies as coreDisableCookies, dumpObj, generateW3CId, getCookie as coreGetCookie, getExceptionName as coreGetExceptionName, getIEVersion, getPerformance, isArray, isBeaconsSupported, isDate, isError, isNullOrUndefined, isValidSpanId, isValidTraceId, newId, random32, setCookie as coreSetCookie, strTrim, toISOString, uaDisallowsSameSiteNone } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { getExtensionByName, isCrossOriginError, msToTimeSpan, stringToBoolOrDefault } from \"./HelperFuncs\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetLocalStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlRemoveSessionStorage, utlRemoveStorage, utlSetLocalStorage, utlSetSessionStorage } from \"./StorageHelperFuncs\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":443\") !== -1 || requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map"],"names":["_DYN_DISABLE_INSTRUMENTAT7","strTrue","_setValueIf","target","field","value","_extractPropsAndMeasurements","data","properties","measurements","key","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","logger","envelopeType","telemetryItem","envelope","Envelope","startTime","time","iKey","iKeyNoDashes","replace","item","env","envTags","itmExt","ext","itmTags","extUser","user","userAuthUserId","authId","userId","id","localId","extApp","app","sessionId","sesId","extDevice","device","deviceId","deviceClass","deviceIp","ip","deviceModel","model","web","deviceLanguage","browserLang","deviceBrowserVersion","browserVer","deviceBrowser","browser","envData","envBaseData","envProps","domain","isManual","screenRes","userConsent","extOs","os","deviceOS","extTrace","trace","operationParentId","parentID","operationName","operationId","tgs","i","tg","splice","theTags","internalSdkVersion","concat","EnvelopeCreator","Version","_extractPartAExtensions","EnvelopeCreatorInit","EventEnvelopeCreator","customProperties","customMeasurements","Event","eventName","eventData","Data","_disableEvents","evtNamespace","_a","BaseSendBuffer","config","_buffer","_bufferFullMessageSent","this","_get","_set","buffer","_self","payload","size","lp","getItems","slice","join","ArraySendBuffer","_super","_this","call","_base","SessionStorageSendBuffer","getItem","setItem","bufferItems","_getBuffer","notDeliveredItems","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","bufferJson","buffer_1","parse","e","exception","_setBuffer","JSON","sentElements","Array","BUFFER_KEY","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","Serializer","_serializeObject","source","name","output","aiDataContract","_serializeStringMap","_serializeArray","contract","isRequired","isHidden","isArray","isPresent","undefined","isObj","sources","map","expectedType","num","parseFloat","isNaN","serialize","input","HashCodeScoreGenerator","prototype","getHashCodeScore","getHashCode","INT_MAX_VALUE","hash","charCodeAt","Math","abs","SamplingScoreGenerator","hashCodeGenerator","keys","ContextTagKeys","telemetryTrace","random","Sample","sampleRate","_logger","throwInternal","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","baseType","Metric","_getResponseText","xhr","responseText","_getDefaultAppInsightsChannelConfig","defaultValue","endpointUrl","retryCodes","EnvelopeTypeCreator","dataType","Trace","message","severityLevel","props","baseData","PageView","duration","currentContextId","bd","url","uri","refUri","pageType","isLoggedIn","pageTags","pageViewData","PageViewPerformance","Exception","exData","CreateFromInterface","baseMetricData","average","sampleCount","min","max","stdDev","RemoteDependencyData","method","remoteDepData","success","responseCode","type","correlationContext","Sender","_consecutiveErrors","_retryAt","_paused","_timeoutHandle","_serializer","_stamp_specific_redirects","_headers","priority","identifier","_senderConfig","_fallbackSender","_syncUnloadSender","_offlineListener","_evtNamespace","_retryCodes","_syncFetchPayload","_checkResponsStatus","status","responseUrl","countOfItemsInPayload","errorMessage","res","response","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_isRetriable","_resendPayload","isOnline","length","_doUnloadSend","isAsync","_beaconSender","_doBeaconSend","nav","batch","plainTextBatch","Blob","queued","sendBeacon","_onSuccess","droppedPayload","thePayload","_xhrSender","XMLHttpRequest","endPointUrl","open","headerName","onreadystatechange","_xhrReadyStateChange","onerror","event","_formatErrorMessageXhr","send","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","requestHeaders","Headers","batchLength","ignoreResponse","responseHandled","append","init","headers","body","keepalive","request","Request","fetch","then","ok","text","statusText","error","result","itemsReceived","itemsAccepted","errors","linearFactor","_i","payload_1","delayInSeconds","SlotDelayInSeconds","backOffSlot","pow","backOffDelay","floor","retryAfterTimeSpan","_setRetryTime","_setupTimer","retryInterval","timerValue","setTimeout","_clearScheduledTimer","clearTimeout","statusCode","_xdrSender","_window","xdr","XDomainRequest","onload","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","location","protocol","lastIndexOf","_initDefaults","_sample","pause","resume","flush","callBack","sendReason","onunloadFlush","addHeader","initialize","core","extensions","pluginChain","isInitialized","ctx","_getTelCtx","diagLog","parentEvtNamespace","_document","_navigator","_isListening","_onlineStatus","_enableEvents","ononline","enabled","_setOnline","_setOffline","isListening","unload","win","createOfflineListener","defaultConfig","theValue","getConfig","storagePrefix","useSessionStorage","RegExp","test","_validateInstrumentationKey","customHeaders","customHeader","header","senderConfig","sendPostFunc","processTelemetry","itemCtx","diagLogger","SampleRate","convertUndefined","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","processNext","readyState","responseURL","async","forcedSender","sendRequest","manager","func","_getNotifyMgr","_notifySendRequest","Date","ieVer","_doTeardown","unloadCtx","unloadState","results","failed","retry","errors_1","reverse","extracted","index","orig","BaseTelemetryPlugin","parseConnectionString","connectionString","kvPairs","fields","kv","kvParts","endpointsuffix","locationPrefix","ConnectionStringParser","DisabledPropertyName","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","strNotSpecified","strIkey","createDomEvent","doc","createEvent","initEvent","StorageType","LocalStorage","SessionStorage","DistributedTracingModes","AI","AI_AND_W3C","W3C","stringToBoolOrDefault","str","toString","msToTimeSpan","totalms","ms","round","sec","hour","days","getExtensionByName","extension","isCrossOriginError","lineNumber","columnNumber","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceLocale","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","locationIp","locationCountry","locationProvince","locationCity","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userAgent","userStoreRegion","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalAgentVersion","internalSnippet","internalSdkSrc","SeverityLevel","Verbose","Information","Warning","Error","Critical","ConfigurationManager","configValue","Extensions","UserExt","DeviceExt","TraceExt","WebExt","AppExt","OSExt","SessionExt","SDKExt","CtxTagKeys","RequestHeaders","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_canUseLocalStorage","_canUseSessionStorage","_storagePrefix","_getLocalStorageObject","utlCanUseLocalStorage","_getVerifiedStorageObject","storageType","uid","storage","name_1","fail","_getSessionStorageObject","utlCanUseSessionStorage","utlDisableStorage","utlSetStoragePrefix","utlEnableStorage","reset","utlGetLocalStorage","utlSetLocalStorage","utlRemoveStorage","utlGetSessionStorageKeys","push","utlGetSessionStorage","utlSetSessionStorage","utlRemoveSessionStorage","createTelemetryItem","envelopeName","systemProperties","tags","prop","TelemetryItemCreator","create","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","dsPadNumber","nameTrunc","dataSanitizeString","maxLength","valueTrunc","dataSanitizeUrl","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeException","exceptionTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","tempMeasurements_1","measure","dataSanitizeId","_msgId","inputTrunc","s","substr","DataSanitizer","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeId","sanitizeInput","padNumber","trim","ver","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","_isStackDetails","details","src","obj","_convertStackObj","errorStack","items","_getStackFromErrorObj","errorObj","window","stack","lines","entry","_getOperaStack","reason","_getErrorType","typeName","exec","constructor","_formatErrorCode","exceptions","_isExceptionInternal","_ExceptionDetails","CreateAutoException","evt","errorSrc","stackDetails","ex","toInterface","_b","problemGroup","exceptionDetailsInterface","CreateSimpleException","assembly","fileName","line","formatError","outerId","hasFullStack","parsedStack","_isExceptionDetailsInternal","frames","level_1","totalSizeInBytes_1","frame","theFrame","_StackFrame","regex","parsedFrame","left","right","acceptedLeft","acceptedRight","howMany","_parseStack","_formatStackTrace","sourceFrame","level","matches","match","parseInt","sizeInBytes","baseSize","DataPoint","kind","count","metrics","dataPoint","durationMs","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","absoluteUrl","commandName","resultCode","requestAPI","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","createElement","host","urlParseHost","href","urlGetAbsoluteUrl","a","urlGetPathName","urlGetCompleteUrl","toUpperCase","inclPort","fullHost","urlParseFullHost","port","_internalEndpoints","isInternalApplicationInsightsEndpoint","Util","NotSpecified","disableStorage","canUseLocalStorage","getStorage","setStorage","removeStorage","canUseSessionStorage","getSessionStorageKeys","getSessionStorage","setSessionStorage","removeSessionStorage","disableCookies","canUseCookies","disallowsSameSiteNone","setCookie","getCookie","deleteCookie","newId","random32","generateW3CId","isError","isDate","toISOStringForIE8","getIEVersion","dump","getExceptionName","addEventHandler","IsBeaconApiSupported","getExtension","UrlHelper","parseUrl","getAbsoluteUrl","getPathName","getCompleteUrl","parseHost","parseFullHost","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","toLowerCase","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","getCorrelationContextValue","keyValues","keyValue","AjaxHelperParseDependencyPath","parsedUrl","pathName","pathname","charAt","dateTimeUtilsNow","perf","now","timing","navigationStart","dateTimeUtilsDuration","start","end","DateTimeUtils","Now","GetDuration","createDistributedTraceContextFromTrace","parentCtx","getName","setName","newValue","getTraceId","traceID","setTraceId","getSpanId","setSpanId","getTraceFlags","traceFlags","setTraceFlags","newTraceFlags","PropertiesPluginIdentifier","BreezeChannelIdentifier","AnalyticsPluginIdentifier"],"sourceRoot":""}