{"version":3,"file":"static/js/5439_05aa9536b9e9716c887f.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-cfgsync-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/__DynamicConstants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-cfgsync-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncHelperFuncs.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-cfgsync-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncPlugin.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/InternalConstants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/__DynamicConstants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/EnvelopeCreator.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Offline.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Sender.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/SendBuffer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Serializer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@microsoft+applicationinsights-channel-js@3.0.7_tslib@2.6.2/node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/Sample.js"],"sourcesContent":["/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\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_FEATURE_OPT_IN = \"featureOptIn\"; // Count: 4\r\nexport var _DYN_ON_CFG_CHANGE_RECEIV0 = \"onCfgChangeReceive\"; // Count: 2\r\nexport var _DYN_NON_OVERRIDE_CONFIGS = \"nonOverrideConfigs\"; // Count: 2\r\nexport var _DYN_SCHEDULE_FETCH_TIMEO1 = \"scheduleFetchTimeout\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { isNullOrUndefined, isObject, objExtend, objForEachKey, setValueByKey } from \"@nevware21/ts-utils\";\r\nimport { _DYN_FEATURE_OPT_IN } from \"./__DynamicConstants\";\r\n/**\r\n * Delete a config key in the given cfg, if the config key exists in nonOverrideConfigs and its value is set to true\r\n * @param cfg cfg to modify\r\n * @param nonOverrideConfigs nonOverrideConfigs\r\n * @param curLevel cur config level, starting at 0\r\n * @param maxLevel max config level\r\n * @returns new copy of modified configs\r\n */\r\nexport function replaceByNonOverrideCfg(cfg, nonOverrideConfigs, curLevel, maxLevel) {\r\n try {\r\n var exceedMaxLevel = curLevel > maxLevel;\r\n if (exceedMaxLevel) {\r\n cfg = null;\r\n }\r\n var curCfg_1 = curLevel == 0 ? objExtend({}, cfg) : cfg; // only copy cfg at the begining level\r\n if (curCfg_1 && nonOverrideConfigs && !exceedMaxLevel) {\r\n objForEachKey(curCfg_1, function (key) {\r\n var nonOverrideVal = nonOverrideConfigs[key];\r\n if (!!nonOverrideVal) {\r\n if (isObject(curCfg_1[key]) && isObject(nonOverrideVal)) {\r\n curCfg_1[key] = replaceByNonOverrideCfg(curCfg_1[key], nonOverrideVal, ++curLevel, maxLevel);\r\n }\r\n else {\r\n delete curCfg_1[key];\r\n }\r\n }\r\n });\r\n }\r\n return curCfg_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n // if errors happen, do nothing\r\n return cfg;\r\n}\r\n// CDN Mode, value = B (CDN value = B)\r\n// |--------------------------------------------------------------------------|-----------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ----------- | ----------- | ----------- | --------- | --------- |\r\n// | User Mode, value = A | none | none | disabled | enabled | enabled | disabled |\r\n// (user Value = A) | disabled | disabled | disabled | disabled | enabled | disabled |\r\n// | enabled | enabled | disabled | enabled | enabled | disabled |\r\n// | none(blockCdn) | none | none | none | none | none |\r\n// | disabled(blockCdn) | disabled | disabled | disabled | disabled | disabled |\r\n// | enabled(blockCdn) | enabled | enabled | enabled | enabled | enabled |\r\n// This matrix identifies how feature based overrides are selected (if present)\r\n// cdn Mode (cdn Value = B)\r\n// |---------------------------------------------------------------------------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ---------| ---------| ---------| ---------|----------|\r\n// | User Mode | none | A | A | A || B | B || A | B || A |\r\n// (user Value = A) | disabled | A | A | A | B || A | B || A |\r\n// | enabled | A | A | A || B | B || A | B || A |\r\n// | none(blockCdn) | A | A | A | A | A |\r\n// | disabled(blockCdn) | A | A | A | A | A |\r\n// | enabled(blockCdn) | A | A | A | A | A |\r\n// Note:\r\n// Where the \"value\" is an object (map) of encoded key/values which will be used to override the real configuration\r\n// A = either the user supplied enable/disable value (via the `config.featureOptIn[name]`) or if not defined by the user the SDK defaults of the same.\r\n// B = The enable/disable value obtained from the CDN for the named feature\r\n// These are evaluated based on the above matrix to either\r\n// - A (Always the user/sdk value)\r\n// - B (Always the value from the CDN)\r\n// - A || B (If A is null or undefined use the value from the CDN (B) otherwise A)\r\n// - B || A (If B is null or undefined use the user/SDK value otherwise use the value from the CDN)\r\n//\r\n// The result of the value may also be null / undefined, which means there are no overrides to apply when the feature is enabled\r\nvar F = \"featureOptIn.\";\r\nvar M = \".mode\";\r\nvar ON = \".onCfg\";\r\nvar OFF = \".offCfg\";\r\nexport function resolveCdnFeatureCfg(field, cdnCfg, userOptInDetails) {\r\n var _a;\r\n // cdn conifg value\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n var cdnFt = (cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */] || {})[field] || { mode: 1 /* CdnFeatureMode.none */ };\r\n var cdnM = cdnFt.mode;\r\n var cdnOnV = cdnFt.onCfg;\r\n var cdnOffV = cdnFt.offCfg;\r\n var userFt = (userOptInDetails || {})[field] || { mode: 2 /* FeatureOptInMode.disable */ }; // default user mode is disable\r\n var userM = userFt.mode;\r\n var userOnV = userFt.onCfg;\r\n var userOffV = userFt.offCfg;\r\n var blockCdn = !!userFt.blockCdnCfg;\r\n var mFld = F + field + M;\r\n var onFld = F + field + ON;\r\n var offFld = F + field + OFF;\r\n var mode = userM;\r\n var onV = userOnV;\r\n var offV = userOffV;\r\n if (!blockCdn) {\r\n if (cdnM === 4 /* CdnFeatureMode.forceOn */ || cdnM === 5 /* CdnFeatureMode.forceOff */) {\r\n mode = (cdnM == 4 /* CdnFeatureMode.forceOn */ ? 3 /* FeatureOptInMode.enable */ : 2 /* FeatureOptInMode.disable */);\r\n onV = cdnOnV || userOnV;\r\n offV = cdnOffV || userOffV;\r\n }\r\n else if (cdnM === 2 /* CdnFeatureMode.disable */ || userM === 2 /* FeatureOptInMode.disable */) {\r\n mode = 2 /* FeatureOptInMode.disable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 3 /* CdnFeatureMode.enable */) {\r\n mode = 3 /* FeatureOptInMode.enable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 1 /* CdnFeatureMode.none */ && userM === 1 /* FeatureOptInMode.none */) {\r\n mode = 1 /* FeatureOptInMode.none */;\r\n }\r\n }\r\n return _a = {},\r\n _a[mFld] = mode,\r\n _a[onFld] = onV,\r\n _a[offFld] = offV,\r\n _a;\r\n}\r\n// helper function to get cdn config with opt-in features\r\nexport function applyCdnfeatureCfg(cdnCfg, core) {\r\n try {\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n if (!cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]) {\r\n return cdnCfg.config;\r\n }\r\n var optInMap = cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */];\r\n var cdnConfig_1 = cdnCfg.config || {};\r\n objForEachKey(optInMap, function (key) {\r\n var featureVal = resolveCdnFeatureCfg(key, cdnCfg, core.config[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]);\r\n if (!isNullOrUndefined(featureVal)) {\r\n objForEachKey(featureVal, function (config, val) {\r\n setValueByKey(cdnConfig_1, config, val);\r\n });\r\n _overrideCdnCfgByFeature(key, featureVal, cdnConfig_1);\r\n }\r\n });\r\n return cdnConfig_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\nfunction _overrideCdnCfgByFeature(field, ftVal, config) {\r\n var mode = ftVal[F + field + M];\r\n var val = ftVal[F + field + ON];\r\n var dVal = ftVal[F + field + OFF];\r\n var target = null;\r\n if (mode === 3 /* FeatureOptInMode.enable */) {\r\n target = val;\r\n }\r\n if (mode === 2 /* FeatureOptInMode.disable */) {\r\n target = dVal;\r\n }\r\n if (target) {\r\n objForEachKey(target, function (key, cfg) {\r\n setValueByKey(config, key, cfg);\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=CfgSyncHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Properties Plugin, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* CfgSyncPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, createProcessTelemetryContext, createUniqueNamespace, eventOff, eventOn, getGlobal, getJSON, isFetchSupported, isXhrSupported, mergeEvtNamespace, onConfigChange, sendCustomEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { applyCdnfeatureCfg, replaceByNonOverrideCfg } from \"./CfgSyncHelperFuncs\";\r\nimport { _DYN_NON_OVERRIDE_CONFIGS, _DYN_ON_CFG_CHANGE_RECEIV0, _DYN_SCHEDULE_FETCH_TIMEO1 } from \"./__DynamicConstants\";\r\nvar EVENT_NAME = \"ai_cfgsync\";\r\nvar STR_GET_METHOD = \"GET\";\r\nvar FETCH_TIMEOUT = 1800000; // 30 minutes\r\nvar udfVal = undefined;\r\nvar defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };\r\nvar _defaultConfig = objDeepFreeze((_a = {\r\n syncMode: 1 /* ICfgSyncMode.Broadcast */,\r\n blkCdnCfg: udfVal,\r\n customEvtName: udfVal,\r\n cfgUrl: udfVal,\r\n overrideSyncFn: udfVal,\r\n overrideFetchFn: udfVal\r\n },\r\n _a[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:onCfgChangeReceive */] = udfVal,\r\n _a[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:scheduleFetchTimeout */] = FETCH_TIMEOUT,\r\n _a[_DYN_NON_OVERRIDE_CONFIGS /* @min:nonOverrideConfigs */] = defaultNonOverrideCfg,\r\n _a));\r\nvar CfgSyncPlugin = /** @class */ (function (_super) {\r\n __extends(CfgSyncPlugin, _super);\r\n function CfgSyncPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 198;\r\n _this.identifier = \"AppInsightsCfgSyncPlugin\";\r\n var _extensionConfig;\r\n var _mainConfig; // throttle config should be wrapped in IConfiguration\r\n var _evtName;\r\n var _evtNamespace;\r\n var _cfgUrl;\r\n var _timeoutHandle;\r\n var _receiveChanges;\r\n var _broadcastChanges;\r\n var _blkCdnCfg;\r\n var _fetchTimeout;\r\n var _retryCnt;\r\n var _onCfgChangeReceive;\r\n var _nonOverrideConfigs;\r\n var _fetchFn;\r\n var _overrideFetchFn;\r\n var _overrideSyncFn;\r\n var _paused = false;\r\n dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n };\r\n _self.getCfg = function () {\r\n return _mainConfig;\r\n };\r\n _self.pause = function () {\r\n _paused = true;\r\n _clearScheduledTimer();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _setupTimer();\r\n };\r\n // used for V2 to manaully trigger config udpate\r\n _self.setCfg = function (config) {\r\n return _setCfg(config);\r\n };\r\n _self.sync = function (customDetails) {\r\n return _sendCfgsyncEvents(customDetails);\r\n };\r\n _self.updateEventListenerName = function (eventName) {\r\n return _updateEventListenerName(eventName);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _eventOff();\r\n _clearScheduledTimer();\r\n _initDefaults();\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg];\r\n };\r\n function _initDefaults() {\r\n _mainConfig = null;\r\n _evtName = null;\r\n _evtNamespace = null;\r\n _cfgUrl = null;\r\n _receiveChanges = null;\r\n _broadcastChanges = null;\r\n _nonOverrideConfigs = null;\r\n _timeoutHandle = null;\r\n _fetchTimeout = null;\r\n _retryCnt = null;\r\n _blkCdnCfg = null;\r\n _overrideFetchFn = null;\r\n _overrideSyncFn = null;\r\n _onCfgChangeReceive = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n var preBlkCdn = _blkCdnCfg;\r\n _blkCdnCfg = !!_extensionConfig.blkCdnCfg;\r\n // avoid initial call\r\n if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {\r\n if (!_blkCdnCfg && _cfgUrl) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n else {\r\n _clearScheduledTimer();\r\n }\r\n }\r\n if (isNullOrUndefined(_receiveChanges)) {\r\n _receiveChanges = _extensionConfig.syncMode === 2 /* ICfgSyncMode.Receive */;\r\n }\r\n if (isNullOrUndefined(_broadcastChanges)) {\r\n _broadcastChanges = _extensionConfig.syncMode === 1 /* ICfgSyncMode.Broadcast */;\r\n }\r\n var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;\r\n if (_evtName !== newEvtName) {\r\n if (_receiveChanges) {\r\n _updateEventListenerName(newEvtName);\r\n }\r\n else {\r\n _eventOff();\r\n _evtName = newEvtName;\r\n }\r\n }\r\n if (isNullOrUndefined(_cfgUrl)) {\r\n _cfgUrl = _extensionConfig.cfgUrl;\r\n }\r\n // if cfgUrl is set, we will ignore core config change\r\n if (!_cfgUrl) {\r\n _mainConfig = config;\r\n if (_broadcastChanges) {\r\n _sendCfgsyncEvents();\r\n }\r\n }\r\n }));\r\n _overrideSyncFn = _extensionConfig.overrideSyncFn;\r\n _overrideFetchFn = _extensionConfig.overrideFetchFn;\r\n _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:%2eonCfgChangeReceive */];\r\n _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS /* @min:%2enonOverrideConfigs */];\r\n _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:%2escheduleFetchTimeout */];\r\n _fetchFn = _getFetchFnInterface();\r\n _retryCnt = 0;\r\n // NOT support cfgURL change to avoid mutiple fetch calls\r\n if (_cfgUrl && !_blkCdnCfg) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n }\r\n function _setCfg(config, isAutoSync) {\r\n if (config) {\r\n _mainConfig = config;\r\n if (!!isAutoSync && !_paused) {\r\n return _sendCfgsyncEvents();\r\n }\r\n if (_receiveChanges && !_paused) {\r\n _self.core.updateCfg(config);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _eventOff() {\r\n try {\r\n var global_1 = getGlobal();\r\n if (global_1) {\r\n eventOff(global_1, null, null, _evtNamespace);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _sendCfgsyncEvents(customDetails) {\r\n try {\r\n if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {\r\n return _overrideSyncFn(_mainConfig, customDetails);\r\n }\r\n return sendCustomEvent(_evtName, _mainConfig, customDetails);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _updateEventListenerName(name) {\r\n try {\r\n _eventOff();\r\n if (name) {\r\n _evtName = name;\r\n _addEventListener();\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getFetchFnInterface() {\r\n var _fetchFn = _overrideFetchFn;\r\n if (isNullOrUndefined(_fetchFn)) {\r\n if (isFetchSupported()) {\r\n _fetchFn = _fetchSender;\r\n }\r\n else if (isXhrSupported()) {\r\n _fetchFn = _xhrSender;\r\n }\r\n }\r\n return _fetchFn;\r\n }\r\n function _fetchSender(url, oncomplete, isAutoSync) {\r\n var global = getGlobal();\r\n var fetchFn = (global && global.fetch) || null;\r\n if (url && fetchFn && isFunction(fetchFn)) {\r\n try {\r\n var init = {\r\n method: STR_GET_METHOD\r\n };\r\n var request = new Request(url, init);\r\n doAwaitResponse(fetch(request), function (result) {\r\n var response = result.value;\r\n if (!result.rejected) {\r\n if (response.ok) {\r\n doAwaitResponse(response.text(), function (res) {\r\n _doOnComplete(oncomplete, response.status, res.value, isAutoSync);\r\n });\r\n }\r\n else {\r\n _doOnComplete(oncomplete, response.status, null, isAutoSync);\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n function _xhrSender(url, oncomplete, isAutoSync) {\r\n try {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(STR_GET_METHOD, url);\r\n xhr_1.onreadystatechange = function () {\r\n if (xhr_1.readyState === XMLHttpRequest.DONE) {\r\n _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);\r\n }\r\n };\r\n xhr_1.onerror = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.ontimeout = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.send();\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _onFetchComplete(status, response, isAutoSync) {\r\n try {\r\n if (status >= 200 && status < 400 && response) {\r\n _retryCnt = 0; // any successful response will reset retry count to 0\r\n var JSON_1 = getJSON();\r\n if (JSON_1) {\r\n var cdnCfg = JSON_1.parse(response); //comments are not allowed\r\n var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);\r\n cfg && _setCfg(cfg, isAutoSync);\r\n }\r\n }\r\n else {\r\n _retryCnt++;\r\n }\r\n if (_retryCnt < 3) {\r\n _setupTimer();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doOnComplete(oncomplete, status, response, isAutoSync) {\r\n try {\r\n oncomplete(status, response, isAutoSync);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _addEventListener() {\r\n if (_receiveChanges) {\r\n var global_2 = getGlobal();\r\n if (global_2) {\r\n try {\r\n eventOn(global_2, _evtName, function (event) {\r\n // TODO: add more validation here\r\n // may include a \"name\" or some other features to check\r\n var cfgEvent = event && event.detail;\r\n if (_onCfgChangeReceive && cfgEvent) {\r\n _onCfgChangeReceive(cfgEvent);\r\n }\r\n else {\r\n var cfg = cfgEvent && cfgEvent.cfg;\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg);\r\n }\r\n }, _evtNamespace, true);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n }\r\n // 4 levels\r\n function _replaceTartgetByKeys(cfg, level) {\r\n var _cfg = null;\r\n try {\r\n if (cfg) {\r\n _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return _cfg;\r\n }\r\n /**\r\n * Sets up the timer which triggers fetching cdn every 30mins after inital call\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && _fetchTimeout) {\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }, _fetchTimeout);\r\n _timeoutHandle.unref();\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryCnt = 0;\r\n }\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for CfgSyncPlugin.prototype.initialize.\r\n// Removed Stub for CfgSyncPlugin.prototype.getCfg.\r\n// Removed Stub for CfgSyncPlugin.prototype.setCfg.\r\n// Removed Stub for CfgSyncPlugin.prototype.sync.\r\n// Removed Stub for CfgSyncPlugin.prototype.updateEventListenerName.\r\n// Removed Stub for CfgSyncPlugin.prototype.pause.\r\n// Removed Stub for CfgSyncPlugin.prototype.resume.\r\n //// Removed Stub for CfgSyncPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n CfgSyncPlugin.__ieDyn=1;\n\n return CfgSyncPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { CfgSyncPlugin };\r\n//# sourceMappingURL=CfgSyncPlugin.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n//# sourceMappingURL=InternalConstants.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\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: 17\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 38\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__GET = \"_get\"; // Count: 5\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 7\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: 7\r\nexport var _DYN_BATCH_PAYLOADS = \"batchPayloads\"; // Count: 3\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 3\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 5\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: 8\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_SEND_POST = \"sendPOST\"; // Count: 3\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 5\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 17\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 2\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_ALWAYS_USE_XHR_OVERR4 = \"alwaysUseXhrOverride\"; // Count: 2\r\nexport var _DYN_ENABLE_SESSION_STORA5 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 10\r\nexport var _DYN_ONUNLOAD_DISABLE_FET6 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_SEND_BEACON_7 = \"disableSendBeaconSplit\"; // Count: 2\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN__XHR_READY_STATE_CHA8 = \"_xhrReadyStateChange\"; // Count: 2\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 7\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_ORI_PAYLOAD = \"oriPayload\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // 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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\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 // Starting from Version 3.0.3, the time property will be assigned by the startTime value,\r\n // which records the loadEvent time for the pageView event.\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: '3.0.7'\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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { 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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a, _b;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\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, cfgDfBoolean, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dateNow, dumpObj, getExceptionName, getIEVersion, getJSON, getNavigator, getWindow, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, isXhrSupported, mergeEvtNamespace, objExtend, objKeys, onConfigChange, runTargetUnload, useXDomainRequest } from \"@microsoft/applicationinsights-core-js\";\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isTruthy, objDeepFreeze, objDefine, scheduleTimeout } from \"@nevware21/ts-utils\";\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_ALWAYS_USE_XHR_OVERR4, _DYN_BASE_TYPE, _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CREATE_NEW, _DYN_CUSTOM_HEADERS, _DYN_DATA, _DYN_DIAG_LOG, _DYN_DISABLE_SEND_BEACON_7, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA5, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_IS_ONLINE, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET6, _DYN_ORI_PAYLOAD, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SEND_POST, _DYN_SET_REQUEST_HEADER, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER, _DYN__XHR_READY_STATE_CHA8 } from \"./__DynamicConstants\";\r\nvar UNDEFINED_VALUE = undefined;\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 isOverrideFn(httpXHROverride) {\r\n return httpXHROverride && httpXHROverride[_DYN_SEND_POST /* @min:%2esendPOST */];\r\n}\r\nvar defaultAppInsightsChannelConfig = objDeepFreeze((_a = {\r\n // Use the default value (handles empty string in the configuration)\r\n endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = cfgDfBoolean(),\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = 15000,\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = 102400,\r\n _a.disableTelemetry = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_SESSION_STORA5 /* @min:enableSessionStorageBuffer */] = cfgDfBoolean(true),\r\n _a.isRetryDisabled = cfgDfBoolean(),\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_SEND_BEACON_7 /* @min:disableSendBeaconSplit */] = cfgDfBoolean(),\r\n _a.disableXhr = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:onunloadDisableFetch */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = cfgDfBoolean(),\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a.namePrefix = UNDEFINED_VALUE,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = UNDEFINED_VALUE,\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = UNDEFINED_VALUE,\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = 10000,\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = false,\r\n _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },\r\n _a[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:alwaysUseXhrOverride */] = cfgDfBoolean(),\r\n _a));\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nvar EnvelopeTypeCreator = (_b = {},\r\n _b[Event.dataType] = EventEnvelopeCreator,\r\n _b[Trace.dataType] = TraceEnvelopeCreator,\r\n _b[PageView.dataType] = PageViewEnvelopeCreator,\r\n _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _b[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _b[Metric.dataType] = MetricEnvelopeCreator,\r\n _b[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _b);\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 // 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 _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _endpointUrl;\r\n var _orgEndpointUrl;\r\n var _maxBatchSizeInBytes;\r\n var _beaconSupported;\r\n var _customHeaders;\r\n var _disableTelemetry;\r\n var _instrumentationKey;\r\n var _convertUndefined;\r\n var _isRetryDisabled;\r\n var _maxBatchInterval;\r\n var _sessionStorageUsed;\r\n var _bufferOverrideUsed;\r\n var _namePrefix;\r\n var _enableSendPromise;\r\n var _alwaysUseCustomSend;\r\n var _disableXhr;\r\n var _fetchKeepAlive;\r\n var _xhrSend;\r\n var _fallbackSend;\r\n var _disableBeaconSplit;\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 _checkMaxSize();\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 return _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 (_beaconSupported || _alwaysUseCustomSend) {\r\n try {\r\n return _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(false);\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 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 // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var senderConfig = ctx.getExtCfg(identifier, defaultAppInsightsChannelConfig);\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return senderConfig;\r\n }\r\n });\r\n // Only update the endpoint if the original config !== the current config\r\n // This is so any redirect endpointUrl is not overwritten\r\n if (_orgEndpointUrl !== senderConfig.endpointUrl) {\r\n if (_orgEndpointUrl) {\r\n // TODO: add doc to remind users to flush before changing endpoint, otherwise all unsent payload will be sent to new endpoint\r\n }\r\n _endpointUrl = _orgEndpointUrl = senderConfig.endpointUrl;\r\n }\r\n if (_customHeaders && _customHeaders !== senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */]) {\r\n // Removing any previously defined custom headers as they have changed\r\n arrForEach(_customHeaders, function (customHeader) {\r\n delete _headers[customHeader.header];\r\n });\r\n }\r\n _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */];\r\n _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false) && isBeaconsSupported();\r\n _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:%2ealwaysUseXhrOverride */];\r\n _disableXhr = !!senderConfig.disableXhr;\r\n var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */];\r\n var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 /* @min:%2eenableSessionStorageBuffer */] &&\r\n (!!bufferOverride || utlCanUseSessionStorage());\r\n var namePrefix = senderConfig.namePrefix;\r\n //Note: emitLineDelimitedJson and eventsLimitInMem is directly accessed via config in senderBuffer\r\n //Therefore, if canUseSessionStorage is not changed, we do not need to re initialize a new one\r\n var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)\r\n || (canUseSessionStorage && (_namePrefix !== namePrefix)) // prefixName is only used in session storage\r\n || (canUseSessionStorage && (_bufferOverrideUsed !== bufferOverride));\r\n if (_self[_DYN__BUFFER /* @min:%2e_buffer */]) {\r\n // case1 (Pre and Now enableSessionStorageBuffer settings are same)\r\n // if namePrefix changes, transfer current buffer to new buffer\r\n // else no action needed\r\n //case2 (Pre and Now enableSessionStorageBuffer settings are changed)\r\n // transfer current buffer to new buffer\r\n if (shouldUpdate) {\r\n try {\r\n _self._buffer = _self._buffer[_DYN_CREATE_NEW /* @min:%2ecreateNew */](diagLog, senderConfig, canUseSessionStorage);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"failed to transfer telemetry to different buffer storage, telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n _checkMaxSize();\r\n }\r\n else {\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = canUseSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, senderConfig) : new ArraySendBuffer(diagLog, senderConfig);\r\n }\r\n _namePrefix = namePrefix;\r\n _sessionStorageUsed = canUseSessionStorage;\r\n _bufferOverrideUsed = bufferOverride;\r\n _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:%2eonunloadDisableFetch */] && isFetchSupported(true);\r\n _disableBeaconSplit = !!senderConfig[_DYN_DISABLE_SEND_BEACON_7 /* @min:%2edisableSendBeaconSplit */];\r\n _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);\r\n _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n if (!_validateInstrumentationKey(_instrumentationKey, config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + _instrumentationKey);\r\n }\r\n _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */];\r\n if (!isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_customHeaders, function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n else {\r\n _customHeaders = null;\r\n }\r\n _enableSendPromise = senderConfig.enableSendPromise;\r\n var customInterface = senderConfig.httpXHROverride;\r\n var httpInterface = null;\r\n var syncInterface = null;\r\n httpInterface = _getSenderInterface([1 /* TransportType.Xhr */, 2 /* TransportType.Fetch */], false);\r\n var xhrInterface = { sendPOST: _xhrSender };\r\n _xhrSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync);\r\n };\r\n _fallbackSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync, false);\r\n };\r\n if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n httpInterface = _getSenderInterface([3 /* TransportType.Beacon */], false);\r\n }\r\n httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = function (payload, isAsync) {\r\n return _doSend(httpInterface, payload, isAsync);\r\n };\r\n if (_fetchKeepAlive) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */], true) || customInterface);\r\n if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {\r\n _syncUnloadSender = function (payload, isAsync) {\r\n return _doSend(syncInterface, payload, isAsync);\r\n };\r\n }\r\n if (!_syncUnloadSender) {\r\n _syncUnloadSender = _xhrSend;\r\n }\r\n _disableTelemetry = senderConfig.disableTelemetry;\r\n _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */] || UNDEFINED_VALUE;\r\n _isRetryDisabled = senderConfig.isRetryDisabled;\r\n _maxBatchInterval = senderConfig[_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */];\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 (_disableTelemetry) {\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 // 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 || _instrumentationKey;\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 _checkMaxSize(payload);\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_CHA8 /* @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 var result;\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 (!_disableTelemetry) {\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 result = forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n result = _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 return result;\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n runTargetUnload(_offlineListener, false);\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 && !_isRetryDisabled) {\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 _getSenderInterface(transports, syncSupport) {\r\n var _a;\r\n var transportType = null;\r\n var sendPostFunc = null;\r\n var lp = 0;\r\n while (sendPostFunc == null && lp < transports[_DYN_LENGTH /* @min:%2elength */]) {\r\n transportType = transports[lp];\r\n if (!_disableXhr && transportType === 1 /* TransportType.Xhr */) {\r\n if (useXDomainRequest()) {\r\n // IE 8 and 9\r\n sendPostFunc = _xdrSender;\r\n }\r\n else if (isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n }\r\n else if (transportType === 2 /* TransportType.Fetch */ && isFetchSupported(syncSupport)) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n else if (isBeaconsSupported() && transportType === 3 /* TransportType.Beacon */) {\r\n sendPostFunc = _beaconSender;\r\n }\r\n lp++;\r\n }\r\n if (sendPostFunc) {\r\n return _a = {},\r\n _a[_DYN_SEND_POST /* @min:sendPOST */] = sendPostFunc,\r\n _a;\r\n }\r\n return null;\r\n }\r\n function _getOnComplete(payload, status, headers, response) {\r\n // ***********************************************************************************************\r\n //TODO: handle other status codes\r\n if (status === 200 && payload) {\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n else {\r\n response && _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response);\r\n }\r\n }\r\n function _doSend(sendInterface, payload, isAsync, markAsSent) {\r\n if (markAsSent === void 0) { markAsSent = true; }\r\n var onComplete = function (status, headers, response) {\r\n return _getOnComplete(payload, status, headers, response);\r\n };\r\n var payloadData = _getPayload(payload);\r\n var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST /* @min:%2esendPOST */];\r\n if (sendPostFunc && payloadData) {\r\n // ***********************************************************************************************\r\n // mark payload as sent at the beginning of calling each send function\r\n if (markAsSent) {\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n return sendPostFunc(payloadData, onComplete, !isAsync);\r\n }\r\n return null;\r\n }\r\n function _getPayload(payload) {\r\n var _a;\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n var payloadData = (_a = {},\r\n _a[_DYN_DATA /* @min:data */] = batch,\r\n _a.urlString = _endpointUrl,\r\n _a.headers = _headers,\r\n _a.disableXhrSync = _disableXhr,\r\n _a.disableFetchKeepAlive = !_fetchKeepAlive,\r\n _a[_DYN_ORI_PAYLOAD /* @min:oriPayload */] = payload,\r\n _a);\r\n return payloadData;\r\n }\r\n return null;\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param oncomplete - {function} on complete function\r\n * @param sync - {boolean} - not used\r\n */\r\n function _fetchSender(payload, oncomplete, sync) {\r\n return _doFetchSender(payload, oncomplete, false);\r\n }\r\n function _checkMaxSize(incomingPayload) {\r\n var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if ((_self[_DYN__BUFFER /* @min:%2e_buffer */].size() + incomingSize) > _maxBatchSizeInBytes) {\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 return true;\r\n }\r\n return false;\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 (!_isRetryDisabled && _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 (!_isRetryDisabled) {\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 && !_isRetryDisabled) {\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 !== _endpointUrl) {\r\n _endpointUrl = responseUrl;\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doOnComplete(oncomplete, status, headers, response) {\r\n try {\r\n oncomplete(status, headers, response);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n var onComplete = function (status, headers, response) {\r\n return _getOnComplete(payload, status, headers, response);\r\n };\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 var payloadData = _getPayload(payload);\r\n _beaconSender(payloadData, onComplete, !isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload, oncomplete) {\r\n var nav = getNavigator();\r\n var url = _endpointUrl;\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\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 batch = 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 // Should NOT pass onComplete directly since onComplete will always be called at full batch level\r\n //buffer.markAsSent(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 sync - {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, oncomplete, sync) {\r\n var internalPayload = payload;\r\n var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n if (isArray(data) && data[_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(data, oncomplete)) {\r\n if (!_disableBeaconSplit) {\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 < data[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = data[lp];\r\n if (!_doBeaconSend([thePayload], oncomplete)) {\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 _fallbackSend && _fallbackSend(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 else {\r\n _fallbackSend && _fallbackSend(data, 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 sync - {boolean} - Indicates if the request should be sent synchronously\r\n */\r\n function _xhrSender(payload, oncomplete, sync) {\r\n var internalPayload = payload;\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _endpointUrl;\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, !sync);\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 () {\r\n var oriPayload = internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH /* @min:%2elength */]);\r\n if (xhr.readyState === 4) {\r\n resolveFunc && resolveFunc(true);\r\n }\r\n };\r\n xhr.onerror = function (event) {\r\n _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));\r\n rejectFunc && rejectFunc(event);\r\n };\r\n if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n xhr.send(payload[_DYN_DATA /* @min:%2edata */]);\r\n return thePromise;\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n var onComplete = function (status, headers, response) {\r\n return _getOnComplete(payload, status, headers, response);\r\n };\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 var payloadData = _getPayload(payload);\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payloadData, onComplete, true);\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(payloadData, onComplete, !isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSend && _fallbackSend(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 sync - {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, oncomplete, sync) {\r\n var _a;\r\n var endPointUrl = _endpointUrl;\r\n var internalPayload = payload;\r\n var batch = internalPayload[_DYN_DATA /* @min:%2edata */];\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\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 (sync) {\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 if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n try {\r\n doAwaitResponse(fetch(request), function (result) {\r\n if (sync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n if (!result.rejected) {\r\n var response_1 = result.value;\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_1.ok) {\r\n _doOnComplete(oncomplete, 400, {}, response_1.statusText);\r\n resolveFunc && resolveFunc(false);\r\n }\r\n else {\r\n doAwaitResponse(response_1.text(), function (resp) {\r\n var oriPayload = internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH /* @min:%2elength */], response_1.statusText, resp.value || \"\");\r\n resolveFunc && resolveFunc(true);\r\n });\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);\r\n rejectFunc && rejectFunc(result.reason);\r\n }\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _doOnComplete(oncomplete, 400, {}, dumpObj(e));\r\n rejectFunc && rejectFunc(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 _doOnComplete(oncomplete, 200, {});\r\n resolveFunc && resolveFunc(true);\r\n }\r\n return thePromise;\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(_maxBatchInterval, retryInterval);\r\n _timeoutHandle = scheduleTimeout(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 _timeoutHandle && _timeoutHandle.cancel();\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 return statusCode === 401 // Unauthorized\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 sync - {boolean} - Indicates if the request should be sent synchronously\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, oncomplete, sync) {\r\n var internalPayload = payload;\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n var data = internalPayload[_DYN_DATA /* @min:%2edata */];\r\n // NOTE: xdr may send previous retry payload to new endpoint since we are not able to check response URL\r\n xdr.onload = function () {\r\n var oriPayload = internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n // we will assume onload means the request succeeded.\r\n _self._xdrOnLoad(xdr, oriPayload);\r\n };\r\n xdr.onerror = function () {\r\n _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));\r\n };\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 (_endpointUrl.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 _self._buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n return;\r\n }\r\n var endpointUrl = _endpointUrl.replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n xdr.send(data);\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(instrumentationKey, config) {\r\n var disableValidation = config.disableInstrumentationKeyValidation;\r\n var disableIKeyValidationFlag = isNullOrUndefined(disableValidation) ? false : disableValidation;\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(instrumentationKey);\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 _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n _endpointUrl = null;\r\n _orgEndpointUrl = null;\r\n _maxBatchSizeInBytes = 0;\r\n _beaconSupported = false;\r\n _customHeaders = null;\r\n _disableTelemetry = false;\r\n _instrumentationKey = null;\r\n _convertUndefined = UNDEFINED_VALUE;\r\n _isRetryDisabled = false;\r\n _sessionStorageUsed = null;\r\n _namePrefix = UNDEFINED_VALUE;\r\n _disableXhr = false;\r\n _fetchKeepAlive = false;\r\n _disableBeaconSplit = false;\r\n _xhrSend = null;\r\n _fallbackSend = null;\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return objExtend({}, defaultAppInsightsChannelConfig);\r\n }\r\n });\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// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\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_CREATE_NEW, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__GET, _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[_DYN__GET /* @min:%2e_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 _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n var items = _buffer.slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n var newBuffer = !!canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(items, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n return newBuffer;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n// Removed Stub for BaseSendBuffer.prototype.createNew.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n BaseSendBuffer.__ieDyn=1;\n\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// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n ArraySendBuffer.__ieDyn=1;\n\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 //Note: should not use config.namePrefix directly, because it will always refers to the latest namePrefix\r\n var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;\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.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_get */]());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_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[_DYN__GET /* @min:%2e_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 _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n canUseSessionStorage = !!canUseSessionStorage;\r\n var unsentItems = _self[_DYN__GET /* @min:%2e_get */]().slice(0);\r\n var sentItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]).slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n // to make sure that we do not send duplicated payloads when it is switched back to previous one\r\n _self[_DYN_CLEAR /* @min:%2eclear */]();\r\n var newBuffer = canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(unsentItems, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n if (canUseSessionStorage) {\r\n // arr buffer will clear all payloads if markAsSent() is called\r\n newBuffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](sentItems);\r\n }\r\n return newBuffer;\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 = _namePrefix ? _namePrefix + \"_\" + 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 = _namePrefix ? _namePrefix + \"_\" + 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// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.createNew.\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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport 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// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\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","/*\n * Application Insights JavaScript SDK - Channel, 3.0.7\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\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"],"names":["_DYN_FEATURE_OPT_IN","_DYN_ON_CFG_CHANGE_RECEIV0","_DYN_NON_OVERRIDE_CONFIGS","_DYN_SCHEDULE_FETCH_TIMEO1","replaceByNonOverrideCfg","cfg","nonOverrideConfigs","curLevel","maxLevel","exceedMaxLevel","curCfg_1","key","nonOverrideVal","e","_a","F","M","ON","OFF","applyCdnfeatureCfg","cdnCfg","core","enabled","config","optInMap","cdnConfig_1","featureVal","field","userOptInDetails","cdnFt","mode","cdnM","cdnOnV","onCfg","cdnOffV","offCfg","userFt","userM","userOnV","userOffV","blockCdn","blockCdnCfg","onFld","offFld","onV","offV","resolveCdnFeatureCfg","val","ftVal","dVal","target","_overrideCdnCfgByFeature","EVENT_NAME","udfVal","undefined","_defaultConfig","syncMode","blkCdnCfg","customEvtName","cfgUrl","overrideSyncFn","overrideFetchFn","instrumentationKey","connectionString","endpointUrl","CfgSyncPlugin","_super","_extensionConfig","_mainConfig","_evtName","_evtNamespace","_cfgUrl","_timeoutHandle","_receiveChanges","_broadcastChanges","_blkCdnCfg","_fetchTimeout","_retryCnt","_onCfgChangeReceive","_nonOverrideConfigs","_fetchFn","_overrideFetchFn","_overrideSyncFn","_this","call","this","priority","identifier","_paused","_self","_base","_initDefaults","_setCfg","isAutoSync","_sendCfgsyncEvents","updateCfg","_eventOff","global_1","customDetails","_updateEventListenerName","name","global_2","event","cfgEvent","detail","newCfg","level","_cfg","_replaceTartgetByKeys","_addEventListener","_fetchSender","url","oncomplete","global","fetchFn","fetch","request","Request","method","result","response","value","rejected","_doOnComplete","ok","text","res","status","_xhrSender","xhr_1","XMLHttpRequest","open","onreadystatechange","readyState","DONE","responseText","onerror","ontimeout","send","_onFetchComplete","JSON_1","parse","_setupTimer","unref","_clearScheduledTimer","cancel","initialize","extensions","pluginChain","evtNamespace","_addHook","ctx","getExtCfg","preBlkCdn","newEvtName","_getFetchFnInterface","_populateDefaults","getCfg","pause","resume","setCfg","sync","updateEventListenerName","eventName","_doTeardown","unloadCtx","unloadState","processTelemetry","env","itemCtx","processNext","__ieDyn","BaseTelemetryPlugin","STR_DURATION","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN_DATA","_DYN_NAME","_DYN_TRACE_ID","_DYN_LENGTH","_DYN_STRINGIFY","_DYN_MEASUREMENTS","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TO_STRING","_DYN_ON_LINE","_DYN_IS_ONLINE","_DYN__GET","_DYN_ENQUEUE","_DYN_COUNT","_DYN_EVENTS_LIMIT_IN_MEM","_DYN_PUSH","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_BATCH_PAYLOADS","_DYN_CREATE_NEW","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN__MAX__BUFFER__SIZE","_DYN_SEND_POST","_DYN_TRIGGER_SEND","_DYN_DIAG_LOG","_DYN__SENDER","_DYN_CUSTOM_HEADERS","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN_ALWAYS_USE_XHR_OVERR4","_DYN_ENABLE_SESSION_STORA5","_DYN__BUFFER","_DYN_ONUNLOAD_DISABLE_FET6","_DYN_DISABLE_SEND_BEACON_7","_DYN_INSTRUMENTATION_KEY","_DYN_CONVERT_UNDEFINED","_DYN_MAX_BATCH_INTERVAL","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_ACCEPTED","_DYN_ORI_PAYLOAD","_DYN_SET_REQUEST_HEADER","_DYN_EVENTS_SEND_REQUEST","_DYN_GET_SAMPLING_SCORE","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","data","properties","measurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","logger","envelopeType","telemetryItem","envelope","Envelope","startTime","time","iKey","iKeyNoDashes","replace","item","envTags","itmExt","ext","itmTags","extUser","user","authId","id","localId","extApp","app","sesId","extDevice","device","deviceClass","ip","model","web","browserLang","browserVer","browser","envData","envBaseData","envProps","domain","isManual","screenRes","userConsent","extOs","os","extTrace","trace","parentID","tgs","i","tg","splice","theTags","concat","EnvelopeCreator","Version","_extractPartAExtensions","EnvelopeCreatorInit","EventEnvelopeCreator","customProperties","customMeasurements","Event","eventData","Data","_disableEvents","_b","BaseSendBuffer","_buffer","_bufferFullMessageSent","_set","buffer","payload","size","lp","getItems","slice","join","newLogger","newConfig","canUseSessionStorage","items","newBuffer","SessionStorageSendBuffer","ArraySendBuffer","_namePrefix","namePrefix","getItem","setItem","bufferItems","_getBuffer","notDeliveredItems","_removePayloadsFromBuffer","payloads","remaining","prefixedKey","bufferJson","buffer_1","exception","_setBuffer","JSON","BUFFER_KEY","sentElements","Array","unsentItems","sentItems","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","Serializer","_serializeObject","source","circularReferenceCheck","output","aiDataContract","_serializeStringMap","_serializeArray","contract","isRequired","isHidden","isArray","isPresent","isObj","sources","map","expectedType","num","parseFloat","isNaN","serialize","input","HashCodeScoreGenerator","prototype","getHashCodeScore","getHashCode","INT_MAX_VALUE","hash","charCodeAt","Math","abs","SamplingScoreGenerator","hashCodeGenerator","keys","ContextTagKeys","userId","operationId","telemetryTrace","random","Sample","sampleRate","_logger","throwInternal","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","baseType","Metric","UNDEFINED_VALUE","_getResponseText","xhr","defaultAppInsightsChannelConfig","disableTelemetry","isRetryDisabled","disableXhr","httpXHROverride","isVal","v","EnvelopeTypeCreator","Trace","message","severityLevel","props","baseData","PageView","duration","currentContextId","bd","uri","refUri","pageType","isLoggedIn","pageTags","pageViewData","PageViewPerformance","Exception","exData","baseMetricData","average","sampleCount","min","max","stdDev","RemoteDependencyData","remoteDepData","success","responseCode","type","correlationContext","Sender","_consecutiveErrors","_retryAt","_serializer","_stamp_specific_redirects","_headers","_syncUnloadSender","_offlineListener","_endpointUrl","_orgEndpointUrl","_maxBatchSizeInBytes","_beaconSupported","_customHeaders","_disableTelemetry","_instrumentationKey","_convertUndefined","_isRetryDisabled","_maxBatchInterval","_sessionStorageUsed","_bufferOverrideUsed","_enableSendPromise","_alwaysUseCustomSend","_disableXhr","_fetchKeepAlive","_xhrSend","_fallbackSend","_disableBeaconSplit","_syncFetchPayload","_getSenderInterface","transports","syncSupport","transportType","sendPostFunc","_beaconSender","_xdrSender","_getOnComplete","headers","_onSuccess","_doSend","sendInterface","isAsync","markAsSent","payloadData","_getPayload","batch","urlString","disableXhrSync","disableFetchKeepAlive","_doFetchSender","_checkMaxSize","incomingPayload","incomingSize","_checkResponsStatus","responseUrl","countOfItemsInPayload","errorMessage","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_isRetriable","_resendPayload","isOnline","length","_doUnloadSend","_doBeaconSend","nav","plainTextBatch","Blob","queued","sendBeacon","droppedPayload","thePayload","thePromise","resolveFunc","rejectFunc","internalPayload","endPointUrl","headerName","oriPayload","_xhrReadyStateChange","_formatErrorMessageXhr","resolve","reject","_fetchKeepAliveSender","onComplete","payloadSize","requestHeaders","Headers","batchLength","ignoreResponse","responseHandled","append","init","body","keepalive","reason","response_1","resp","statusText","itemsReceived","itemsAccepted","errors","linearFactor","_i","payload_1","delayInSeconds","SlotDelayInSeconds","backOffSlot","pow","backOffDelay","floor","retryAfterTimeSpan","date","_setRetryTime","retryInterval","timerValue","statusCode","_window","xdr","XDomainRequest","onload","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","location","protocol","lastIndexOf","_sample","g","flush","callBack","sendReason","onunloadFlush","addHeader","isInitialized","diagLog","parentEvtNamespace","_document","_navigator","_isListening","_onlineStatus","_enableEvents","ononline","_setOnline","_setOffline","isListening","unload","win","createOfflineListener","details","storagePrefix","senderConfig","customHeader","header","bufferOverride","shouldUpdate","disableValidation","disableInstrumentationKeyValidation","RegExp","test","_validateInstrumentationKey","enableSendPromise","syncInterface","customInterface","httpInterface","xhrInterface","sendPOST","diagLogger","_getTelCtx","SampleRate","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","responseURL","async","forcedSender","sendRequest","manager","func","_getNotifyMgr","_notifySendRequest","Date","ieVer","results","failed","retry","errors_1","reverse","error","extracted","index","orig","convertUndefined"],"sourceRoot":""}