@microsoft/applicationinsights-analytics-js 3.0.0-beta.2208-14 → 3.0.0-beta.2208-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/browser/applicationinsights-analytics-js.integrity.json +9 -9
  2. package/browser/applicationinsights-analytics-js.js +1194 -1178
  3. package/browser/applicationinsights-analytics-js.js.map +1 -1
  4. package/browser/applicationinsights-analytics-js.min.js +2 -2
  5. package/browser/applicationinsights-analytics-js.min.js.map +1 -1
  6. package/dist/applicationinsights-analytics-js.api.json +6 -10
  7. package/dist/applicationinsights-analytics-js.d.ts +1 -1
  8. package/dist/applicationinsights-analytics-js.js +1194 -1178
  9. package/dist/applicationinsights-analytics-js.js.map +1 -1
  10. package/dist/applicationinsights-analytics-js.min.js +2 -2
  11. package/dist/applicationinsights-analytics-js.min.js.map +1 -1
  12. package/dist/applicationinsights-analytics-js.rollup.d.ts +1 -1
  13. package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js +2 -2
  14. package/dist-esm/JavaScriptSDK/AnalyticsPlugin.js.map +1 -1
  15. package/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js +1 -1
  16. package/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js +1 -1
  17. package/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js +1 -1
  18. package/dist-esm/JavaScriptSDK/Timing.js +1 -1
  19. package/dist-esm/JavaScriptSDK.Interfaces/ITelemetryConfig.js +1 -1
  20. package/dist-esm/__DynamicConstants.js +4 -4
  21. package/dist-esm/__DynamicConstants.js.map +1 -1
  22. package/dist-esm/applicationinsights-analytics-js.js +1 -1
  23. package/package.json +7 -6
  24. package/src/__DynamicConstants.ts +3 -3
  25. package/tsconfig.json +1 -1
  26. package/types/tsdoc-metadata.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2208-14
2
+ * Application Insights JavaScript SDK - Web Analytics, 3.0.0-beta.2208-19
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -13,33 +13,33 @@
13
13
  var strShimUndefined = "undefined";
14
14
  var strShimPrototype = "prototype";
15
15
  var strShimHasOwnProperty = "hasOwnProperty";
16
- var ObjClass = Object;
17
- var ObjProto = ObjClass[strShimPrototype];
18
- var ObjAssign = ObjClass["assign"];
19
- var ObjCreate = ObjClass["create"];
20
- var ObjDefineProperty = ObjClass["defineProperty"];
21
- var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];
16
+ var ObjClass$1 = Object;
17
+ var ObjProto$1 = ObjClass$1[strShimPrototype];
18
+ var ObjAssign = ObjClass$1["assign"];
19
+ var ObjCreate = ObjClass$1["create"];
20
+ var ObjDefineProperty = ObjClass$1["defineProperty"];
21
+ var ObjHasOwnProperty = ObjProto$1[strShimHasOwnProperty];
22
22
 
23
- var _cachedGlobal = null;
24
- function getGlobal(useCached) {
23
+ var _cachedGlobal$1 = null;
24
+ function getGlobal$1(useCached) {
25
25
  if (useCached === void 0) { useCached = true; }
26
- if (!_cachedGlobal || !useCached) {
26
+ if (!_cachedGlobal$1 || !useCached) {
27
27
  if (typeof globalThis !== strShimUndefined && globalThis) {
28
- _cachedGlobal = globalThis;
28
+ _cachedGlobal$1 = globalThis;
29
29
  }
30
30
  if (typeof self !== strShimUndefined && self) {
31
- _cachedGlobal = self;
31
+ _cachedGlobal$1 = self;
32
32
  }
33
33
  if (typeof window !== strShimUndefined && window) {
34
- _cachedGlobal = window;
34
+ _cachedGlobal$1 = window;
35
35
  }
36
36
  if (typeof global !== strShimUndefined && global) {
37
- _cachedGlobal = global;
37
+ _cachedGlobal$1 = global;
38
38
  }
39
39
  }
40
- return _cachedGlobal;
40
+ return _cachedGlobal$1;
41
41
  }
42
- function throwTypeError(message) {
42
+ function throwTypeError$1(message) {
43
43
  throw new TypeError(message);
44
44
  }
45
45
  function objCreateFn(obj) {
@@ -52,20 +52,20 @@
52
52
  }
53
53
  var type = typeof obj;
54
54
  if (type !== strShimObject && type !== strShimFunction) {
55
- throwTypeError("Object prototype may only be an Object:" + obj);
55
+ throwTypeError$1("Object prototype may only be an Object:" + obj);
56
56
  }
57
57
  function tmpFunc() { }
58
58
  tmpFunc[strShimPrototype] = obj;
59
59
  return new tmpFunc();
60
60
  }
61
61
 
62
- (getGlobal() || {})["Symbol"];
63
- (getGlobal() || {})["Reflect"];
62
+ (getGlobal$1() || {})["Symbol"];
63
+ (getGlobal$1() || {})["Reflect"];
64
64
  var __objAssignFnImpl = function (t) {
65
65
  for (var s, i = 1, n = arguments.length; i < n; i++) {
66
66
  s = arguments[i];
67
67
  for (var p in s) {
68
- if (ObjProto[strShimHasOwnProperty].call(s, p)) {
68
+ if (ObjProto$1[strShimHasOwnProperty].call(s, p)) {
69
69
  t[p] = s[p];
70
70
  }
71
71
  }
@@ -74,7 +74,7 @@
74
74
  };
75
75
  var __assignFn = ObjAssign || __objAssignFnImpl;
76
76
  var extendStaticsFn = function (d, b) {
77
- extendStaticsFn = ObjClass["setPrototypeOf"] ||
77
+ extendStaticsFn = ObjClass$1["setPrototypeOf"] ||
78
78
  ({ __proto__: [] } instanceof Array && function (d, b) {
79
79
  d.__proto__ = b;
80
80
  }) ||
@@ -89,7 +89,7 @@
89
89
  };
90
90
  function __extendsFn(d, b) {
91
91
  if (typeof b !== strShimFunction && b !== null) {
92
- throwTypeError("Class extends value " + String(b) + " is not a constructor or null");
92
+ throwTypeError$1("Class extends value " + String(b) + " is not a constructor or null");
93
93
  }
94
94
  extendStaticsFn(d, b);
95
95
  function __() {
@@ -113,13 +113,13 @@
113
113
  var DynAllowInstChkTag = DynInstChkTag;
114
114
  var DynProtoDefaultOptions = '_dfOpts';
115
115
  var UnknownValue = '_unknown_';
116
- var str__Proto$1 = "__proto__";
117
- var DynProtoBaseProto = "_dyn" + str__Proto$1;
116
+ var str__Proto = "__proto__";
117
+ var DynProtoBaseProto = "_dyn" + str__Proto;
118
118
  var DynProtoCurrent = "_dynInstProto";
119
119
  var strUseBaseInst = 'useBaseInst';
120
120
  var strSetInstFuncs = 'setInstFuncs';
121
121
  var Obj = Object;
122
- var _objGetPrototypeOf$1 = Obj["getPrototypeOf"];
122
+ var _objGetPrototypeOf = Obj["getPrototypeOf"];
123
123
  var _objGetOwnProps = Obj["getOwnPropertyNames"];
124
124
  var _dynamicNames = 0;
125
125
  function _hasOwnProperty(obj, prop) {
@@ -134,10 +134,10 @@
134
134
  function _getObjProto$1(target) {
135
135
  var newProto;
136
136
  if (target) {
137
- if (_objGetPrototypeOf$1) {
138
- return _objGetPrototypeOf$1(target);
137
+ if (_objGetPrototypeOf) {
138
+ return _objGetPrototypeOf(target);
139
139
  }
140
- var curProto = target[str__Proto$1] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
140
+ var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);
141
141
  newProto = target[DynProtoBaseProto] || curProto;
142
142
  if (!_hasOwnProperty(target, DynProtoBaseProto)) {
143
143
  delete target[DynProtoCurrent];
@@ -209,7 +209,7 @@
209
209
  var visited = [];
210
210
  while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {
211
211
  _forEachProp(baseProto, function (name) {
212
- if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf$1)) {
212
+ if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {
213
213
  baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);
214
214
  }
215
215
  });
@@ -289,7 +289,7 @@
289
289
  }
290
290
  }
291
291
  function _checkPrototype(classProto, thisTarget) {
292
- if (_objGetPrototypeOf$1) {
292
+ if (_objGetPrototypeOf) {
293
293
  var visited = [];
294
294
  var thisProto = _getObjProto$1(thisTarget);
295
295
  while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {
@@ -334,7 +334,7 @@
334
334
  var instFuncs = _getInstanceFuncs(target);
335
335
  var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);
336
336
  delegateFunc(target, baseFuncs);
337
- var setInstanceFunc = !!_objGetPrototypeOf$1 && !!perfOptions[strSetInstFuncs];
337
+ var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];
338
338
  if (setInstanceFunc && options) {
339
339
  setInstanceFunc = !!options[strSetInstFuncs];
340
340
  }
@@ -346,6 +346,340 @@
346
346
  };
347
347
  dynamicProto[DynProtoDefaultOptions] = perfDefaults;
348
348
 
349
+ var UNDEF_VALUE = undefined;
350
+ var EMPTY = "";
351
+ var BOOLEAN = "boolean";
352
+ var FUNCTION = "function";
353
+ var NUMBER = "number";
354
+ var OBJECT = "object";
355
+ var PROTOTYPE = "prototype";
356
+ var STRING = "string";
357
+ var UNDEFINED = "undefined";
358
+ var HAS_OWN_PROPERTY = "hasOwnProperty";
359
+ var INDEX_OF = "indexOf";
360
+ var LENGTH = "length";
361
+ var ObjClass = Object;
362
+ var ObjProto = ObjClass[PROTOTYPE];
363
+ var StrCls = String;
364
+ var StrProto = StrCls[PROTOTYPE];
365
+ var ArrCls = Array;
366
+
367
+ function _safeCheck(cb, defValue) {
368
+ var result = defValue;
369
+ try {
370
+ result = cb();
371
+ }
372
+ catch (e) {
373
+ }
374
+ return result;
375
+ }
376
+
377
+ function _createIs(theType) {
378
+ return function (value) {
379
+ return typeof value === theType;
380
+ };
381
+ }
382
+ function _createObjIs(theType) {
383
+ return function (value) {
384
+ return !!(value && objToString(value) === theType);
385
+ };
386
+ }
387
+ function objToString(value) {
388
+ return ObjProto.toString.call(value);
389
+ }
390
+ function isUndefined(value) {
391
+ return typeof value === UNDEFINED || value === UNDEFINED;
392
+ }
393
+ function isNullOrUndefined(value) {
394
+ return value === null || isUndefined(value);
395
+ }
396
+ function isDefined(arg) {
397
+ return !!arg || arg !== UNDEF_VALUE;
398
+ }
399
+ var isString = _createIs(STRING);
400
+ var isFunction = _createIs(FUNCTION);
401
+ function isObject(value) {
402
+ if (isNullOrUndefined(value)) {
403
+ return false;
404
+ }
405
+ return !!value && typeof value === OBJECT;
406
+ }
407
+ var isArray = ArrCls.isArray;
408
+ var isNumber = _createIs(NUMBER);
409
+ var isBoolean = _createIs(BOOLEAN);
410
+ var isError = _createObjIs("[object Error]");
411
+ function isTruthy(value) {
412
+ return !(!value || _safeCheck(function () { return !(value && (0 + value)); }, !value));
413
+ }
414
+
415
+ var DOCUMENT = "document";
416
+ var HISTORY = "history";
417
+ var NAVIGATOR = "navigator";
418
+ var WINDOW = "window";
419
+ var _cachedGlobal = null;
420
+ var _hasWindow = _safeCheck(function () { return isDefined(window); }, false);
421
+ var _hasDocument = _safeCheck(function () { return isDefined(document); }, false);
422
+ var _hasNavigator = _safeCheck(function () { return isDefined(navigator); }, false);
423
+ var _hasHistory = _safeCheck(function () { return isDefined(history); }, false);
424
+ _safeCheck(function () { return !!(self && self instanceof WorkerGlobalScope); }, false);
425
+ _safeCheck(function () { return !!(process && (process.versions || {}).node); }, false);
426
+ function getGlobal(useCached) {
427
+ var result = useCached === false ? null : _cachedGlobal;
428
+ if (!result) {
429
+ if (!result && typeof globalThis !== UNDEFINED) {
430
+ result = globalThis;
431
+ }
432
+ if (!result && typeof self !== UNDEFINED) {
433
+ result = self;
434
+ }
435
+ if (!result && typeof window !== UNDEFINED) {
436
+ result = window;
437
+ }
438
+ if (!result && typeof global !== UNDEFINED) {
439
+ result = global;
440
+ }
441
+ _cachedGlobal = result;
442
+ }
443
+ return result;
444
+ }
445
+ function getInst(name, useCached) {
446
+ var gbl = getGlobal(useCached);
447
+ if (gbl && gbl[name]) {
448
+ return gbl[name];
449
+ }
450
+ if (name === WINDOW && _hasWindow) {
451
+ return window;
452
+ }
453
+ return null;
454
+ }
455
+ function getDocument() {
456
+ return _hasDocument ? document : getInst(DOCUMENT);
457
+ }
458
+ function hasWindow() {
459
+ return !!getWindow();
460
+ }
461
+ function getWindow() {
462
+ return _hasWindow ? window : getInst(WINDOW);
463
+ }
464
+ function getNavigator() {
465
+ return _hasNavigator ? navigator : getInst(NAVIGATOR);
466
+ }
467
+ function hasHistory() {
468
+ return !!getHistory();
469
+ }
470
+ function getHistory() {
471
+ return _hasHistory ? history : getInst(HISTORY);
472
+ }
473
+
474
+ function objHasOwnProperty(obj, prop) {
475
+ return obj && ObjProto[HAS_OWN_PROPERTY].call(obj, prop);
476
+ }
477
+
478
+ function objForEachKey(theObject, callbackfn, thisArg) {
479
+ if (theObject && isObject(theObject)) {
480
+ for (var prop in theObject) {
481
+ if (objHasOwnProperty(theObject, prop)) {
482
+ if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
483
+ break;
484
+ }
485
+ }
486
+ }
487
+ }
488
+ }
489
+
490
+ function arrForEach(arr, callbackfn, thisArg) {
491
+ if (arr) {
492
+ var len = arr[LENGTH];
493
+ for (var idx = 0; idx < len; idx++) {
494
+ if (idx in arr) {
495
+ if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {
496
+ break;
497
+ }
498
+ }
499
+ }
500
+ }
501
+ }
502
+
503
+ function throwError(message) {
504
+ throw new Error(message);
505
+ }
506
+ function throwTypeError(message) {
507
+ throw new TypeError(message);
508
+ }
509
+
510
+ var _objFreeze = ObjClass["freeze"];
511
+ function _doNothing(value) {
512
+ return value;
513
+ }
514
+ function objKeys(value) {
515
+ if (!isObject(value) || value === null) {
516
+ throwTypeError("objKeys called on non-object");
517
+ }
518
+ return ObjClass.keys(value);
519
+ }
520
+ function objDeepFreeze(value) {
521
+ if (_objFreeze) {
522
+ objForEachKey(value, function (key, value) {
523
+ if (isArray(value) || isObject(value)) {
524
+ _objFreeze(value);
525
+ }
526
+ });
527
+ }
528
+ return objFreeze(value);
529
+ }
530
+ var objFreeze = _objFreeze || _doNothing;
531
+
532
+ function createEnum(values) {
533
+ var theEnum = {};
534
+ objForEachKey(values, function (field, value) {
535
+ theEnum[field] = value;
536
+ theEnum[value] = field;
537
+ });
538
+ return objDeepFreeze(theEnum);
539
+ }
540
+
541
+ function dumpObj(object, format) {
542
+ var objectTypeDump = objToString(object);
543
+ var propertyValueDump = "";
544
+ if (objectTypeDump === "[object Error]") {
545
+ propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
546
+ }
547
+ else {
548
+ if (format) {
549
+ if (isNumber(format)) {
550
+ propertyValueDump = JSON.stringify(object, null, format);
551
+ }
552
+ else {
553
+ propertyValueDump = JSON.stringify(object, null, format ? 4 : 0);
554
+ }
555
+ }
556
+ else {
557
+ propertyValueDump = JSON.stringify(object);
558
+ }
559
+ }
560
+ return objectTypeDump + ": " + propertyValueDump;
561
+ }
562
+
563
+ function _unwrapFunction(funcName) {
564
+ return function (thisArg) {
565
+ var args = [];
566
+ for (var _i = 1; _i < arguments.length; _i++) {
567
+ args[_i - 1] = arguments[_i];
568
+ }
569
+ if ((thisArg || thisArg === EMPTY) && thisArg[funcName]) {
570
+ return thisArg[funcName].apply(thisArg, args);
571
+ }
572
+ throwTypeError("'" + funcName + "' not defined for " + dumpObj(thisArg));
573
+ };
574
+ }
575
+
576
+ var arrMap = _unwrapFunction("map");
577
+
578
+ function objSetPrototypeOf(obj, proto) {
579
+ var fn = ObjClass["setPrototypeOf"] ||
580
+ ({ __proto__: [] } instanceof Array && function (d, b) {
581
+ d.__proto__ = b;
582
+ }) ||
583
+ function (d, b) {
584
+ objForEachKey(b, function (key, value) {
585
+ d[key] = value;
586
+ });
587
+ };
588
+ return fn(obj, proto);
589
+ }
590
+
591
+ function _createCustomError(name, d, b) {
592
+ objSetPrototypeOf(d, b);
593
+ function __() {
594
+ this.constructor = d;
595
+ }
596
+ __[PROTOTYPE] = b[PROTOTYPE];
597
+ __[PROTOTYPE].name = name;
598
+ d[PROTOTYPE] = new __();
599
+ return d;
600
+ }
601
+ function createCustomError(name, constructCb) {
602
+ var baseClass = Error;
603
+ var customError = _createCustomError(name, function () {
604
+ var _this = this;
605
+ _this = baseClass.apply(_this, arguments) || _this;
606
+ constructCb && constructCb(_this, arguments);
607
+ return _this;
608
+ }, baseClass);
609
+ return customError;
610
+ }
611
+ var _unsupportedError;
612
+ function throwUnsupported(message) {
613
+ if (!_unsupportedError) {
614
+ _unsupportedError = createCustomError("UnsupportedError");
615
+ }
616
+ throw new _unsupportedError(message);
617
+ }
618
+
619
+ var _objDefineProperty$1 = ObjClass["defineProperty"];
620
+ function objDefineProp(target, key, descriptor) {
621
+ if (_objDefineProperty$1) {
622
+ _objDefineProperty$1(target, key, descriptor);
623
+ return target;
624
+ }
625
+ throwUnsupported("Unable to define property [" + objToString(key) + "] on " + dumpObj(target));
626
+ }
627
+ function objDefineAccessors(target, prop, getProp, setProp, configurable) {
628
+ if (_objDefineProperty$1) {
629
+ try {
630
+ var descriptor = {
631
+ enumerable: true,
632
+ configurable: isUndefined(configurable) ? true : configurable
633
+ };
634
+ if (getProp) {
635
+ descriptor.get = getProp;
636
+ }
637
+ if (setProp) {
638
+ descriptor.set = setProp;
639
+ }
640
+ return objDefineProp(target, prop, descriptor);
641
+ }
642
+ catch (e) {
643
+ throwUnsupported("Unable to define accessors for [" + objToString(prop) + "] on " + dumpObj(target));
644
+ }
645
+ }
646
+ }
647
+
648
+ var strSubstring = _unwrapFunction("substring");
649
+
650
+ var ENDS_WITH = "endsWith";
651
+ var strEndsWith = StrProto[ENDS_WITH] ? _unwrapFunction(ENDS_WITH) : polyStrEndsWith;
652
+ function polyStrEndsWith(value, searchString, length) {
653
+ if (!isString(value)) {
654
+ throwTypeError("'" + dumpObj(value) + "' is not a string");
655
+ }
656
+ var searchValue = isString(searchString) ? searchString : "" + searchString;
657
+ var chkLen = searchValue[LENGTH];
658
+ var len = value[LENGTH];
659
+ var end = !isUndefined(length) && length < len ? length : len;
660
+ return strSubstring(value, end - chkLen, end) === searchValue;
661
+ }
662
+
663
+ var strIndexOf = _unwrapFunction(INDEX_OF);
664
+
665
+ function _createTrimFn(exp) {
666
+ return function _doTrim(value) {
667
+ if (isNullOrUndefined(value)) {
668
+ throwTypeError("strTrim called [" + dumpObj(value) + "]");
669
+ }
670
+ if (value && value.replace) {
671
+ value = value.replace(exp, "");
672
+ }
673
+ return value;
674
+ };
675
+ }
676
+ var polyStrTrim = _createTrimFn(/^\s+|(?=\s)\s+$/g);
677
+
678
+ var TRIM = "trim";
679
+ var strTrim = StrProto[TRIM] ? _unwrapFunction(TRIM) : polyStrTrim;
680
+
681
+ var createEnumStyle = createEnum;
682
+
349
683
  var _DYN_INITIALIZE = "initialize";
350
684
  var _DYN_NAME$1 = "name";
351
685
  var _DYN_IDENTIFIER = "identifier";
@@ -370,11 +704,9 @@
370
704
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
371
705
  var _DYN_CREATE_NEW = "createNew";
372
706
  var _DYN_COOKIE_CFG = "cookieCfg";
373
- var _DYN_INDEX_OF$1 = "indexOf";
374
707
  var _DYN_SUBSTRING$1 = "substring";
375
708
  var _DYN_USER_AGENT = "userAgent";
376
709
  var _DYN_SPLIT$1 = "split";
377
- var _DYN_SET_ENABLED = "setEnabled";
378
710
  var _DYN_SUBSTR = "substr";
379
711
  var _DYN_NODE_TYPE = "nodeType";
380
712
  var _DYN_APPLY = "apply";
@@ -382,9 +714,9 @@
382
714
  var _DYN_ENABLE_DEBUG_EXCEPTI4 = "enableDebugExceptions";
383
715
  var _DYN_LOG_INTERNAL_MESSAGE = "logInternalMessage";
384
716
  var _DYN_TO_LOWER_CASE$1 = "toLowerCase";
385
- var _DYN_CALL = "call";
386
717
  var _DYN_TYPE = "type";
387
718
  var _DYN_HANDLER = "handler";
719
+ var _DYN_CALL = "call";
388
720
  var _DYN_IS_CHILD_EVT = "isChildEvt";
389
721
  var _DYN_GET_CTX = "getCtx";
390
722
  var _DYN_SET_CTX = "setCtx";
@@ -400,59 +732,44 @@
400
732
  var STR_WARN_TO_CONSOLE = "warnToConsole";
401
733
  var STR_GET_PERF_MGR = "getPerfMgr";
402
734
 
735
+ var _aiNamespace = null;
736
+ function _getExtensionNamespace() {
737
+ var target = getInst("Microsoft");
738
+ if (target) {
739
+ _aiNamespace = target["ApplicationInsights"];
740
+ }
741
+ return _aiNamespace;
742
+ }
743
+ function getDebugExt(config) {
744
+ var ns = _aiNamespace;
745
+ if (!ns && config.disableDbgExt !== true) {
746
+ ns = _aiNamespace || _getExtensionNamespace();
747
+ }
748
+ return ns ? ns["ChromeDbgExt"] : null;
749
+ }
750
+
751
+ var cString = "String";
752
+ var cObject = "Object";
403
753
  var strToISOString = "toISOString";
404
- var cStrEndsWith = "endsWith";
405
- var strMap = "map";
406
- var cStrTrim = "trim";
407
754
  var strToString = "toString";
408
- var str__Proto = "__proto__";
755
+ var strGetPrototypeOf = "getPrototypeOf";
409
756
  var strConstructor = "constructor";
410
- var _objDefineProperty$1 = ObjDefineProperty;
411
- var _objFreeze = ObjClass.freeze;
412
- var _objKeys = ObjClass.keys;
413
- var StringProto = String[strShimPrototype];
414
- var _strTrim = StringProto[cStrTrim];
415
- var _strEndsWith = StringProto[cStrEndsWith];
416
757
  var DateProto = Date[strShimPrototype];
417
- var _dataToISOString = DateProto[strToISOString];
418
- var _isArray = Array.isArray;
419
- var _objToString = ObjProto[strToString];
420
- var _fnToString = ObjHasOwnProperty[strToString];
421
- var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass);
758
+ var _dateToISOString = DateProto[strToISOString] || _polyfillRequired("Date", strToISOString);
759
+ var _fnToString = ObjHasOwnProperty[strToString] || _polyfillRequired(cString, strToString);
760
+ var _objFunctionString = _fnToString[_DYN_CALL ](ObjClass$1);
422
761
  var rCamelCase = /-([a-z])/g;
423
762
  var rNormalizeInvalid = /([^\w\d_$])/g;
424
763
  var rLeadingNumeric = /^(\d+[\w\d_$])/;
425
- var _objGetPrototypeOf = Object["getPrototypeOf"];
426
- function _getObjProto(target) {
427
- if (target) {
428
- if (_objGetPrototypeOf) {
429
- return _objGetPrototypeOf(target);
430
- }
431
- var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];
432
- if (newProto) {
433
- return newProto;
434
- }
435
- }
436
- return null;
437
- }
438
- function isUndefined(value) {
439
- return value === undefined || typeof value === strShimUndefined;
440
- }
441
- function isNullOrUndefined(value) {
442
- return (value === null || isUndefined(value));
764
+ function _polyfillRequired(object, name) {
765
+ return function () {
766
+ throwUnsupported("Polyfill required for [" + name + "]");
767
+ };
443
768
  }
769
+ var _getObjProto = Object[strGetPrototypeOf] || _polyfillRequired(cObject, strGetPrototypeOf);
444
770
  function isNotNullOrUndefined(value) {
445
771
  return !isNullOrUndefined(value);
446
772
  }
447
- function hasOwnProperty(obj, prop) {
448
- return !!(obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop));
449
- }
450
- function isObject(value) {
451
- return !!(value && typeof value === strShimObject);
452
- }
453
- function isFunction(value) {
454
- return !!(value && typeof value === strShimFunction);
455
- }
456
773
  function normalizeJsName(name) {
457
774
  var value = name;
458
775
  if (value && isString(value)) {
@@ -466,61 +783,16 @@
466
783
  }
467
784
  return value;
468
785
  }
469
- function objForEachKey(target, callbackfn) {
470
- if (target) {
471
- for (var prop in target) {
472
- if (ObjHasOwnProperty[_DYN_CALL ](target, prop)) {
473
- callbackfn[_DYN_CALL ](target, prop, target[prop]);
474
- }
475
- }
476
- }
477
- }
478
- function strEndsWith(value, search) {
479
- var result = false;
480
- if (value && search && !(result = value === search)) {
481
- result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);
482
- }
483
- return result;
484
- }
485
- function _strEndsWithPoly(value, search) {
486
- var result = false;
487
- var searchLen = search ? search[_DYN_LENGTH$2 ] : 0;
488
- var valLen = value ? value[_DYN_LENGTH$2 ] : 0;
489
- if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {
490
- var pos = valLen - 1;
491
- for (var lp = searchLen - 1; lp >= 0; lp--) {
492
- if (value[pos] != search[lp]) {
493
- return false;
494
- }
495
- pos--;
496
- }
497
- result = true;
498
- }
499
- return result;
500
- }
501
786
  function strContains(value, search) {
502
787
  if (value && search) {
503
- return value[_DYN_INDEX_OF$1 ](search) !== -1;
788
+ return strIndexOf(value, search) !== -1;
504
789
  }
505
790
  return false;
506
791
  }
507
- var isArray = _isArray || _isArrayPoly;
508
- function _isArrayPoly(obj) {
509
- return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Array]");
510
- }
511
- function isError(obj) {
512
- return !!(obj && _objToString[_DYN_CALL ](obj) === "[object Error]");
513
- }
514
- function isString(value) {
515
- return typeof value === "string";
516
- }
517
- function isBoolean(value) {
518
- return typeof value === "boolean";
519
- }
520
792
  function isPlainObject(value) {
521
793
  var result = false;
522
794
  if (value && typeof value === "object") {
523
- var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);
795
+ var proto = _getObjProto(value);
524
796
  if (!proto) {
525
797
  result = true;
526
798
  }
@@ -534,156 +806,25 @@
534
806
  return result;
535
807
  }
536
808
  function toISOString(date) {
537
- if (date) {
538
- return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);
539
- }
809
+ return _dateToISOString[_DYN_CALL ](date);
540
810
  }
541
- function _toISOStringPoly(date) {
542
- if (date && date.getUTCFullYear) {
543
- var pad = function (num) {
544
- var r = String(num);
545
- if (r[_DYN_LENGTH$2 ] === 1) {
546
- r = "0" + r;
547
- }
548
- return r;
549
- };
550
- return date.getUTCFullYear()
551
- + "-" + pad(date.getUTCMonth() + 1)
552
- + "-" + pad(date.getUTCDate())
553
- + "T" + pad(date.getUTCHours())
554
- + ":" + pad(date.getUTCMinutes())
555
- + ":" + pad(date.getUTCSeconds())
556
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
557
- + "Z";
811
+ function dateNow() {
812
+ var dt = Date;
813
+ return dt.now ? dt.now() : new dt().getTime();
814
+ }
815
+ function getExceptionName(object) {
816
+ if (isError(object)) {
817
+ return object[_DYN_NAME$1 ];
558
818
  }
819
+ return STR_EMPTY;
559
820
  }
560
- function arrForEach(arr, callbackfn, thisArg) {
561
- var len = arr[_DYN_LENGTH$2 ];
562
- try {
563
- for (var idx = 0; idx < len; idx++) {
564
- if (idx in arr) {
565
- if (callbackfn[_DYN_CALL ](thisArg || arr, arr[idx], idx, arr) === -1) {
566
- break;
567
- }
568
- }
569
- }
570
- }
571
- catch (e) {
572
- }
573
- }
574
- function arrMap(arr, callbackfn, thisArg) {
575
- var results;
576
- if (arr) {
577
- if (arr[strMap]) {
578
- return arr[strMap](callbackfn, thisArg);
579
- }
580
- var len = arr[_DYN_LENGTH$2 ];
581
- var _this = thisArg || arr;
582
- results = new Array(len);
583
- try {
584
- for (var lp = 0; lp < len; lp++) {
585
- if (lp in arr) {
586
- results[lp] = callbackfn[_DYN_CALL ](_this, arr[lp], arr);
587
- }
588
- }
589
- }
590
- catch (e) {
591
- }
592
- }
593
- return results;
594
- }
595
- function strTrim(str) {
596
- if (str) {
597
- str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE ] ? str[_DYN_REPLACE ](/^\s+|\s+$/g, STR_EMPTY) : str);
598
- }
599
- return str;
600
- }
601
- var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
602
- var _objKeysDontEnums = [
603
- "toString",
604
- "toLocaleString",
605
- "valueOf",
606
- "hasOwnProperty",
607
- "isPrototypeOf",
608
- "propertyIsEnumerable",
609
- "constructor"
610
- ];
611
- function objKeys(obj) {
612
- var objType = typeof obj;
613
- if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
614
- throwTypeError("objKeys called on non-object");
615
- }
616
- if (!_objKeysHasDontEnumBug && _objKeys) {
617
- return _objKeys(obj);
618
- }
619
- var result = [];
620
- for (var prop in obj) {
621
- if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, prop)) {
622
- result[_DYN_PUSH ](prop);
623
- }
624
- }
625
- if (_objKeysHasDontEnumBug) {
626
- var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH$2 ];
627
- for (var lp = 0; lp < dontEnumsLength; lp++) {
628
- if (obj && ObjHasOwnProperty[_DYN_CALL ](obj, _objKeysDontEnums[lp])) {
629
- result[_DYN_PUSH ](_objKeysDontEnums[lp]);
630
- }
631
- }
632
- }
633
- return result;
634
- }
635
- function objDefineAccessors(target, prop, getProp, setProp) {
636
- if (_objDefineProperty$1) {
637
- try {
638
- var descriptor = {
639
- enumerable: true,
640
- configurable: true
641
- };
642
- if (getProp) {
643
- descriptor.get = getProp;
644
- }
645
- if (setProp) {
646
- descriptor.set = setProp;
647
- }
648
- _objDefineProperty$1(target, prop, descriptor);
649
- return true;
650
- }
651
- catch (e) {
652
- }
653
- }
654
- return false;
655
- }
656
- function _doNothing(value) {
657
- return value;
658
- }
659
- function deepFreeze(obj) {
660
- if (_objFreeze) {
661
- objForEachKey(obj, function (name, value) {
662
- if (isArray(value) || isObject(value)) {
663
- _objFreeze(value);
664
- }
665
- });
666
- }
667
- return objFreeze(obj);
668
- }
669
- var objFreeze = _objFreeze || _doNothing;
670
- function dateNow() {
671
- var dt = Date;
672
- return dt.now ? dt.now() : new dt().getTime();
673
- }
674
- function getExceptionName(object) {
675
- if (isError(object)) {
676
- return object[_DYN_NAME$1 ];
677
- }
678
- return STR_EMPTY;
679
- }
680
- function setValue(target, field, value, valChk, srcChk) {
681
- var theValue = value;
682
- if (target) {
683
- theValue = target[field];
684
- if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
685
- theValue = value;
686
- target[field] = theValue;
821
+ function setValue(target, field, value, valChk, srcChk) {
822
+ var theValue = value;
823
+ if (target) {
824
+ theValue = target[field];
825
+ if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {
826
+ theValue = value;
827
+ target[field] = theValue;
687
828
  }
688
829
  }
689
830
  return theValue;
@@ -691,12 +832,6 @@
691
832
  function getCfgValue(theValue, defaultValue) {
692
833
  return !isNullOrUndefined(theValue) ? theValue : defaultValue;
693
834
  }
694
- function isTruthy(value) {
695
- return !!value;
696
- }
697
- function throwError(message) {
698
- throw new Error(message);
699
- }
700
835
  function _createProxyFunction(source, funcName) {
701
836
  var srcFunc = null;
702
837
  var src = null;
@@ -768,19 +903,6 @@
768
903
  return extended;
769
904
  }
770
905
 
771
- function createEnumStyle(values) {
772
- var enumClass = {};
773
- objForEachKey(values, function (field, value) {
774
- enumClass[field] = value;
775
- enumClass[value] = field;
776
- });
777
- return deepFreeze(enumClass);
778
- }
779
-
780
- var strWindow = "window";
781
- var strDocument = "document";
782
- var strNavigator = "navigator";
783
- var strHistory = "history";
784
906
  var strLocation = "location";
785
907
  var strConsole = "console";
786
908
  var strPerformance = "performance";
@@ -792,55 +914,9 @@
792
914
  var _isTrident = null;
793
915
  var _navUserAgentCheck = null;
794
916
  var _enableMocks = false;
795
- function getGlobalInst(name) {
796
- var gbl = getGlobal();
797
- if (gbl && gbl[name]) {
798
- return gbl[name];
799
- }
800
- if (name === strWindow && hasWindow()) {
801
- return window;
802
- }
803
- return null;
804
- }
805
- function hasWindow() {
806
- return Boolean(typeof window === strShimObject && window);
807
- }
808
- function getWindow() {
809
- if (hasWindow()) {
810
- return window;
811
- }
812
- return getGlobalInst(strWindow);
813
- }
814
- function hasDocument() {
815
- return Boolean(typeof document === strShimObject && document);
816
- }
817
- function getDocument() {
818
- if (hasDocument()) {
819
- return document;
820
- }
821
- return getGlobalInst(strDocument);
822
- }
823
- function hasNavigator() {
824
- return Boolean(typeof navigator === strShimObject && navigator);
825
- }
826
- function getNavigator() {
827
- if (hasNavigator()) {
828
- return navigator;
829
- }
830
- return getGlobalInst(strNavigator);
831
- }
832
- function hasHistory() {
833
- return Boolean(typeof history === strShimObject && history);
834
- }
835
- function getHistory() {
836
- if (hasHistory()) {
837
- return history;
838
- }
839
- return getGlobalInst(strHistory);
840
- }
841
917
  function getLocation(checkForMock) {
842
918
  if (checkForMock && _enableMocks) {
843
- var mockLocation = getGlobalInst("__mockLocation");
919
+ var mockLocation = getInst("__mockLocation");
844
920
  if (mockLocation) {
845
921
  return mockLocation;
846
922
  }
@@ -848,31 +924,31 @@
848
924
  if (typeof location === strShimObject && location) {
849
925
  return location;
850
926
  }
851
- return getGlobalInst(strLocation);
927
+ return getInst(strLocation);
852
928
  }
853
929
  function getConsole() {
854
930
  if (typeof console !== strShimUndefined) {
855
931
  return console;
856
932
  }
857
- return getGlobalInst(strConsole);
933
+ return getInst(strConsole);
858
934
  }
859
935
  function getPerformance() {
860
- return getGlobalInst(strPerformance);
936
+ return getInst(strPerformance);
861
937
  }
862
938
  function hasJSON() {
863
- return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);
939
+ return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);
864
940
  }
865
941
  function getJSON() {
866
942
  if (hasJSON()) {
867
- return JSON || getGlobalInst(strJSON);
943
+ return JSON || getInst(strJSON);
868
944
  }
869
945
  return null;
870
946
  }
871
947
  function getCrypto() {
872
- return getGlobalInst(strCrypto);
948
+ return getInst(strCrypto);
873
949
  }
874
950
  function getMsCrypto() {
875
- return getGlobalInst(strMsCrypto);
951
+ return getInst(strMsCrypto);
876
952
  }
877
953
  function isIE() {
878
954
  var nav = getNavigator();
@@ -883,33 +959,6 @@
883
959
  }
884
960
  return _isTrident;
885
961
  }
886
- function dumpObj(object) {
887
- var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL ](object);
888
- var propertyValueDump = STR_EMPTY;
889
- if (objectTypeDump === "[object Error]") {
890
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object[_DYN_NAME$1 ] + "'";
891
- }
892
- else if (hasJSON()) {
893
- propertyValueDump = getJSON().stringify(object);
894
- }
895
- return objectTypeDump + propertyValueDump;
896
- }
897
-
898
- var _aiNamespace = null;
899
- function _getExtensionNamespace() {
900
- var target = getGlobalInst("Microsoft");
901
- if (target) {
902
- _aiNamespace = target["ApplicationInsights"];
903
- }
904
- return _aiNamespace;
905
- }
906
- function getDebugExt(config) {
907
- var ns = _aiNamespace;
908
- if (!ns && config.disableDbgExt !== true) {
909
- ns = _aiNamespace || _getExtensionNamespace();
910
- }
911
- return ns ? ns["ChromeDbgExt"] : null;
912
- }
913
962
 
914
963
  var AiNonUserActionablePrefix = "AI (Internal): ";
915
964
  var AiUserActionablePrefix = "AI: ";
@@ -1079,14 +1128,13 @@
1079
1128
  var PerfEvent = /** @class */ (function () {
1080
1129
  function PerfEvent(name, payloadDetails, isAsync) {
1081
1130
  var _self = this;
1082
- var accessorDefined = false;
1083
1131
  _self.start = dateNow();
1084
1132
  _self[_DYN_NAME$1 ] = name;
1085
1133
  _self[_DYN_IS_ASYNC ] = isAsync;
1086
1134
  _self[_DYN_IS_CHILD_EVT ] = function () { return false; };
1087
1135
  if (isFunction(payloadDetails)) {
1088
1136
  var theDetails_1;
1089
- accessorDefined = objDefineAccessors(_self, "payload", function () {
1137
+ objDefineAccessors(_self, "payload", function () {
1090
1138
  if (!theDetails_1 && isFunction(payloadDetails)) {
1091
1139
  theDetails_1 = payloadDetails();
1092
1140
  payloadDetails = null;
@@ -1134,9 +1182,6 @@
1134
1182
  _self[_DYN_TIME ] = dateNow() - _self.start;
1135
1183
  _self.exTime = _self[_DYN_TIME ] - childTime;
1136
1184
  _self[_DYN_COMPLETE ] = function () { };
1137
- if (!accessorDefined && isFunction(payloadDetails)) {
1138
- _self.payload = payloadDetails();
1139
- }
1140
1185
  };
1141
1186
  }
1142
1187
  PerfEvent.ParentContextKey = "parent";
@@ -1256,7 +1301,7 @@
1256
1301
  }
1257
1302
 
1258
1303
  var _objDefineProperty = ObjDefineProperty;
1259
- var version = "3.0.0-beta.2208-14";
1304
+ var version = "3.0.0-beta.2208-19";
1260
1305
  var instanceName = "." + newId(6);
1261
1306
  var _dataUid = 0;
1262
1307
  function _createAccessor(target, prop, value) {
@@ -1327,510 +1372,89 @@
1327
1372
  return data;
1328
1373
  }
1329
1374
 
1330
- var strToGMTString = "toGMTString";
1331
- var strToUTCString = "toUTCString";
1332
- var strCookie = "cookie";
1333
- var strExpires = "expires";
1334
- var strEnabled = "enabled";
1335
- var strIsCookieUseDisabled = "isCookieUseDisabled";
1336
- var strDisableCookiesUsage = "disableCookiesUsage";
1337
- var strConfigCookieMgr = "_ckMgr";
1338
- var _supportsCookies = null;
1339
- var _allowUaSameSite = null;
1340
- var _parsedCookieValue = null;
1341
- var _doc = getDocument();
1342
- var _cookieCache = {};
1343
- var _globalCookieConfig = {};
1344
- function _gblCookieMgr(config, logger) {
1345
- var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1346
- if (!inst) {
1347
- inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
1348
- _globalCookieConfig[strConfigCookieMgr] = inst;
1375
+ function generateW3CId() {
1376
+ var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1377
+ var oct = STR_EMPTY, tmp;
1378
+ for (var a = 0; a < 4; a++) {
1379
+ tmp = random32();
1380
+ oct +=
1381
+ hexValues[tmp & 0xF] +
1382
+ hexValues[tmp >> 4 & 0xF] +
1383
+ hexValues[tmp >> 8 & 0xF] +
1384
+ hexValues[tmp >> 12 & 0xF] +
1385
+ hexValues[tmp >> 16 & 0xF] +
1386
+ hexValues[tmp >> 20 & 0xF] +
1387
+ hexValues[tmp >> 24 & 0xF] +
1388
+ hexValues[tmp >> 28 & 0xF];
1349
1389
  }
1350
- return inst;
1390
+ var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1391
+ return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
1351
1392
  }
1352
- function _isMgrEnabled(cookieMgr) {
1353
- if (cookieMgr) {
1354
- return cookieMgr.isEnabled();
1393
+
1394
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
1395
+ var INVALID_SPAN_ID = "0000000000000000";
1396
+ function _isValid(value, len, invalidValue) {
1397
+ if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
1398
+ return !!value.match(/^[\da-f]*$/);
1355
1399
  }
1356
- return true;
1400
+ return false;
1357
1401
  }
1358
- function _createCookieMgrConfig(rootConfig) {
1359
- var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1360
- setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1361
- setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1362
- if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1363
- var cookieEnabled = void 0;
1364
- if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1365
- cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1366
- }
1367
- if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1368
- cookieEnabled = !rootConfig[strDisableCookiesUsage];
1402
+ function isValidTraceId(value) {
1403
+ return _isValid(value, 32, INVALID_TRACE_ID);
1404
+ }
1405
+ function isValidSpanId(value) {
1406
+ return _isValid(value, 16, INVALID_SPAN_ID);
1407
+ }
1408
+
1409
+ var pluginStateData = createElmNodeData("plugin");
1410
+ function _getPluginState(plugin) {
1411
+ return pluginStateData.get(plugin, "state", {}, true);
1412
+ }
1413
+
1414
+ var strTelemetryPluginChain = "TelemetryPluginChain";
1415
+ var strHasRunFlags = "_hasRun";
1416
+ var strGetTelCtx = "_getTelCtx";
1417
+ var _chainId = 0;
1418
+ function _getNextProxyStart(proxy, core, startAt) {
1419
+ while (proxy) {
1420
+ if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
1421
+ return proxy;
1369
1422
  }
1370
- cookieMgrCfg[strEnabled] = cookieEnabled;
1423
+ proxy = proxy[_DYN_GET_NEXT ]();
1371
1424
  }
1372
- return cookieMgrCfg;
1425
+ return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1373
1426
  }
1374
- function safeGetCookieMgr(core, config) {
1375
- var cookieMgr;
1376
- if (core) {
1377
- cookieMgr = core.getCookieMgr();
1427
+ function _createInternalContext(telemetryChain, config, core, startAt) {
1428
+ var _nextProxy = null;
1429
+ var _onComplete = [];
1430
+ if (startAt !== null) {
1431
+ _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1378
1432
  }
1379
- else if (config) {
1380
- var cookieCfg = config[_DYN_COOKIE_CFG ];
1381
- if (cookieCfg[strConfigCookieMgr]) {
1382
- cookieMgr = cookieCfg[strConfigCookieMgr];
1383
- }
1384
- else {
1385
- cookieMgr = createCookieMgr(config);
1386
- }
1387
- }
1388
- if (!cookieMgr) {
1389
- cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
1390
- }
1391
- return cookieMgr;
1392
- }
1393
- function createCookieMgr(rootConfig, logger) {
1394
- var _a;
1395
- var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1396
- var _path = cookieMgrConfig.path || "/";
1397
- var _domain = cookieMgrConfig.domain;
1398
- var _enabled = cookieMgrConfig[strEnabled] !== false;
1399
- var cookieMgr = (_a = {
1400
- isEnabled: function () {
1401
- var enabled = _enabled && areCookiesSupported(logger);
1402
- var gblManager = _globalCookieConfig[strConfigCookieMgr];
1403
- if (enabled && gblManager && cookieMgr !== gblManager) {
1404
- enabled = _isMgrEnabled(gblManager);
1405
- }
1406
- return enabled;
1407
- }
1408
- },
1409
- _a[_DYN_SET_ENABLED ] = function (value) {
1410
- _enabled = value !== false;
1411
- },
1412
- _a.set = function (name, value, maxAgeSec, domain, path) {
1413
- var result = false;
1414
- if (_isMgrEnabled(cookieMgr)) {
1415
- var values = {};
1416
- var theValue = strTrim(value || STR_EMPTY);
1417
- var idx = theValue[_DYN_INDEX_OF$1 ](";");
1418
- if (idx !== -1) {
1419
- theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
1420
- values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
1421
- }
1422
- setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
1423
- if (!isNullOrUndefined(maxAgeSec)) {
1424
- var _isIE = isIE();
1425
- if (isUndefined(values[strExpires])) {
1426
- var nowMs = dateNow();
1427
- var expireMs = nowMs + (maxAgeSec * 1000);
1428
- if (expireMs > 0) {
1429
- var expiry = new Date();
1430
- expiry.setTime(expireMs);
1431
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
1432
- }
1433
- }
1434
- if (!_isIE) {
1435
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
1436
- }
1437
- }
1438
- var location_1 = getLocation();
1439
- if (location_1 && location_1.protocol === "https:") {
1440
- setValue(values, "secure", null, null, isUndefined);
1441
- if (_allowUaSameSite === null) {
1442
- _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
1443
- }
1444
- if (_allowUaSameSite) {
1445
- setValue(values, "SameSite", "None", null, isUndefined);
1446
- }
1447
- }
1448
- setValue(values, "path", path || _path, null, isUndefined);
1449
- var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1450
- setCookieFn(name, _formatCookieValue(theValue, values));
1451
- result = true;
1452
- }
1453
- return result;
1454
- },
1455
- _a.get = function (name) {
1456
- var value = STR_EMPTY;
1457
- if (_isMgrEnabled(cookieMgr)) {
1458
- value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
1459
- }
1460
- return value;
1461
- },
1462
- _a.del = function (name, path) {
1463
- var result = false;
1464
- if (_isMgrEnabled(cookieMgr)) {
1465
- result = cookieMgr.purge(name, path);
1466
- }
1467
- return result;
1468
- },
1469
- _a.purge = function (name, path) {
1470
- var _a;
1471
- var result = false;
1472
- if (areCookiesSupported(logger)) {
1473
- var values = (_a = {},
1474
- _a["path"] = path ? path : "/",
1475
- _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1476
- _a);
1477
- if (!isIE()) {
1478
- values["max-age"] = "0";
1479
- }
1480
- var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1481
- delCookie(name, _formatCookieValue(STR_EMPTY, values));
1482
- result = true;
1483
- }
1484
- return result;
1485
- },
1486
- _a);
1487
- cookieMgr[strConfigCookieMgr] = cookieMgr;
1488
- return cookieMgr;
1489
- }
1490
- function areCookiesSupported(logger) {
1491
- if (_supportsCookies === null) {
1492
- _supportsCookies = false;
1493
- try {
1494
- var doc = _doc || {};
1495
- _supportsCookies = doc[strCookie] !== undefined;
1496
- }
1497
- catch (e) {
1498
- _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
1499
- }
1500
- }
1501
- return _supportsCookies;
1502
- }
1503
- function _extractParts(theValue) {
1504
- var values = {};
1505
- if (theValue && theValue[_DYN_LENGTH$2 ]) {
1506
- var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
1507
- arrForEach(parts, function (thePart) {
1508
- thePart = strTrim(thePart || STR_EMPTY);
1509
- if (thePart) {
1510
- var idx = thePart[_DYN_INDEX_OF$1 ]("=");
1511
- if (idx === -1) {
1512
- values[thePart] = null;
1513
- }
1514
- else {
1515
- values[strTrim(thePart[_DYN_SUBSTRING$1 ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING$1 ](idx + 1));
1516
- }
1517
- }
1518
- });
1519
- }
1520
- return values;
1521
- }
1522
- function _formatDate(theDate, func) {
1523
- if (isFunction(theDate[func])) {
1524
- return theDate[func]();
1525
- }
1526
- return null;
1527
- }
1528
- function _formatCookieValue(value, values) {
1529
- var cookieValue = value || STR_EMPTY;
1530
- objForEachKey(values, function (name, theValue) {
1531
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
1532
- });
1533
- return cookieValue;
1534
- }
1535
- function _getCookieValue(name) {
1536
- var cookieValue = STR_EMPTY;
1537
- if (_doc) {
1538
- var theCookie = _doc[strCookie] || STR_EMPTY;
1539
- if (_parsedCookieValue !== theCookie) {
1540
- _cookieCache = _extractParts(theCookie);
1541
- _parsedCookieValue = theCookie;
1542
- }
1543
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
1544
- }
1545
- return cookieValue;
1546
- }
1547
- function _setCookieValue(name, cookieValue) {
1548
- if (_doc) {
1549
- _doc[strCookie] = name + "=" + cookieValue;
1550
- }
1551
- }
1552
- function uaDisallowsSameSiteNone(userAgent) {
1553
- if (!isString(userAgent)) {
1554
- return false;
1555
- }
1556
- if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
1557
- return true;
1558
- }
1559
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
1560
- return true;
1561
- }
1562
- if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
1563
- return true;
1564
- }
1565
- if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
1566
- return true;
1567
- }
1568
- if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
1569
- return true;
1570
- }
1571
- if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
1572
- return true;
1573
- }
1574
- return false;
1575
- }
1576
-
1577
- var strOnPrefix = "on";
1578
- var strAttachEvent = "attachEvent";
1579
- var strAddEventHelper = "addEventListener";
1580
- var strDetachEvent = "detachEvent";
1581
- var strRemoveEventListener = "removeEventListener";
1582
- var strEvents = "events";
1583
- createUniqueNamespace("aiEvtPageHide");
1584
- createUniqueNamespace("aiEvtPageShow");
1585
- var rRemoveEmptyNs = /\.[\.]+/g;
1586
- var rRemoveTrailingEmptyNs = /[\.]+$/;
1587
- var _guid = 1;
1588
- var elmNodeData = createElmNodeData("events");
1589
- var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
1590
- function _normalizeNamespace(name) {
1591
- if (name && name[_DYN_REPLACE ]) {
1592
- return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
1593
- }
1594
- return name;
1595
- }
1596
- function _getEvtNamespace(eventName, evtNamespace) {
1597
- var _a;
1598
- if (evtNamespace) {
1599
- var theNamespace_1 = STR_EMPTY;
1600
- if (isArray(evtNamespace)) {
1601
- theNamespace_1 = STR_EMPTY;
1602
- arrForEach(evtNamespace, function (name) {
1603
- name = _normalizeNamespace(name);
1604
- if (name) {
1605
- if (name[0] !== ".") {
1606
- name = "." + name;
1607
- }
1608
- theNamespace_1 += name;
1609
- }
1610
- });
1611
- }
1612
- else {
1613
- theNamespace_1 = _normalizeNamespace(evtNamespace);
1614
- }
1615
- if (theNamespace_1) {
1616
- if (theNamespace_1[0] !== ".") {
1617
- theNamespace_1 = "." + theNamespace_1;
1618
- }
1619
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
1620
- }
1621
- }
1622
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
1623
- return _a = {},
1624
- _a[_DYN_TYPE ] = parsedEvent[1],
1625
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
1626
- _a;
1627
- }
1628
- function _getRegisteredEvents(target, evtName, addDefault) {
1629
- if (addDefault === void 0) { addDefault = true; }
1630
- var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
1631
- var registeredEvents = aiEvts[evtName];
1632
- if (!registeredEvents) {
1633
- registeredEvents = aiEvts[evtName] = [];
1634
- }
1635
- return registeredEvents;
1636
- }
1637
- function _doDetach(obj, evtName, handlerRef, useCapture) {
1638
- if (obj && evtName && evtName[_DYN_TYPE ]) {
1639
- if (obj[strRemoveEventListener]) {
1640
- obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
1641
- }
1642
- else if (obj[strDetachEvent]) {
1643
- obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
1644
- }
1645
- }
1646
- }
1647
- function _doAttach(obj, evtName, handlerRef, useCapture) {
1648
- var result = false;
1649
- if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
1650
- if (obj[strAddEventHelper]) {
1651
- obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
1652
- result = true;
1653
- }
1654
- else if (obj[strAttachEvent]) {
1655
- obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
1656
- result = true;
1657
- }
1658
- }
1659
- return result;
1660
- }
1661
- function _doUnregister(target, events, evtName, unRegFn) {
1662
- var idx = events[_DYN_LENGTH$2 ];
1663
- while (idx--) {
1664
- var theEvent = events[idx];
1665
- if (theEvent) {
1666
- if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
1667
- if (!unRegFn || unRegFn(theEvent)) {
1668
- _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
1669
- events[_DYN_SPLICE ](idx, 1);
1670
- }
1671
- }
1672
- }
1673
- }
1674
- }
1675
- function _unregisterEvents(target, evtName, unRegFn) {
1676
- if (evtName[_DYN_TYPE ]) {
1677
- _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
1678
- }
1679
- else {
1680
- var eventCache = elmNodeData.get(target, strEvents, {});
1681
- objForEachKey(eventCache, function (evtType, events) {
1682
- _doUnregister(target, events, evtName, unRegFn);
1683
- });
1684
- if (objKeys(eventCache)[_DYN_LENGTH$2 ] === 0) {
1685
- elmNodeData.kill(target, strEvents);
1686
- }
1687
- }
1688
- }
1689
- function mergeEvtNamespace(theNamespace, namespaces) {
1690
- var newNamespaces;
1691
- if (namespaces) {
1692
- if (isArray(namespaces)) {
1693
- newNamespaces = [theNamespace].concat(namespaces);
1694
- }
1695
- else {
1696
- newNamespaces = [theNamespace, namespaces];
1697
- }
1698
- newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
1699
- }
1700
- else {
1701
- newNamespaces = theNamespace;
1702
- }
1703
- return newNamespaces;
1704
- }
1705
- function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
1706
- var _a;
1707
- if (useCapture === void 0) { useCapture = false; }
1708
- var result = false;
1709
- if (target) {
1710
- try {
1711
- var evtName = _getEvtNamespace(eventName, evtNamespace);
1712
- result = _doAttach(target, evtName, handlerRef, useCapture);
1713
- if (result && elmNodeData.accept(target)) {
1714
- var registeredEvent = (_a = {
1715
- guid: _guid++,
1716
- evtName: evtName
1717
- },
1718
- _a[_DYN_HANDLER ] = handlerRef,
1719
- _a.capture = useCapture,
1720
- _a);
1721
- _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
1722
- }
1723
- }
1724
- catch (e) {
1725
- }
1726
- }
1727
- return result;
1728
- }
1729
- function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
1730
- if (useCapture === void 0) { useCapture = false; }
1731
- if (target) {
1732
- try {
1733
- var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
1734
- var found_1 = false;
1735
- _unregisterEvents(target, evtName_1, function (regEvent) {
1736
- if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
1737
- found_1 = true;
1738
- return true;
1739
- }
1740
- return false;
1741
- });
1742
- if (!found_1) {
1743
- _doDetach(target, evtName_1, handlerRef, useCapture);
1744
- }
1745
- }
1746
- catch (e) {
1747
- }
1748
- }
1749
- }
1750
-
1751
- function generateW3CId() {
1752
- var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
1753
- var oct = STR_EMPTY, tmp;
1754
- for (var a = 0; a < 4; a++) {
1755
- tmp = random32();
1756
- oct +=
1757
- hexValues[tmp & 0xF] +
1758
- hexValues[tmp >> 4 & 0xF] +
1759
- hexValues[tmp >> 8 & 0xF] +
1760
- hexValues[tmp >> 12 & 0xF] +
1761
- hexValues[tmp >> 16 & 0xF] +
1762
- hexValues[tmp >> 20 & 0xF] +
1763
- hexValues[tmp >> 24 & 0xF] +
1764
- hexValues[tmp >> 28 & 0xF];
1765
- }
1766
- var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];
1767
- return oct[_DYN_SUBSTR ](0, 8) + oct[_DYN_SUBSTR ](9, 4) + "4" + oct[_DYN_SUBSTR ](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR ](16, 3) + oct[_DYN_SUBSTR ](19, 12);
1768
- }
1769
-
1770
- var INVALID_TRACE_ID = "00000000000000000000000000000000";
1771
- var INVALID_SPAN_ID = "0000000000000000";
1772
- function _isValid(value, len, invalidValue) {
1773
- if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
1774
- return !!value.match(/^[\da-f]*$/);
1775
- }
1776
- return false;
1777
- }
1778
- function isValidTraceId(value) {
1779
- return _isValid(value, 32, INVALID_TRACE_ID);
1780
- }
1781
- function isValidSpanId(value) {
1782
- return _isValid(value, 16, INVALID_SPAN_ID);
1783
- }
1784
-
1785
- var pluginStateData = createElmNodeData("plugin");
1786
- function _getPluginState(plugin) {
1787
- return pluginStateData.get(plugin, "state", {}, true);
1788
- }
1789
-
1790
- var strTelemetryPluginChain = "TelemetryPluginChain";
1791
- var strHasRunFlags = "_hasRun";
1792
- var strGetTelCtx = "_getTelCtx";
1793
- var _chainId = 0;
1794
- function _getNextProxyStart(proxy, core, startAt) {
1795
- while (proxy) {
1796
- if (proxy[_DYN_GET_PLUGIN ]() === startAt) {
1797
- return proxy;
1798
- }
1799
- proxy = proxy[_DYN_GET_NEXT ]();
1800
- }
1801
- return createTelemetryProxyChain([startAt], core[_DYN_CONFIG ] || {}, core);
1802
- }
1803
- function _createInternalContext(telemetryChain, config, core, startAt) {
1804
- var _nextProxy = null;
1805
- var _onComplete = [];
1806
- if (startAt !== null) {
1807
- _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;
1808
- }
1809
- var context = {
1810
- _next: _moveNext,
1811
- ctx: {
1812
- core: function () {
1813
- return core;
1814
- },
1815
- diagLog: function () {
1816
- return safeGetLogger(core, config);
1817
- },
1818
- getCfg: function () {
1819
- return config;
1820
- },
1821
- getExtCfg: _getExtCfg,
1822
- getConfig: _getConfig,
1823
- hasNext: function () {
1824
- return !!_nextProxy;
1825
- },
1826
- getNext: function () {
1827
- return _nextProxy;
1828
- },
1829
- setNext: function (nextPlugin) {
1830
- _nextProxy = nextPlugin;
1831
- },
1832
- iterate: _iterateChain,
1833
- onComplete: _addOnComplete
1433
+ var context = {
1434
+ _next: _moveNext,
1435
+ ctx: {
1436
+ core: function () {
1437
+ return core;
1438
+ },
1439
+ diagLog: function () {
1440
+ return safeGetLogger(core, config);
1441
+ },
1442
+ getCfg: function () {
1443
+ return config;
1444
+ },
1445
+ getExtCfg: _getExtCfg,
1446
+ getConfig: _getConfig,
1447
+ hasNext: function () {
1448
+ return !!_nextProxy;
1449
+ },
1450
+ getNext: function () {
1451
+ return _nextProxy;
1452
+ },
1453
+ setNext: function (nextPlugin) {
1454
+ _nextProxy = nextPlugin;
1455
+ },
1456
+ iterate: _iterateChain,
1457
+ onComplete: _addOnComplete
1834
1458
  }
1835
1459
  };
1836
1460
  function _addOnComplete(onComplete, that) {
@@ -2114,25 +1738,270 @@
2114
1738
  unloadCtx[_DYN_PROCESS_NEXT ](unloadState);
2115
1739
  }
2116
1740
  }
2117
- function _updatePlugin(updateCtx, updateState) {
2118
- function _callUpdate() {
2119
- var hasRun = false;
2120
- if (plugin) {
2121
- var pluginState = _getPluginState(plugin);
2122
- var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
2123
- if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
2124
- if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
2125
- hasRun = true;
2126
- }
1741
+ function _updatePlugin(updateCtx, updateState) {
1742
+ function _callUpdate() {
1743
+ var hasRun = false;
1744
+ if (plugin) {
1745
+ var pluginState = _getPluginState(plugin);
1746
+ var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE ];
1747
+ if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN ]) {
1748
+ if (plugin[_DYN_UPDATE ] && plugin[_DYN_UPDATE ](updateCtx, updateState) === true) {
1749
+ hasRun = true;
1750
+ }
1751
+ }
1752
+ }
1753
+ return hasRun;
1754
+ }
1755
+ if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
1756
+ updateCtx[_DYN_PROCESS_NEXT ](updateState);
1757
+ }
1758
+ }
1759
+ return objFreeze(proxyChain);
1760
+ }
1761
+
1762
+ var strToGMTString = "toGMTString";
1763
+ var strToUTCString = "toUTCString";
1764
+ var strCookie = "cookie";
1765
+ var strExpires = "expires";
1766
+ var strEnabled = "enabled";
1767
+ var strIsCookieUseDisabled = "isCookieUseDisabled";
1768
+ var strDisableCookiesUsage = "disableCookiesUsage";
1769
+ var strConfigCookieMgr = "_ckMgr";
1770
+ var _supportsCookies = null;
1771
+ var _allowUaSameSite = null;
1772
+ var _parsedCookieValue = null;
1773
+ var _doc = getDocument();
1774
+ var _cookieCache = {};
1775
+ var _globalCookieConfig = {};
1776
+ function _gblCookieMgr(config, logger) {
1777
+ var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];
1778
+ if (!inst) {
1779
+ inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);
1780
+ _globalCookieConfig[strConfigCookieMgr] = inst;
1781
+ }
1782
+ return inst;
1783
+ }
1784
+ function _isMgrEnabled(cookieMgr) {
1785
+ if (cookieMgr) {
1786
+ return cookieMgr.isEnabled();
1787
+ }
1788
+ return true;
1789
+ }
1790
+ function _createCookieMgrConfig(rootConfig) {
1791
+ var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG ] = rootConfig[_DYN_COOKIE_CFG ] || {};
1792
+ setValue(cookieMgrCfg, "domain", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);
1793
+ setValue(cookieMgrCfg, "path", rootConfig.cookiePath || "/", null, isNullOrUndefined);
1794
+ if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {
1795
+ var cookieEnabled = void 0;
1796
+ if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {
1797
+ cookieEnabled = !rootConfig[strIsCookieUseDisabled];
1798
+ }
1799
+ if (!isUndefined(rootConfig[strDisableCookiesUsage])) {
1800
+ cookieEnabled = !rootConfig[strDisableCookiesUsage];
1801
+ }
1802
+ cookieMgrCfg[strEnabled] = cookieEnabled;
1803
+ }
1804
+ return cookieMgrCfg;
1805
+ }
1806
+ function safeGetCookieMgr(core, config) {
1807
+ var cookieMgr;
1808
+ if (core) {
1809
+ cookieMgr = core.getCookieMgr();
1810
+ }
1811
+ else if (config) {
1812
+ var cookieCfg = config[_DYN_COOKIE_CFG ];
1813
+ if (cookieCfg[strConfigCookieMgr]) {
1814
+ cookieMgr = cookieCfg[strConfigCookieMgr];
1815
+ }
1816
+ else {
1817
+ cookieMgr = createCookieMgr(config);
1818
+ }
1819
+ }
1820
+ if (!cookieMgr) {
1821
+ cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER ]);
1822
+ }
1823
+ return cookieMgr;
1824
+ }
1825
+ function createCookieMgr(rootConfig, logger) {
1826
+ var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);
1827
+ var _path = cookieMgrConfig.path || "/";
1828
+ var _domain = cookieMgrConfig.domain;
1829
+ var _enabled = cookieMgrConfig[strEnabled] !== false;
1830
+ var cookieMgr = {
1831
+ isEnabled: function () {
1832
+ var enabled = _enabled && areCookiesSupported(logger);
1833
+ var gblManager = _globalCookieConfig[strConfigCookieMgr];
1834
+ if (enabled && gblManager && cookieMgr !== gblManager) {
1835
+ enabled = _isMgrEnabled(gblManager);
1836
+ }
1837
+ return enabled;
1838
+ },
1839
+ setEnabled: function (value) {
1840
+ _enabled = value !== false;
1841
+ },
1842
+ set: function (name, value, maxAgeSec, domain, path) {
1843
+ var result = false;
1844
+ if (_isMgrEnabled(cookieMgr)) {
1845
+ var values = {};
1846
+ var theValue = strTrim(value || STR_EMPTY);
1847
+ var idx = theValue.indexOf(";");
1848
+ if (idx !== -1) {
1849
+ theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
1850
+ values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
1851
+ }
1852
+ setValue(values, "domain", domain || _domain, isTruthy, isUndefined);
1853
+ if (!isNullOrUndefined(maxAgeSec)) {
1854
+ var _isIE = isIE();
1855
+ if (isUndefined(values[strExpires])) {
1856
+ var nowMs = dateNow();
1857
+ var expireMs = nowMs + (maxAgeSec * 1000);
1858
+ if (expireMs > 0) {
1859
+ var expiry = new Date();
1860
+ expiry.setTime(expireMs);
1861
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
1862
+ }
1863
+ }
1864
+ if (!_isIE) {
1865
+ setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
1866
+ }
1867
+ }
1868
+ var location_1 = getLocation();
1869
+ if (location_1 && location_1.protocol === "https:") {
1870
+ setValue(values, "secure", null, null, isUndefined);
1871
+ if (_allowUaSameSite === null) {
1872
+ _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT ]);
1873
+ }
1874
+ if (_allowUaSameSite) {
1875
+ setValue(values, "SameSite", "None", null, isUndefined);
1876
+ }
1877
+ }
1878
+ setValue(values, "path", path || _path, null, isUndefined);
1879
+ var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;
1880
+ setCookieFn(name, _formatCookieValue(theValue, values));
1881
+ result = true;
1882
+ }
1883
+ return result;
1884
+ },
1885
+ get: function (name) {
1886
+ var value = STR_EMPTY;
1887
+ if (_isMgrEnabled(cookieMgr)) {
1888
+ value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
1889
+ }
1890
+ return value;
1891
+ },
1892
+ del: function (name, path) {
1893
+ var result = false;
1894
+ if (_isMgrEnabled(cookieMgr)) {
1895
+ result = cookieMgr.purge(name, path);
1896
+ }
1897
+ return result;
1898
+ },
1899
+ purge: function (name, path) {
1900
+ var _a;
1901
+ var result = false;
1902
+ if (areCookiesSupported(logger)) {
1903
+ var values = (_a = {},
1904
+ _a["path"] = path ? path : "/",
1905
+ _a[strExpires] = "Thu, 01 Jan 1970 00:00:01 GMT",
1906
+ _a);
1907
+ if (!isIE()) {
1908
+ values["max-age"] = "0";
1909
+ }
1910
+ var delCookie = cookieMgrConfig.delCookie || _setCookieValue;
1911
+ delCookie(name, _formatCookieValue(STR_EMPTY, values));
1912
+ result = true;
1913
+ }
1914
+ return result;
1915
+ }
1916
+ };
1917
+ cookieMgr[strConfigCookieMgr] = cookieMgr;
1918
+ return cookieMgr;
1919
+ }
1920
+ function areCookiesSupported(logger) {
1921
+ if (_supportsCookies === null) {
1922
+ _supportsCookies = false;
1923
+ try {
1924
+ var doc = _doc || {};
1925
+ _supportsCookies = doc[strCookie] !== undefined;
1926
+ }
1927
+ catch (e) {
1928
+ _throwInternal(logger, 2 , 68 , "Cannot access document.cookie - " + getExceptionName(e), { exception: dumpObj(e) });
1929
+ }
1930
+ }
1931
+ return _supportsCookies;
1932
+ }
1933
+ function _extractParts(theValue) {
1934
+ var values = {};
1935
+ if (theValue && theValue[_DYN_LENGTH$2 ]) {
1936
+ var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
1937
+ arrForEach(parts, function (thePart) {
1938
+ thePart = strTrim(thePart || STR_EMPTY);
1939
+ if (thePart) {
1940
+ var idx = thePart.indexOf("=");
1941
+ if (idx === -1) {
1942
+ values[thePart] = null;
1943
+ }
1944
+ else {
1945
+ values[strTrim(thePart[_DYN_SUBSTRING$1 ](0, idx))] = strTrim(thePart[_DYN_SUBSTRING$1 ](idx + 1));
2127
1946
  }
2128
1947
  }
2129
- return hasRun;
2130
- }
2131
- if (!_processChain(updateCtx, _callUpdate, "update", function () { }, false)) {
2132
- updateCtx[_DYN_PROCESS_NEXT ](updateState);
1948
+ });
1949
+ }
1950
+ return values;
1951
+ }
1952
+ function _formatDate(theDate, func) {
1953
+ if (isFunction(theDate[func])) {
1954
+ return theDate[func]();
1955
+ }
1956
+ return null;
1957
+ }
1958
+ function _formatCookieValue(value, values) {
1959
+ var cookieValue = value || STR_EMPTY;
1960
+ objForEachKey(values, function (name, theValue) {
1961
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
1962
+ });
1963
+ return cookieValue;
1964
+ }
1965
+ function _getCookieValue(name) {
1966
+ var cookieValue = STR_EMPTY;
1967
+ if (_doc) {
1968
+ var theCookie = _doc[strCookie] || STR_EMPTY;
1969
+ if (_parsedCookieValue !== theCookie) {
1970
+ _cookieCache = _extractParts(theCookie);
1971
+ _parsedCookieValue = theCookie;
2133
1972
  }
1973
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
2134
1974
  }
2135
- return objFreeze(proxyChain);
1975
+ return cookieValue;
1976
+ }
1977
+ function _setCookieValue(name, cookieValue) {
1978
+ if (_doc) {
1979
+ _doc[strCookie] = name + "=" + cookieValue;
1980
+ }
1981
+ }
1982
+ function uaDisallowsSameSiteNone(userAgent) {
1983
+ if (!isString(userAgent)) {
1984
+ return false;
1985
+ }
1986
+ if (strContains(userAgent, "CPU iPhone OS 12") || strContains(userAgent, "iPad; CPU OS 12")) {
1987
+ return true;
1988
+ }
1989
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strContains(userAgent, "Version/") && strContains(userAgent, "Safari")) {
1990
+ return true;
1991
+ }
1992
+ if (strContains(userAgent, "Macintosh; Intel Mac OS X 10_14") && strEndsWith(userAgent, "AppleWebKit/605.1.15 (KHTML, like Gecko)")) {
1993
+ return true;
1994
+ }
1995
+ if (strContains(userAgent, "Chrome/5") || strContains(userAgent, "Chrome/6")) {
1996
+ return true;
1997
+ }
1998
+ if (strContains(userAgent, "UnrealEngine") && !strContains(userAgent, "Chrome")) {
1999
+ return true;
2000
+ }
2001
+ if (strContains(userAgent, "UCBrowser/12") || strContains(userAgent, "UCBrowser/11")) {
2002
+ return true;
2003
+ }
2004
+ return false;
2136
2005
  }
2137
2006
 
2138
2007
  function createUnloadHandlerContainer() {
@@ -2281,34 +2150,208 @@
2281
2150
  itemCtx = rootCtx[_DYN_CREATE_NEW ](null, _nextPlugin);
2282
2151
  }
2283
2152
  }
2284
- return itemCtx;
2153
+ return itemCtx;
2154
+ }
2155
+ function _setDefaults(config, core, pluginChain) {
2156
+ if (config) {
2157
+ setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2158
+ }
2159
+ if (!pluginChain && core) {
2160
+ pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2161
+ }
2162
+ var nextPlugin = _nextPlugin;
2163
+ if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2164
+ nextPlugin = _nextPlugin[strGetPlugin]();
2165
+ }
2166
+ _self[STR_CORE ] = core;
2167
+ _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
2168
+ }
2169
+ function _initDefaults() {
2170
+ _isinitialized = false;
2171
+ _self[STR_CORE ] = null;
2172
+ _rootCtx = null;
2173
+ _nextPlugin = null;
2174
+ _hooks = [];
2175
+ _unloadHandlerContainer = createUnloadHandlerContainer();
2176
+ }
2177
+ }
2178
+ BaseTelemetryPlugin.__ieDyn=1;
2179
+ return BaseTelemetryPlugin;
2180
+ }());
2181
+
2182
+ var strOnPrefix = "on";
2183
+ var strAttachEvent = "attachEvent";
2184
+ var strAddEventHelper = "addEventListener";
2185
+ var strDetachEvent = "detachEvent";
2186
+ var strRemoveEventListener = "removeEventListener";
2187
+ var strEvents = "events";
2188
+ createUniqueNamespace("aiEvtPageHide");
2189
+ createUniqueNamespace("aiEvtPageShow");
2190
+ var rRemoveEmptyNs = /\.[\.]+/g;
2191
+ var rRemoveTrailingEmptyNs = /[\.]+$/;
2192
+ var _guid = 1;
2193
+ var elmNodeData = createElmNodeData("events");
2194
+ var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
2195
+ function _normalizeNamespace(name) {
2196
+ if (name && name[_DYN_REPLACE ]) {
2197
+ return name.replace(/^\s*\.*|\.*\s*$/g, STR_EMPTY);
2198
+ }
2199
+ return name;
2200
+ }
2201
+ function _getEvtNamespace(eventName, evtNamespace) {
2202
+ var _a;
2203
+ if (evtNamespace) {
2204
+ var theNamespace_1 = STR_EMPTY;
2205
+ if (isArray(evtNamespace)) {
2206
+ theNamespace_1 = STR_EMPTY;
2207
+ arrForEach(evtNamespace, function (name) {
2208
+ name = _normalizeNamespace(name);
2209
+ if (name) {
2210
+ if (name[0] !== ".") {
2211
+ name = "." + name;
2212
+ }
2213
+ theNamespace_1 += name;
2214
+ }
2215
+ });
2216
+ }
2217
+ else {
2218
+ theNamespace_1 = _normalizeNamespace(evtNamespace);
2219
+ }
2220
+ if (theNamespace_1) {
2221
+ if (theNamespace_1[0] !== ".") {
2222
+ theNamespace_1 = "." + theNamespace_1;
2223
+ }
2224
+ eventName = (eventName || STR_EMPTY) + theNamespace_1;
2225
+ }
2226
+ }
2227
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
2228
+ return _a = {},
2229
+ _a[_DYN_TYPE ] = parsedEvent[1],
2230
+ _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
2231
+ _a;
2232
+ }
2233
+ function _getRegisteredEvents(target, evtName, addDefault) {
2234
+ if (addDefault === void 0) { addDefault = true; }
2235
+ var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);
2236
+ var registeredEvents = aiEvts[evtName];
2237
+ if (!registeredEvents) {
2238
+ registeredEvents = aiEvts[evtName] = [];
2239
+ }
2240
+ return registeredEvents;
2241
+ }
2242
+ function _doDetach(obj, evtName, handlerRef, useCapture) {
2243
+ if (obj && evtName && evtName[_DYN_TYPE ]) {
2244
+ if (obj[strRemoveEventListener]) {
2245
+ obj[strRemoveEventListener](evtName[_DYN_TYPE ], handlerRef, useCapture);
2246
+ }
2247
+ else if (obj[strDetachEvent]) {
2248
+ obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2249
+ }
2250
+ }
2251
+ }
2252
+ function _doAttach(obj, evtName, handlerRef, useCapture) {
2253
+ var result = false;
2254
+ if (obj && evtName && evtName[_DYN_TYPE ] && handlerRef) {
2255
+ if (obj[strAddEventHelper]) {
2256
+ obj[strAddEventHelper](evtName[_DYN_TYPE ], handlerRef, useCapture);
2257
+ result = true;
2258
+ }
2259
+ else if (obj[strAttachEvent]) {
2260
+ obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE ], handlerRef);
2261
+ result = true;
2262
+ }
2263
+ }
2264
+ return result;
2265
+ }
2266
+ function _doUnregister(target, events, evtName, unRegFn) {
2267
+ var idx = events[_DYN_LENGTH$2 ];
2268
+ while (idx--) {
2269
+ var theEvent = events[idx];
2270
+ if (theEvent) {
2271
+ if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {
2272
+ if (!unRegFn || unRegFn(theEvent)) {
2273
+ _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER ], theEvent.capture);
2274
+ events[_DYN_SPLICE ](idx, 1);
2275
+ }
2276
+ }
2277
+ }
2278
+ }
2279
+ }
2280
+ function _unregisterEvents(target, evtName, unRegFn) {
2281
+ if (evtName[_DYN_TYPE ]) {
2282
+ _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE ]), evtName, unRegFn);
2283
+ }
2284
+ else {
2285
+ var eventCache = elmNodeData.get(target, strEvents, {});
2286
+ objForEachKey(eventCache, function (evtType, events) {
2287
+ _doUnregister(target, events, evtName, unRegFn);
2288
+ });
2289
+ if (objKeys(eventCache)[_DYN_LENGTH$2 ] === 0) {
2290
+ elmNodeData.kill(target, strEvents);
2291
+ }
2292
+ }
2293
+ }
2294
+ function mergeEvtNamespace(theNamespace, namespaces) {
2295
+ var newNamespaces;
2296
+ if (namespaces) {
2297
+ if (isArray(namespaces)) {
2298
+ newNamespaces = [theNamespace].concat(namespaces);
2299
+ }
2300
+ else {
2301
+ newNamespaces = [theNamespace, namespaces];
2302
+ }
2303
+ newNamespaces = (_getEvtNamespace("xx", newNamespaces).ns)[_DYN_SPLIT$1 ](".");
2304
+ }
2305
+ else {
2306
+ newNamespaces = theNamespace;
2307
+ }
2308
+ return newNamespaces;
2309
+ }
2310
+ function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {
2311
+ var _a;
2312
+ if (useCapture === void 0) { useCapture = false; }
2313
+ var result = false;
2314
+ if (target) {
2315
+ try {
2316
+ var evtName = _getEvtNamespace(eventName, evtNamespace);
2317
+ result = _doAttach(target, evtName, handlerRef, useCapture);
2318
+ if (result && elmNodeData.accept(target)) {
2319
+ var registeredEvent = (_a = {
2320
+ guid: _guid++,
2321
+ evtName: evtName
2322
+ },
2323
+ _a[_DYN_HANDLER ] = handlerRef,
2324
+ _a.capture = useCapture,
2325
+ _a);
2326
+ _getRegisteredEvents(target, evtName.type)[_DYN_PUSH ](registeredEvent);
2327
+ }
2285
2328
  }
2286
- function _setDefaults(config, core, pluginChain) {
2287
- if (config) {
2288
- setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);
2289
- }
2290
- if (!pluginChain && core) {
2291
- pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 ]()[_DYN_GET_NEXT ]();
2292
- }
2293
- var nextPlugin = _nextPlugin;
2294
- if (_nextPlugin && _nextPlugin[strGetPlugin]) {
2295
- nextPlugin = _nextPlugin[strGetPlugin]();
2329
+ catch (e) {
2330
+ }
2331
+ }
2332
+ return result;
2333
+ }
2334
+ function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {
2335
+ if (useCapture === void 0) { useCapture = false; }
2336
+ if (target) {
2337
+ try {
2338
+ var evtName_1 = _getEvtNamespace(eventName, evtNamespace);
2339
+ var found_1 = false;
2340
+ _unregisterEvents(target, evtName_1, function (regEvent) {
2341
+ if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER ] === handlerRef) {
2342
+ found_1 = true;
2343
+ return true;
2344
+ }
2345
+ return false;
2346
+ });
2347
+ if (!found_1) {
2348
+ _doDetach(target, evtName_1, handlerRef, useCapture);
2296
2349
  }
2297
- _self[STR_CORE ] = core;
2298
- _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);
2299
2350
  }
2300
- function _initDefaults() {
2301
- _isinitialized = false;
2302
- _self[STR_CORE ] = null;
2303
- _rootCtx = null;
2304
- _nextPlugin = null;
2305
- _hooks = [];
2306
- _unloadHandlerContainer = createUnloadHandlerContainer();
2351
+ catch (e) {
2307
2352
  }
2308
2353
  }
2309
- BaseTelemetryPlugin.__ieDyn=1;
2310
- return BaseTelemetryPlugin;
2311
- }());
2354
+ }
2312
2355
 
2313
2356
  var aiInstrumentHooks = "_aiHooks";
2314
2357
  var cbNames = [
@@ -2369,7 +2412,7 @@
2369
2412
  _a);
2370
2413
  var hookCtx = [];
2371
2414
  var cbArgs = _createArgs([funcArgs], orgArgs);
2372
- funcArgs.evt = getGlobalInst("event");
2415
+ funcArgs.evt = getInst("event");
2373
2416
  function _createArgs(target, theArgs) {
2374
2417
  _arrLoop(theArgs, function (arg) {
2375
2418
  target[_DYN_PUSH ](arg);
@@ -2377,257 +2420,111 @@
2377
2420
  return target;
2378
2421
  }
2379
2422
  function _replaceArg(idx, value) {
2380
- orgArgs = _createArgs([], orgArgs);
2381
- orgArgs[idx] = value;
2382
- cbArgs = _createArgs([funcArgs], orgArgs);
2383
- }
2384
- _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 );
2385
- var theFunc = aiHook.f;
2386
- if (theFunc) {
2387
- try {
2388
- funcArgs.rslt = theFunc[_DYN_APPLY ](funcThis, orgArgs);
2389
- }
2390
- catch (err) {
2391
- funcArgs.err = err;
2392
- _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 );
2393
- throw err;
2394
- }
2395
- }
2396
- _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 );
2397
- return funcArgs.rslt;
2398
- };
2399
- }
2400
- function _getOwner(target, name, checkPrototype) {
2401
- var owner = null;
2402
- if (target) {
2403
- if (hasOwnProperty(target, name)) {
2404
- owner = target;
2405
- }
2406
- else if (checkPrototype) {
2407
- owner = _getOwner(_getObjProto(target), name, false);
2408
- }
2409
- }
2410
- return owner;
2411
- }
2412
- function _createInstrumentHook(owner, funcName, fn, callbacks) {
2413
- var aiHook = fn && fn[aiInstrumentHooks];
2414
- if (!aiHook) {
2415
- aiHook = {
2416
- i: 0,
2417
- n: funcName,
2418
- f: fn,
2419
- h: []
2420
- };
2421
- var newFunc = _createFunctionHook(aiHook);
2422
- newFunc[aiInstrumentHooks] = aiHook;
2423
- owner[funcName] = newFunc;
2424
- }
2425
- var theHook = {
2426
- id: aiHook.i,
2427
- cbks: callbacks,
2428
- rm: function () {
2429
- var id = this.id;
2430
- _arrLoop(aiHook.h, function (hook, idx) {
2431
- if (hook.id === id) {
2432
- aiHook.h[_DYN_SPLICE ](idx, 1);
2433
- return 1;
2434
- }
2435
- });
2436
- }
2437
- };
2438
- aiHook.i++;
2439
- aiHook.h[_DYN_PUSH ](theHook);
2440
- return theHook;
2441
- }
2442
- function InstrumentEvent(target, evtName, callbacks, checkPrototype) {
2443
- if (target && evtName && callbacks) {
2444
- var owner = _getOwner(target, evtName, checkPrototype) || target;
2445
- if (owner) {
2446
- return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);
2447
- }
2448
- }
2449
- return null;
2450
- }
2451
-
2452
- var strNotSpecified = "not_specified";
2453
- var strIkey = "iKey";
2454
-
2455
- function createDomEvent(eventName) {
2456
- var event = null;
2457
- if (isFunction(Event)) {
2458
- event = new Event(eventName);
2459
- }
2460
- else {
2461
- var doc = getDocument();
2462
- if (doc && doc.createEvent) {
2463
- event = doc.createEvent("Event");
2464
- event.initEvent(eventName, true, true);
2465
- }
2466
- }
2467
- return event;
2468
- }
2469
-
2470
- var _DYN_SPLIT = "split";
2471
- var _DYN_LENGTH$1 = "length";
2472
- var _DYN_TO_LOWER_CASE = "toLowerCase";
2473
- var _DYN_TO_STRING$1 = "toString";
2474
- var _DYN_REMOVE_ITEM = "removeItem";
2475
- var _DYN_NAME = "name";
2476
- var _DYN_PATHNAME = "pathname";
2477
- var _DYN_INDEX_OF = "indexOf";
2478
- var _DYN_EXCEPTIONS = "exceptions";
2479
- var _DYN_PARSED_STACK = "parsedStack";
2480
- var _DYN_PROPERTIES = "properties";
2481
- var _DYN_MEASUREMENTS = "measurements";
2482
- var _DYN_STRINGIFY = "stringify";
2483
- var _DYN_MESSAGE$1 = "message";
2484
- var _DYN_SIZE_IN_BYTES = "sizeInBytes";
2485
- var _DYN_TYPE_NAME = "typeName";
2486
- var _DYN_SEVERITY_LEVEL = "severityLevel";
2487
- var _DYN_PROBLEM_GROUP = "problemGroup";
2488
- var _DYN_IS_MANUAL = "isManual";
2489
- var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
2490
- var _DYN_HAS_FULL_STACK = "hasFullStack";
2491
- var _DYN_LEVEL = "level";
2492
- var _DYN_METHOD = "method";
2493
- var _DYN_ASSEMBLY = "assembly";
2494
- var _DYN_FILE_NAME = "fileName";
2495
- var _DYN_LINE = "line";
2496
- var _DYN_DURATION$1 = "duration";
2497
- var _DYN_RECEIVED_RESPONSE = "receivedResponse";
2498
- var _DYN_SUBSTRING = "substring";
2499
- var _DYN_SANITIZE_KEY_AND_ADD2 = "sanitizeKeyAndAddUniqueness";
2500
- var _DYN_SANITIZE_EXCEPTION = "sanitizeException";
2501
- var _DYN_SANITIZE_PROPERTIES = "sanitizeProperties";
2502
- var _DYN_SANITIZE_MEASUREMENT3 = "sanitizeMeasurements";
2503
-
2504
- var strEmpty = "";
2505
- function stringToBoolOrDefault(str, defaultValue) {
2506
- if (defaultValue === void 0) { defaultValue = false; }
2507
- if (str === undefined || str === null) {
2508
- return defaultValue;
2509
- }
2510
- return str.toString()[_DYN_TO_LOWER_CASE ]() === "true";
2511
- }
2512
- function msToTimeSpan(totalms) {
2513
- if (isNaN(totalms) || totalms < 0) {
2514
- totalms = 0;
2515
- }
2516
- totalms = Math.round(totalms);
2517
- var ms = strEmpty + totalms % 1000;
2518
- var sec = strEmpty + Math.floor(totalms / 1000) % 60;
2519
- var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;
2520
- var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;
2521
- var days = Math.floor(totalms / (1000 * 60 * 60 * 24));
2522
- ms = ms[_DYN_LENGTH$1 ] === 1 ? "00" + ms : ms[_DYN_LENGTH$1 ] === 2 ? "0" + ms : ms;
2523
- sec = sec[_DYN_LENGTH$1 ] < 2 ? "0" + sec : sec;
2524
- min = min[_DYN_LENGTH$1 ] < 2 ? "0" + min : min;
2525
- hour = hour[_DYN_LENGTH$1 ] < 2 ? "0" + hour : hour;
2526
- return (days > 0 ? days + "." : strEmpty) + hour + ":" + min + ":" + sec + "." + ms;
2527
- }
2528
- function isCrossOriginError(message, url, lineNumber, columnNumber, error) {
2529
- return !error && isString(message) && (message === "Script error." || message === "Script error");
2530
- }
2531
-
2532
- var StorageType = createEnumStyle({
2533
- LocalStorage: 0 ,
2534
- SessionStorage: 1
2535
- });
2536
- createEnumStyle({
2537
- AI: 0 ,
2538
- AI_AND_W3C: 1 ,
2539
- W3C: 2
2540
- });
2541
-
2542
- var _canUseLocalStorage = undefined;
2543
- var _canUseSessionStorage = undefined;
2544
- function _getVerifiedStorageObject(storageType) {
2545
- try {
2546
- if (isNullOrUndefined(getGlobal())) {
2547
- return null;
2548
- }
2549
- var uid = (new Date)[_DYN_TO_STRING$1 ]();
2550
- var storage = getGlobalInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
2551
- storage.setItem(uid, uid);
2552
- var fail = storage.getItem(uid) !== uid;
2553
- storage[_DYN_REMOVE_ITEM ](uid);
2554
- if (!fail) {
2555
- return storage;
2556
- }
2557
- }
2558
- catch (exception) {
2559
- }
2560
- return null;
2561
- }
2562
- function _getSessionStorageObject() {
2563
- if (utlCanUseSessionStorage()) {
2564
- return _getVerifiedStorageObject(StorageType.SessionStorage);
2565
- }
2566
- return null;
2567
- }
2568
- function utlDisableStorage() {
2569
- _canUseLocalStorage = false;
2570
- _canUseSessionStorage = false;
2571
- }
2572
- function utlEnableStorage() {
2573
- _canUseLocalStorage = utlCanUseLocalStorage(true);
2574
- _canUseSessionStorage = utlCanUseSessionStorage(true);
2575
- }
2576
- function utlCanUseLocalStorage(reset) {
2577
- if (reset || _canUseLocalStorage === undefined) {
2578
- _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);
2579
- }
2580
- return _canUseLocalStorage;
2581
- }
2582
- function utlCanUseSessionStorage(reset) {
2583
- if (reset || _canUseSessionStorage === undefined) {
2584
- _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);
2585
- }
2586
- return _canUseSessionStorage;
2587
- }
2588
- function utlGetSessionStorage(logger, name) {
2589
- var storage = _getSessionStorageObject();
2590
- if (storage !== null) {
2591
- try {
2592
- return storage.getItem(name);
2423
+ orgArgs = _createArgs([], orgArgs);
2424
+ orgArgs[idx] = value;
2425
+ cbArgs = _createArgs([funcArgs], orgArgs);
2593
2426
  }
2594
- catch (e) {
2595
- _canUseSessionStorage = false;
2596
- _throwInternal(logger, 2 , 2 , "Browser failed read of session storage. " + getExceptionName(e), { exception: dumpObj(e) });
2427
+ _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 );
2428
+ var theFunc = aiHook.f;
2429
+ if (theFunc) {
2430
+ try {
2431
+ funcArgs.rslt = theFunc[_DYN_APPLY ](funcThis, orgArgs);
2432
+ }
2433
+ catch (err) {
2434
+ funcArgs.err = err;
2435
+ _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 );
2436
+ throw err;
2437
+ }
2597
2438
  }
2598
- }
2599
- return null;
2439
+ _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 );
2440
+ return funcArgs.rslt;
2441
+ };
2600
2442
  }
2601
- function utlSetSessionStorage(logger, name, data) {
2602
- var storage = _getSessionStorageObject();
2603
- if (storage !== null) {
2604
- try {
2605
- storage.setItem(name, data);
2606
- return true;
2443
+ function _getOwner(target, name, checkPrototype) {
2444
+ var owner = null;
2445
+ if (target) {
2446
+ if (objHasOwnProperty(target, name)) {
2447
+ owner = target;
2607
2448
  }
2608
- catch (e) {
2609
- _canUseSessionStorage = false;
2610
- _throwInternal(logger, 2 , 4 , "Browser failed write to session storage. " + getExceptionName(e), { exception: dumpObj(e) });
2449
+ else if (checkPrototype) {
2450
+ owner = _getOwner(_getObjProto(target), name, false);
2611
2451
  }
2612
2452
  }
2613
- return false;
2453
+ return owner;
2614
2454
  }
2615
- function utlRemoveSessionStorage(logger, name) {
2616
- var storage = _getSessionStorageObject();
2617
- if (storage !== null) {
2618
- try {
2619
- storage[_DYN_REMOVE_ITEM ](name);
2620
- return true;
2455
+ function _createInstrumentHook(owner, funcName, fn, callbacks) {
2456
+ var aiHook = fn && fn[aiInstrumentHooks];
2457
+ if (!aiHook) {
2458
+ aiHook = {
2459
+ i: 0,
2460
+ n: funcName,
2461
+ f: fn,
2462
+ h: []
2463
+ };
2464
+ var newFunc = _createFunctionHook(aiHook);
2465
+ newFunc[aiInstrumentHooks] = aiHook;
2466
+ owner[funcName] = newFunc;
2467
+ }
2468
+ var theHook = {
2469
+ id: aiHook.i,
2470
+ cbks: callbacks,
2471
+ rm: function () {
2472
+ var id = this.id;
2473
+ _arrLoop(aiHook.h, function (hook, idx) {
2474
+ if (hook.id === id) {
2475
+ aiHook.h[_DYN_SPLICE ](idx, 1);
2476
+ return 1;
2477
+ }
2478
+ });
2621
2479
  }
2622
- catch (e) {
2623
- _canUseSessionStorage = false;
2624
- _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
2480
+ };
2481
+ aiHook.i++;
2482
+ aiHook.h[_DYN_PUSH ](theHook);
2483
+ return theHook;
2484
+ }
2485
+ function InstrumentEvent(target, evtName, callbacks, checkPrototype) {
2486
+ if (target && evtName && callbacks) {
2487
+ var owner = _getOwner(target, evtName, checkPrototype) || target;
2488
+ if (owner) {
2489
+ return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);
2625
2490
  }
2626
2491
  }
2627
- return false;
2492
+ return null;
2628
2493
  }
2629
2494
 
2630
- var _a;
2495
+ var strNotSpecified = "not_specified";
2496
+ var strIkey = "iKey";
2497
+
2498
+ var _DYN_SPLIT = "split";
2499
+ var _DYN_LENGTH$1 = "length";
2500
+ var _DYN_TO_LOWER_CASE = "toLowerCase";
2501
+ var _DYN_TO_STRING$1 = "toString";
2502
+ var _DYN_REMOVE_ITEM = "removeItem";
2503
+ var _DYN_NAME = "name";
2504
+ var _DYN_PATHNAME = "pathname";
2505
+ var _DYN_INDEX_OF = "indexOf";
2506
+ var _DYN_EXCEPTIONS = "exceptions";
2507
+ var _DYN_PARSED_STACK = "parsedStack";
2508
+ var _DYN_PROPERTIES = "properties";
2509
+ var _DYN_MEASUREMENTS = "measurements";
2510
+ var _DYN_STRINGIFY = "stringify";
2511
+ var _DYN_MESSAGE$1 = "message";
2512
+ var _DYN_SIZE_IN_BYTES = "sizeInBytes";
2513
+ var _DYN_TYPE_NAME = "typeName";
2514
+ var _DYN_SEVERITY_LEVEL = "severityLevel";
2515
+ var _DYN_PROBLEM_GROUP = "problemGroup";
2516
+ var _DYN_IS_MANUAL = "isManual";
2517
+ var _DYN__CREATE_FROM_INTERFA1 = "CreateFromInterface";
2518
+ var _DYN_HAS_FULL_STACK = "hasFullStack";
2519
+ var _DYN_LEVEL = "level";
2520
+ var _DYN_METHOD = "method";
2521
+ var _DYN_ASSEMBLY = "assembly";
2522
+ var _DYN_FILE_NAME = "fileName";
2523
+ var _DYN_LINE = "line";
2524
+ var _DYN_DURATION$1 = "duration";
2525
+ var _DYN_RECEIVED_RESPONSE = "receivedResponse";
2526
+ var _DYN_SUBSTRING = "substring";
2527
+
2631
2528
  function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
2632
2529
  var origLength = key[_DYN_LENGTH$1 ];
2633
2530
  var field = dataSanitizeKey(logger, key);
@@ -2658,9 +2555,9 @@
2658
2555
  var valueTrunc;
2659
2556
  if (value) {
2660
2557
  maxLength = maxLength ? maxLength : 1024 ;
2661
- value = strTrim(value);
2662
- if (value.toString()[_DYN_LENGTH$1 ] > maxLength) {
2663
- valueTrunc = value[_DYN_TO_STRING$1 ]()[_DYN_SUBSTRING ](0, maxLength);
2558
+ value = strTrim(value[_DYN_TO_STRING$1 ]());
2559
+ if (value[_DYN_LENGTH$1 ] > maxLength) {
2560
+ valueTrunc = value[_DYN_SUBSTRING ](0, maxLength);
2664
2561
  _throwInternal(logger, 2 , 61 , "string value is too long. It has been truncated to " + maxLength + " characters.", { value: value }, true);
2665
2562
  }
2666
2563
  }
@@ -2727,7 +2624,7 @@
2727
2624
  function dataSanitizeInput(logger, input, maxLength, _msgId) {
2728
2625
  var inputTrunc;
2729
2626
  if (input) {
2730
- input = strTrim(input);
2627
+ input = strTrim(input[_DYN_TO_STRING$1 ]());
2731
2628
  if (input[_DYN_LENGTH$1 ] > maxLength) {
2732
2629
  inputTrunc = input[_DYN_SUBSTRING ](0, maxLength);
2733
2630
  _throwInternal(logger, 2 , _msgId, "input is too long, it has been truncated to " + maxLength + " characters.", { data: input }, true);
@@ -2739,28 +2636,6 @@
2739
2636
  var s = "00" + num;
2740
2637
  return s.substr(s[_DYN_LENGTH$1 ] - 3);
2741
2638
  }
2742
- (_a = {
2743
- MAX_NAME_LENGTH: 150 ,
2744
- MAX_ID_LENGTH: 128 ,
2745
- MAX_PROPERTY_LENGTH: 8192 ,
2746
- MAX_STRING_LENGTH: 1024 ,
2747
- MAX_URL_LENGTH: 2048 ,
2748
- MAX_MESSAGE_LENGTH: 32768 ,
2749
- MAX_EXCEPTION_LENGTH: 32768
2750
- },
2751
- _a[_DYN_SANITIZE_KEY_AND_ADD2 ] = dataSanitizeKeyAndAddUniqueness,
2752
- _a.sanitizeKey = dataSanitizeKey,
2753
- _a.sanitizeString = dataSanitizeString,
2754
- _a.sanitizeUrl = dataSanitizeUrl,
2755
- _a.sanitizeMessage = dataSanitizeMessage,
2756
- _a[_DYN_SANITIZE_EXCEPTION ] = dataSanitizeException,
2757
- _a[_DYN_SANITIZE_PROPERTIES ] = dataSanitizeProperties,
2758
- _a[_DYN_SANITIZE_MEASUREMENT3 ] = dataSanitizeMeasurements,
2759
- _a.sanitizeId = dataSanitizeId,
2760
- _a.sanitizeInput = dataSanitizeInput,
2761
- _a.padNumber = dsPadNumber,
2762
- _a.trim = strTrim,
2763
- _a);
2764
2639
 
2765
2640
  var _document = getDocument() || {};
2766
2641
  var _htmlAnchorIdx = 0;
@@ -3410,6 +3285,34 @@
3410
3285
  return Metric;
3411
3286
  }());
3412
3287
 
3288
+ var strEmpty = "";
3289
+ function stringToBoolOrDefault(str, defaultValue) {
3290
+ if (defaultValue === void 0) { defaultValue = false; }
3291
+ if (str === undefined || str === null) {
3292
+ return defaultValue;
3293
+ }
3294
+ return str.toString()[_DYN_TO_LOWER_CASE ]() === "true";
3295
+ }
3296
+ function msToTimeSpan(totalms) {
3297
+ if (isNaN(totalms) || totalms < 0) {
3298
+ totalms = 0;
3299
+ }
3300
+ totalms = Math.round(totalms);
3301
+ var ms = strEmpty + totalms % 1000;
3302
+ var sec = strEmpty + Math.floor(totalms / 1000) % 60;
3303
+ var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;
3304
+ var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;
3305
+ var days = Math.floor(totalms / (1000 * 60 * 60 * 24));
3306
+ ms = ms[_DYN_LENGTH$1 ] === 1 ? "00" + ms : ms[_DYN_LENGTH$1 ] === 2 ? "0" + ms : ms;
3307
+ sec = sec[_DYN_LENGTH$1 ] < 2 ? "0" + sec : sec;
3308
+ min = min[_DYN_LENGTH$1 ] < 2 ? "0" + min : min;
3309
+ hour = hour[_DYN_LENGTH$1 ] < 2 ? "0" + hour : hour;
3310
+ return (days > 0 ? days + "." : strEmpty) + hour + ":" + min + ":" + sec + "." + ms;
3311
+ }
3312
+ function isCrossOriginError(message, url, lineNumber, columnNumber, error) {
3313
+ return !error && isString(message) && (message === "Script error." || message === "Script error");
3314
+ }
3315
+
3413
3316
  var PageView = /** @class */ (function () {
3414
3317
  function PageView(logger, name, url, durationMs, properties, measurements, id) {
3415
3318
  this.aiDataContract = {
@@ -3575,6 +3478,119 @@
3575
3478
  return telemetryItem;
3576
3479
  }
3577
3480
 
3481
+ var StorageType = createEnumStyle({
3482
+ LocalStorage: 0 ,
3483
+ SessionStorage: 1
3484
+ });
3485
+ createEnumStyle({
3486
+ AI: 0 ,
3487
+ AI_AND_W3C: 1 ,
3488
+ W3C: 2
3489
+ });
3490
+
3491
+ function createDomEvent(eventName) {
3492
+ var event = null;
3493
+ if (isFunction(Event)) {
3494
+ event = new Event(eventName);
3495
+ }
3496
+ else {
3497
+ var doc = getDocument();
3498
+ if (doc && doc.createEvent) {
3499
+ event = doc.createEvent("Event");
3500
+ event.initEvent(eventName, true, true);
3501
+ }
3502
+ }
3503
+ return event;
3504
+ }
3505
+
3506
+ var _canUseLocalStorage = undefined;
3507
+ var _canUseSessionStorage = undefined;
3508
+ function _getVerifiedStorageObject(storageType) {
3509
+ try {
3510
+ if (isNullOrUndefined(getGlobal$1())) {
3511
+ return null;
3512
+ }
3513
+ var uid = (new Date)[_DYN_TO_STRING$1 ]();
3514
+ var storage = getInst(storageType === StorageType.LocalStorage ? "localStorage" : "sessionStorage");
3515
+ storage.setItem(uid, uid);
3516
+ var fail = storage.getItem(uid) !== uid;
3517
+ storage[_DYN_REMOVE_ITEM ](uid);
3518
+ if (!fail) {
3519
+ return storage;
3520
+ }
3521
+ }
3522
+ catch (exception) {
3523
+ }
3524
+ return null;
3525
+ }
3526
+ function _getSessionStorageObject() {
3527
+ if (utlCanUseSessionStorage()) {
3528
+ return _getVerifiedStorageObject(StorageType.SessionStorage);
3529
+ }
3530
+ return null;
3531
+ }
3532
+ function utlDisableStorage() {
3533
+ _canUseLocalStorage = false;
3534
+ _canUseSessionStorage = false;
3535
+ }
3536
+ function utlEnableStorage() {
3537
+ _canUseLocalStorage = utlCanUseLocalStorage(true);
3538
+ _canUseSessionStorage = utlCanUseSessionStorage(true);
3539
+ }
3540
+ function utlCanUseLocalStorage(reset) {
3541
+ if (reset || _canUseLocalStorage === undefined) {
3542
+ _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);
3543
+ }
3544
+ return _canUseLocalStorage;
3545
+ }
3546
+ function utlCanUseSessionStorage(reset) {
3547
+ if (reset || _canUseSessionStorage === undefined) {
3548
+ _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);
3549
+ }
3550
+ return _canUseSessionStorage;
3551
+ }
3552
+ function utlGetSessionStorage(logger, name) {
3553
+ var storage = _getSessionStorageObject();
3554
+ if (storage !== null) {
3555
+ try {
3556
+ return storage.getItem(name);
3557
+ }
3558
+ catch (e) {
3559
+ _canUseSessionStorage = false;
3560
+ _throwInternal(logger, 2 , 2 , "Browser failed read of session storage. " + getExceptionName(e), { exception: dumpObj(e) });
3561
+ }
3562
+ }
3563
+ return null;
3564
+ }
3565
+ function utlSetSessionStorage(logger, name, data) {
3566
+ var storage = _getSessionStorageObject();
3567
+ if (storage !== null) {
3568
+ try {
3569
+ storage.setItem(name, data);
3570
+ return true;
3571
+ }
3572
+ catch (e) {
3573
+ _canUseSessionStorage = false;
3574
+ _throwInternal(logger, 2 , 4 , "Browser failed write to session storage. " + getExceptionName(e), { exception: dumpObj(e) });
3575
+ }
3576
+ }
3577
+ return false;
3578
+ }
3579
+ function utlRemoveSessionStorage(logger, name) {
3580
+ var storage = _getSessionStorageObject();
3581
+ if (storage !== null) {
3582
+ try {
3583
+ storage[_DYN_REMOVE_ITEM ](name);
3584
+ return true;
3585
+ }
3586
+ catch (e) {
3587
+ _canUseSessionStorage = false;
3588
+ _throwInternal(logger, 2 , 6 , "Browser failed removal of session storage item. " + getExceptionName(e), { exception: dumpObj(e) });
3589
+ }
3590
+ }
3591
+ return false;
3592
+ }
3593
+
3578
3594
  var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
3579
3595
  var AnalyticsPluginIdentifier = "ApplicationInsightsAnalytics";
3580
3596
 
@@ -4507,7 +4523,7 @@
4507
4523
  });
4508
4524
  return _this;
4509
4525
  }
4510
- AnalyticsPlugin.Version = "3.0.0-beta.2208-14";
4526
+ AnalyticsPlugin.Version = "3.0.0-beta.2208-19";
4511
4527
  AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
4512
4528
  return AnalyticsPlugin;
4513
4529
  }(BaseTelemetryPlugin));
@@ -4515,7 +4531,7 @@
4515
4531
  exports.AnalyticsPlugin = AnalyticsPlugin;
4516
4532
  exports.ApplicationInsights = AnalyticsPlugin;
4517
4533
 
4518
- (function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
4534
+ Object.defineProperty(exports, '__esModule', { value: true });
4519
4535
 
4520
4536
  }));
4521
4537
  //# sourceMappingURL=applicationinsights-analytics-js.js.map