@cloudcare/browser-core 3.2.26 → 3.2.29

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 (87) hide show
  1. package/cjs/browser/asyncClocks.js +0 -4
  2. package/cjs/browser/asyncClocks.js.map +1 -1
  3. package/cjs/configuration/configuration.js +1 -1
  4. package/cjs/configuration/configuration.js.map +1 -1
  5. package/cjs/configuration/remoteConfiguration.js +0 -85
  6. package/cjs/configuration/remoteConfiguration.js.map +1 -1
  7. package/cjs/configuration/transportConfiguration.js +0 -2
  8. package/cjs/configuration/transportConfiguration.js.map +1 -1
  9. package/cjs/dataMap.js +1 -2
  10. package/cjs/dataMap.js.map +1 -1
  11. package/cjs/helper/deviceInfo.js +2 -41
  12. package/cjs/helper/deviceInfo.js.map +1 -1
  13. package/cjs/helper/mobileUtil.js +2 -2
  14. package/cjs/helper/mobileUtil.js.map +1 -1
  15. package/cjs/helper/serialisation/rowData.js +0 -1
  16. package/cjs/helper/serialisation/rowData.js.map +1 -1
  17. package/cjs/helper/tools.js +6 -21
  18. package/cjs/helper/tools.js.map +1 -1
  19. package/cjs/index.js +7 -0
  20. package/cjs/index.js.map +1 -1
  21. package/cjs/session/sessionConstants.js +5 -1
  22. package/cjs/session/sessionConstants.js.map +1 -1
  23. package/cjs/session/sessionInCookie.js +1 -1
  24. package/cjs/session/sessionInCookie.js.map +1 -1
  25. package/cjs/session/sessionInLocalStorage.js +1 -1
  26. package/cjs/session/sessionInLocalStorage.js.map +1 -1
  27. package/cjs/session/sessionStore.js +18 -5
  28. package/cjs/session/sessionStore.js.map +1 -1
  29. package/cjs/session/sessionStoreOperations.js +34 -8
  30. package/cjs/session/sessionStoreOperations.js.map +1 -1
  31. package/cjs/transport/batch.js +9 -11
  32. package/cjs/transport/batch.js.map +1 -1
  33. package/cjs/transport/httpRequest.js +40 -6
  34. package/cjs/transport/httpRequest.js.map +1 -1
  35. package/esm/browser/asyncClocks.js +0 -4
  36. package/esm/browser/asyncClocks.js.map +1 -1
  37. package/esm/configuration/configuration.js +1 -1
  38. package/esm/configuration/configuration.js.map +1 -1
  39. package/esm/configuration/remoteConfiguration.js +0 -85
  40. package/esm/configuration/remoteConfiguration.js.map +1 -1
  41. package/esm/configuration/transportConfiguration.js +0 -2
  42. package/esm/configuration/transportConfiguration.js.map +1 -1
  43. package/esm/dataMap.js +1 -2
  44. package/esm/dataMap.js.map +1 -1
  45. package/esm/helper/deviceInfo.js +2 -41
  46. package/esm/helper/deviceInfo.js.map +1 -1
  47. package/esm/helper/mobileUtil.js +2 -2
  48. package/esm/helper/mobileUtil.js.map +1 -1
  49. package/esm/helper/serialisation/rowData.js +0 -1
  50. package/esm/helper/serialisation/rowData.js.map +1 -1
  51. package/esm/helper/tools.js +6 -21
  52. package/esm/helper/tools.js.map +1 -1
  53. package/esm/index.js +1 -1
  54. package/esm/index.js.map +1 -1
  55. package/esm/session/sessionConstants.js +4 -0
  56. package/esm/session/sessionConstants.js.map +1 -1
  57. package/esm/session/sessionInCookie.js +2 -2
  58. package/esm/session/sessionInCookie.js.map +1 -1
  59. package/esm/session/sessionInLocalStorage.js +2 -2
  60. package/esm/session/sessionInLocalStorage.js.map +1 -1
  61. package/esm/session/sessionStore.js +18 -5
  62. package/esm/session/sessionStore.js.map +1 -1
  63. package/esm/session/sessionStoreOperations.js +34 -9
  64. package/esm/session/sessionStoreOperations.js.map +1 -1
  65. package/esm/transport/batch.js +9 -11
  66. package/esm/transport/batch.js.map +1 -1
  67. package/esm/transport/httpRequest.js +40 -6
  68. package/esm/transport/httpRequest.js.map +1 -1
  69. package/package.json +23 -24
  70. package/src/browser/asyncClocks.js +0 -3
  71. package/src/configuration/configuration.js +1 -1
  72. package/src/configuration/remoteConfiguration.js +0 -84
  73. package/src/configuration/transportConfiguration.js +0 -2
  74. package/src/dataMap.js +2 -2
  75. package/src/helper/deviceInfo.js +9 -37
  76. package/src/helper/mobileUtil.js +2 -2
  77. package/src/helper/serialisation/rowData.js +0 -1
  78. package/src/helper/tools.js +6 -23
  79. package/src/index.js +2 -1
  80. package/src/session/sessionConstants.js +4 -0
  81. package/src/session/sessionInCookie.js +3 -2
  82. package/src/session/sessionInLocalStorage.js +4 -2
  83. package/src/session/sessionStore.js +27 -8
  84. package/src/session/sessionStoreOperations.js +31 -13
  85. package/src/transport/batch.js +9 -11
  86. package/src/transport/httpRequest.js +53 -14
  87. package/types/index.d.ts +72 -58
@@ -335,7 +335,7 @@ export var mediaQueriesSupported = function mediaQueriesSupported() {
335
335
  };
336
336
  export var getScreenOrientation = function getScreenOrientation() {
337
337
  var screenOrientationAPI = screen.msOrientation || screen.mozOrientation || (screen.orientation || {}).type;
338
- var screenOrientation = '未取到值';
338
+ var screenOrientation = 'unknown';
339
339
  if (screenOrientationAPI) {
340
340
  screenOrientation = screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait';
341
341
  } else if (mediaQueriesSupported()) {
@@ -428,14 +428,6 @@ export var formatJsonString = function formatJsonString(obj) {
428
428
  return JSON.stringify(obj);
429
429
  }
430
430
  };
431
- // export var formatString = function (str) {
432
- // if (str.length > MAX_STRING_LENGTH) {
433
- // sd.log('字符串长度超过限制,已经做截取--' + str)
434
- // return str.slice(0, MAX_STRING_LENGTH)
435
- // } else {
436
- // return str
437
- // }
438
- // }
439
431
  var _searchObjString = function searchObjString(o) {
440
432
  if (isObject(o)) {
441
433
  each(o, function (a, b) {
@@ -559,8 +551,6 @@ export function UUID(placeholder) {
559
551
  // eslint-disable-next-line no-bitwise
560
552
  (parseInt(placeholder, 10) ^ Math.random() * 16 >> parseInt(placeholder, 10) / 4).toString(16) : "".concat(1e7, "-", 1e3, "-", 4e3, "-", 8e3, "-", 1e11).replace(/[018]/g, UUID);
561
553
  }
562
-
563
- // 替换url包含数字的路由
564
554
  export function replaceNumberCharByPath(path) {
565
555
  var pathGroup = '';
566
556
  if (path) {
@@ -864,7 +854,7 @@ export var loadScript = function loadScript(para) {
864
854
  };
865
855
  export var getHostname = function getHostname(url, defaultValue) {
866
856
  if (!defaultValue || typeof defaultValue !== 'string') {
867
- defaultValue = 'hostname解析异常';
857
+ defaultValue = 'hostname expception!';
868
858
  }
869
859
  var hostname = null;
870
860
  try {
@@ -990,9 +980,9 @@ export function deepClone(value) {
990
980
  export var getCurrentDomain = function getCurrentDomain(url) {
991
981
  var cookieTopLevelDomain = getCookieTopLevelDomain();
992
982
  if (url === '') {
993
- return 'url解析失败';
983
+ return 'URL parsing failed';
994
984
  } else if (cookieTopLevelDomain === '') {
995
- return 'url解析失败';
985
+ return 'URL parsing failed';
996
986
  } else {
997
987
  return cookieTopLevelDomain;
998
988
  }
@@ -1063,19 +1053,15 @@ export var strip_sa_properties = function strip_sa_properties(p) {
1063
1053
  each(v, function (arrv) {
1064
1054
  if (isString(arrv)) {
1065
1055
  temp.push(arrv);
1066
- } else {
1067
- console.log('您的数据-', k, v, '的数组里的值必须是字符串,已经将其删除');
1068
- }
1056
+ } else {}
1069
1057
  });
1070
1058
  if (temp.length !== 0) {
1071
1059
  p[k] = temp;
1072
1060
  } else {
1073
1061
  delete p[k];
1074
- console.log('已经删除空的数组');
1075
1062
  }
1076
1063
  }
1077
1064
  if (!(isString(v) || isNumber(v) || isDate(v) || isBoolean(v) || isArray(v) || isFunction(v) || k === '$option')) {
1078
- console.log('您的数据-', k, v, '-格式不满足要求,我们已经将其删除');
1079
1065
  delete p[k];
1080
1066
  }
1081
1067
  });
@@ -1090,7 +1076,7 @@ export var searchConfigData = function searchConfigData(data) {
1090
1076
  return {};
1091
1077
  }
1092
1078
  };
1093
- // 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束
1079
+
1094
1080
  // abcd=1&b=1&c=3;
1095
1081
  // abdc=1;b=1;a=3;
1096
1082
  export var stringSplice = function stringSplice(src, k, e, sp) {
@@ -1114,7 +1100,6 @@ export function getStatusGroup(status) {
1114
1100
  export var getReferrer = function getReferrer() {
1115
1101
  var ref = document.referrer.toLowerCase();
1116
1102
  var re = /^[^\?&#]*.swf([\?#])?/;
1117
- // 如果页面 Referer 为空,从 URL 中获取
1118
1103
  if (ref === '' || ref.match(re)) {
1119
1104
  ref = stringSplice(window.location.href, 'ref', '&', '');
1120
1105
  if (ref !== '') {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","names":["display","setTimeout","clearTimeout","ArrayProto","Array","prototype","FuncProto","Function","ObjProto","Object","slice","toString","hasOwnProperty","nativeForEach","forEach","nativeIsArray","isArray","breaker","each","obj","iterator","context","length","i","l","call","key","assign","target","arguments","source","prop","shallowClone","object","extend","extend2Lev","isObject","coverExtend","isFunction","f","test","err","isArguments","toArray","iterable","values","results","value","keys","indexOf","arr","hasAttribute","ele","attr","attributes","specified","filter","fn","self","ret","val","push","map","some","flag","every","matchList","list","useStartsWith","undefined","item","RegExp","startsWith","e","error","cssEscape","str","window","CSS","escape","replace","ch","asCodePoint","charCodeAt","inherit","subclass","superclass","F","constructor","tirm","isEmptyObject","objectEntries","res","isUndefined","isString","isDate","isBoolean","isNumber","String","isElement","nodeType","isJSONString","JSON","parse","safeJSONParse","encodeDates","v","k","formatDate","_encodeDates","mediaQueriesSupported","matchMedia","msMatchMedia","getScreenOrientation","screenOrientationAPI","screen","msOrientation","mozOrientation","orientation","type","screenOrientation","matchMediaFunc","matches","now","Date","getTime","throttle","wait","options","needLeadingExecution","leading","needTrailingExecution","trailing","inWaitPeriod","pendingExecutionWithParameters","pendingTimeoutId","throttled","apply","cancel","hashCode","hash","char","d","pad","n","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","searchObjDate","o","a","b","_searchObjDate","formatJsonString","stringify","searchObjString","formatString","_searchObjString","unique","ar","temp","strip_empty_properties","p","utf8Encode","string","utftext","start","end","stringl","c1","enc","fromCharCode","substring","base64Encode","data","btoa","encodeURIComponent","match","p1","b64","o1","o2","o3","h1","h2","h3","h4","bits","ac","tmp_arr","charAt","join","UUID","placeholder","parseInt","Math","random","concat","replaceNumberCharByPath","path","pathGroup","urlParse","para","URLParser","_fields","Username","Password","Port","Protocol","Host","Path","URL","QueryString","Fragment","_values","_regex","_parse","setUrl","_initValues","addQueryString","queryObj","_typeof","query","getParse","getUrl","url","Origin","exec","c","elementMatches","element","selector","msMatchesSelector","localStorage","get","name","getItem","storedValue","sd","log","set","setItem","remove","removeItem","isSupport","supported","sessionStorage","isSupportCors","XMLHttpRequest","XDomainRequest","xhr","cors","ActiveXObject","console","ajax","timeout","credentials","getJSON","g","success","abort","e2","onreadystatechange","readyState","status","responseText","onload","open","withCredentials","header","setRequestHeader","contentType","send","loadScript","appendCall","document","getElementsByTagName","appendChild","createElement","rel","href","async","setAttribute","src","onerror","getHostname","defaultValue","hostname","getQueryParamsFromUrl","result","split","queryString","getURLSearchParams","decodeParam","decodeURIComponent","args","pairs","pos","createCircularReferenceChecker","WeakSet","hasAlreadyBeenSeen","has","add","array","getType","mergeInto","destination","circularReferenceChecker","flags","global","ignoreCase","multiline","sticky","unicode","merged","deepClone","getCurrentDomain","cookieTopLevelDomain","getCookieTopLevelDomain","location","splitResult","domainStr","splice","cookie","setTime","toGMTString","strToUnicode","nstr","autoExeQueue","queue","items","enqueue","dequeue","shift","getCurrentItem","isRun","close","strip_sa_properties","arrv","searchConfigData","$option","data_config","stringSplice","sp","ps","pe","getStatusGroup","substr","getReferrer","ref","referrer","toLowerCase","re","typeDecide","noop","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","performDraw","threshold","round","num","decimals","toFixed","msToNs","duration","mapValues","newObject","toServerDuration","getRelativeTime","timestamp","getNavigationStart","preferredNow","relativeNow","getTimestamp","relativeTime","performance","clocksNow","relative","timeStamp","timeStampNow","dateNow","looksLikeRelativeTime","time","elapsed","clocksOrigin","preferredClock","clocks","preferredTimeStamp","relativeToClocks","getCorrectedTimeStamp","currentDrift","addDuration","correctedOrigin","navigationStart","timing","COMMA_SEPARATED_KEY_VALUE","findCommaSeparatedValue","rawString","lastIndex","findCommaSeparatedValues","Map","findByPath","pathArr","safeTruncate","candidate","lastChar","isMatchOption","itemType","includes","search","find","predicate","arrayFrom","arrayLike","from","Set","findLast","isPercentage","getLocationOrigin","getLinkElementOrigin","Browser","IE","CHROMIUM","SAFARI","OTHER","isIE","detectBrowserCached","isChromium","isSafari","browserCache","isNullUndefinedDefaultValue","detectBrowser","browserWindow","_browserWindow$naviga","userAgent","navigator","chrome","vendor","documentMode","origin","sanitizedHost","host","protocol","withSnakeCaseKeys","toSnakeCase","deepSnakeCase","word","uppercaseLetter","index","objectHasValue","endsWith","removeDuplicates","tryToClone","response","clone","isHashAnAnchor","correspondingId","getElementById","getPathFromHash","discardNegativeDuration"],"sources":["../../src/helper/tools.js"],"sourcesContent":["import { display } from './display'\nimport { setTimeout, clearTimeout } from './timer'\nvar ArrayProto = Array.prototype\nvar FuncProto = Function.prototype\nvar ObjProto = Object.prototype\nvar slice = ArrayProto.slice\nvar toString = ObjProto.toString\nvar hasOwnProperty = ObjProto.hasOwnProperty\nvar nativeForEach = ArrayProto.forEach\nvar nativeIsArray = Array.isArray\nvar breaker = false\nexport var each = function (obj, iterator, context) {\n if (obj === null) return false\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context)\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) {\n return false\n }\n }\n } else {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) {\n return false\n }\n }\n }\n }\n}\nexport function assign(target) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\n target[prop] = source[prop]\n }\n }\n })\n return target\n}\n\nexport function shallowClone(object) {\n return assign({}, object)\n}\nexport var extend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var extend2Lev = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n if (isObject(source[prop]) && isObject(obj[prop])) {\n extend(obj[prop], source[prop])\n } else {\n obj[prop] = source[prop]\n }\n }\n }\n })\n return obj\n}\nexport var coverExtend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0 && obj[prop] === void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var isArray =\n nativeIsArray ||\n function (obj) {\n return toString.call(obj) === '[object Array]'\n }\nexport var isFunction = function (f) {\n if (!f) {\n return false\n }\n try {\n return /^\\s*\\bfunction\\b/.test(f)\n } catch (err) {\n return false\n }\n}\nexport var isArguments = function (obj) {\n return !!(obj && hasOwnProperty.call(obj, 'callee'))\n}\nexport var toArray = function (iterable) {\n if (!iterable) return []\n if (iterable.toArray) {\n return iterable.toArray()\n }\n if (isArray(iterable)) {\n return slice.call(iterable)\n }\n if (isArguments(iterable)) {\n return slice.call(iterable)\n }\n return values(iterable)\n}\nexport var values = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value) {\n results[results.length] = value\n })\n return results\n}\nexport var keys = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value, key) {\n results[results.length] = key\n })\n return results\n}\nexport var indexOf = function (arr, target) {\n var indexOf = arr.indexOf\n if (indexOf) {\n return indexOf.call(arr, target)\n } else {\n for (var i = 0; i < arr.length; i++) {\n if (target === arr[i]) {\n return i\n }\n }\n return -1\n }\n}\nexport var hasAttribute = function (ele, attr) {\n if (ele.hasAttribute) {\n return ele.hasAttribute(attr)\n } else {\n return !!(ele.attributes[attr] && ele.attributes[attr].specified)\n }\n}\nexport var filter = function (arr, fn, self) {\n if (arr.filter) {\n return arr.filter(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n ret.push(val)\n }\n }\n return ret\n}\nexport var map = function (arr, fn, self) {\n if (arr.map) {\n return arr.map(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n ret.push(fn.call(self, val, i, arr))\n }\n return ret\n}\nexport var some = function (arr, fn, self) {\n if (arr.some) {\n return arr.some(fn)\n }\n var flag = false\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n flag = true\n break\n }\n }\n return flag\n}\nexport var every = function (arr, fn, self) {\n if (arr.every) {\n return arr.every(fn)\n }\n var flag = true\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (!fn.call(self, val, i, arr)) {\n flag = false\n break\n }\n }\n return flag\n}\nexport var matchList = function (list, value, useStartsWith) {\n if (useStartsWith === undefined) {\n useStartsWith = false\n }\n return some(list, function (item) {\n try {\n if (typeof item === 'function') {\n return item(value)\n } else if (item instanceof RegExp) {\n return item.test(value)\n } else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value\n }\n } catch (e) {\n display.error(e)\n }\n return false\n })\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport var cssEscape = function (str) {\n str = str + ''\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str)\n }\n\n // eslint-disable-next-line no-control-regex\n return str.replace(\n /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,\n function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD'\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return (\n ch.slice(0, -1) +\n '\\\\' +\n ch.charCodeAt(ch.length - 1).toString(16) +\n ' '\n )\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return '\\\\' + ch\n }\n )\n}\nexport var inherit = function (subclass, superclass) {\n var F = function () {}\n F.prototype = superclass.prototype\n subclass.prototype = new F()\n subclass.prototype.constructor = subclass\n subclass.superclass = superclass.prototype\n return subclass\n}\nexport var tirm = function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n}\nexport var isObject = function (obj) {\n if (obj === null) return false\n return toString.call(obj) === '[object Object]'\n}\n\nexport var isEmptyObject = function (obj) {\n if (isObject(obj)) {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n return false\n }\n }\n return true\n } else {\n return false\n }\n}\nexport var objectEntries = function (object) {\n var res = []\n each(object, function (value, key) {\n res.push([key, value])\n })\n return res\n}\nexport var isUndefined = function (obj) {\n return obj === void 0\n}\nexport var isString = function (obj) {\n return toString.call(obj) === '[object String]'\n}\nexport var isDate = function (obj) {\n return toString.call(obj) === '[object Date]'\n}\nexport var isBoolean = function (obj) {\n return toString.call(obj) === '[object Boolean]'\n}\nexport var isNumber = function (obj) {\n return toString.call(obj) === '[object Number]' && /[\\d\\.]+/.test(String(obj))\n}\nexport var isElement = function (obj) {\n return !!(obj && obj.nodeType === 1)\n}\nexport var isJSONString = function (str) {\n try {\n JSON.parse(str)\n } catch (e) {\n return false\n }\n return true\n}\nexport var safeJSONParse = function (str) {\n var val = null\n try {\n val = JSON.parse(str)\n } catch (e) {\n return false\n }\n return val\n}\n\nexport var encodeDates = function (obj) {\n each(obj, function (v, k) {\n if (isDate(v)) {\n obj[k] = formatDate(v)\n } else if (isObject(v)) {\n obj[k] = encodeDates(v)\n }\n })\n return obj\n}\nexport var mediaQueriesSupported = function () {\n return (\n typeof window.matchMedia !== 'undefined' ||\n typeof window.msMatchMedia !== 'undefined'\n )\n}\nexport var getScreenOrientation = function () {\n var screenOrientationAPI =\n screen.msOrientation ||\n screen.mozOrientation ||\n (screen.orientation || {}).type\n var screenOrientation = '未取到值'\n if (screenOrientationAPI) {\n screenOrientation =\n screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait'\n } else if (mediaQueriesSupported()) {\n var matchMediaFunc = window.matchMedia || window.msMatchMedia\n if (matchMediaFunc('(orientation: landscape)').matches) {\n screenOrientation = 'landscape'\n } else if (matchMediaFunc('(orientation: portrait)').matches) {\n screenOrientation = 'portrait'\n }\n }\n return screenOrientation\n}\nexport var now =\n Date.now ||\n function () {\n return new Date().getTime()\n }\n\nexport var throttle = function (fn, wait, options) {\n var needLeadingExecution =\n options && options.leading !== undefined ? options.leading : true\n var needTrailingExecution =\n options && options.trailing !== undefined ? options.trailing : true\n let inWaitPeriod = false\n let pendingExecutionWithParameters\n let pendingTimeoutId\n var context = this\n return {\n throttled: function () {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = arguments\n return\n }\n\n if (needLeadingExecution) {\n fn.apply(context, arguments)\n } else {\n pendingExecutionWithParameters = arguments\n }\n inWaitPeriod = true\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(context, pendingExecutionWithParameters)\n }\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }, wait)\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId)\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }\n }\n}\nexport var hashCode = function (str) {\n if (typeof str !== 'string') {\n return 0\n }\n var hash = 0\n var char = null\n if (str.length == 0) {\n return hash\n }\n for (var i = 0; i < str.length; i++) {\n char = str.charCodeAt(i)\n hash = (hash << 5) - hash + char\n hash = hash & hash\n }\n return hash\n}\nexport var formatDate = function (d) {\n function pad(n) {\n return n < 10 ? '0' + n : n\n }\n\n return (\n d.getFullYear() +\n '-' +\n pad(d.getMonth() + 1) +\n '-' +\n pad(d.getDate()) +\n ' ' +\n pad(d.getHours()) +\n ':' +\n pad(d.getMinutes()) +\n ':' +\n pad(d.getSeconds()) +\n '.' +\n pad(d.getMilliseconds())\n )\n}\nexport var searchObjDate = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjDate(o[b])\n } else {\n if (isDate(a)) {\n o[b] = formatDate(a)\n }\n }\n })\n }\n}\nexport var formatJsonString = function (obj) {\n try {\n return JSON.stringify(obj, null, ' ')\n } catch (e) {\n return JSON.stringify(obj)\n }\n}\n// export var formatString = function (str) {\n// if (str.length > MAX_STRING_LENGTH) {\n// sd.log('字符串长度超过限制,已经做截取--' + str)\n// return str.slice(0, MAX_STRING_LENGTH)\n// } else {\n// return str\n// }\n// }\nexport var searchObjString = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjString(o[b])\n } else {\n if (isString(a)) {\n o[b] = formatString(a)\n }\n }\n })\n }\n}\nexport var unique = function (ar) {\n var temp,\n n = [],\n o = {}\n for (var i = 0; i < ar.length; i++) {\n temp = ar[i]\n if (!(temp in o)) {\n o[temp] = true\n n.push(temp)\n }\n }\n return n\n}\nexport var strip_empty_properties = function (p) {\n var ret = {}\n each(p, function (v, k) {\n if (v != null) {\n ret[k] = v\n }\n })\n return ret\n}\nexport var utf8Encode = function (string) {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n')\n\n var utftext = '',\n start,\n end\n var stringl = 0,\n n\n\n start = end = 0\n stringl = string.length\n\n for (n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n)\n var enc = null\n\n if (c1 < 128) {\n end++\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128)\n } else {\n enc = String.fromCharCode(\n (c1 >> 12) | 224,\n ((c1 >> 6) & 63) | 128,\n (c1 & 63) | 128\n )\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.substring(start, end)\n }\n utftext += enc\n start = end = n + 1\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length)\n }\n\n return utftext\n}\nexport var base64Encode = function (data) {\n if (typeof btoa === 'function') {\n return btoa(\n encodeURIComponent(data).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1)\n })\n )\n }\n data = String(data)\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n var o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n enc = '',\n tmp_arr = []\n if (!data) {\n return data\n }\n data = utf8Encode(data)\n do {\n o1 = data.charCodeAt(i++)\n o2 = data.charCodeAt(i++)\n o3 = data.charCodeAt(i++)\n\n bits = (o1 << 16) | (o2 << 8) | o3\n\n h1 = (bits >> 18) & 0x3f\n h2 = (bits >> 12) & 0x3f\n h3 = (bits >> 6) & 0x3f\n h4 = bits & 0x3f\n tmp_arr[ac++] =\n b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)\n } while (i < data.length)\n\n enc = tmp_arr.join('')\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '=='\n break\n case 2:\n enc = enc.slice(0, -1) + '='\n break\n }\n\n return enc\n}\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function UUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (\n parseInt(placeholder, 10) ^\n ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))\n ).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, UUID)\n}\n\n// 替换url包含数字的路由\nexport function replaceNumberCharByPath(path) {\n var pathGroup = ''\n if (path) {\n pathGroup = path.replace(/\\/([^\\/]*)\\d([^\\/]*)/g, '/?').replace(/\\/$/g, '')\n }\n return pathGroup || '/'\n}\n\nexport var urlParse = function (para) {\n var URLParser = function (a) {\n this._fields = {\n Username: 4,\n Password: 5,\n Port: 7,\n Protocol: 2,\n Host: 6,\n Path: 8,\n URL: 0,\n QueryString: 9,\n Fragment: 10\n }\n this._values = {}\n this._regex = null\n this._regex =\n /^((\\w+):\\/\\/)?((\\w+):?(\\w+)?@)?([^\\/\\?:]+):?(\\d+)?(\\/?[^\\?#]+)?\\??([^#]+)?#?(\\w*)/\n\n if (typeof a != 'undefined') {\n this._parse(a)\n }\n }\n URLParser.prototype.setUrl = function (a) {\n this._parse(a)\n }\n URLParser.prototype._initValues = function () {\n for (var a in this._fields) {\n this._values[a] = ''\n }\n }\n URLParser.prototype.addQueryString = function (queryObj) {\n if (typeof queryObj !== 'object') {\n return false\n }\n var query = this._values.QueryString || ''\n for (var i in queryObj) {\n if (new RegExp(i + '[^&]+').test(query)) {\n query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i])\n } else {\n if (query.slice(-1) === '&') {\n query = query + i + '=' + queryObj[i]\n } else {\n if (query === '') {\n query = i + '=' + queryObj[i]\n } else {\n query = query + '&' + i + '=' + queryObj[i]\n }\n }\n }\n }\n this._values.QueryString = query\n }\n URLParser.prototype.getParse = function () {\n return this._values\n }\n URLParser.prototype.getUrl = function () {\n var url = ''\n url += this._values.Origin\n // url += this._values.Port ? ':' + this._values.Port : ''\n url += this._values.Path\n url += this._values.QueryString ? '?' + this._values.QueryString : ''\n return url\n }\n URLParser.prototype._parse = function (a) {\n this._initValues()\n var b = this._regex.exec(a)\n if (!b) {\n throw 'DPURLParser::_parse -> Invalid URL'\n }\n for (var c in this._fields) {\n if (typeof b[this._fields[c]] != 'undefined') {\n this._values[c] = b[this._fields[c]]\n }\n }\n this._values['Path'] = this._values['Path'] || '/'\n this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n this._values['Origin'] =\n this._values['Protocol'] +\n '://' +\n this._values['Hostname'] +\n (this._values.Port ? ':' + this._values.Port : '')\n // this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n // this._values['Origin'] =\n // this._values['Protocol'] + '://' + this._values['Hostname']\n }\n return new URLParser(para)\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector)\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector)\n }\n return false\n}\n\nexport var localStorage = {\n get: function (name) {\n return window.localStorage.getItem(name)\n },\n\n parse: function (name) {\n var storedValue\n try {\n storedValue = JSON.parse(localStorage.get(name)) || null\n } catch (err) {\n sd.log(err)\n }\n return storedValue\n },\n\n set: function (name, value) {\n window.localStorage.setItem(name, value)\n },\n\n remove: function (name) {\n window.localStorage.removeItem(name)\n },\n\n isSupport: function () {\n var supported = true\n try {\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n localStorage.set(key, val)\n if (localStorage.get(key) !== val) {\n supported = false\n }\n localStorage.remove(key)\n } catch (err) {\n supported = false\n }\n return supported\n }\n}\nexport var sessionStorage = {\n isSupport: function () {\n var supported = true\n\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n try {\n if (sessionStorage && sessionStorage.setItem) {\n sessionStorage.setItem(key, val)\n sessionStorage.removeItem(key, val)\n supported = true\n } else {\n supported = false\n }\n } catch (e) {\n supported = false\n }\n return supported\n }\n}\nexport var isSupportCors = function () {\n if (typeof window.XMLHttpRequest === 'undefined') {\n return false\n }\n if ('withCredentials' in new XMLHttpRequest()) {\n return true\n } else if (typeof XDomainRequest !== 'undefined') {\n return true\n } else {\n return false\n }\n}\nexport var xhr = function (cors) {\n if (cors) {\n if (\n typeof window.XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest()\n ) {\n return new XMLHttpRequest()\n } else if (typeof XDomainRequest !== 'undefined') {\n return new XDomainRequest()\n } else {\n return null\n }\n } else {\n if (typeof window.XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest()\n }\n if (window.ActiveXObject) {\n try {\n return new ActiveXObject('Msxml2.XMLHTTP')\n } catch (d) {\n try {\n return new ActiveXObject('Microsoft.XMLHTTP')\n } catch (d) {\n console.log(d)\n }\n }\n }\n }\n}\nexport var ajax = function (para) {\n para.timeout = para.timeout || 20000\n\n para.credentials =\n typeof para.credentials === 'undefined' ? true : para.credentials\n\n function getJSON(data) {\n if (!data) {\n return ''\n }\n try {\n return JSON.parse(data)\n } catch (e) {\n return {}\n }\n }\n\n var g = xhr(para.cors)\n\n if (!g) {\n return false\n }\n\n if (!para.type) {\n para.type = para.data ? 'POST' : 'GET'\n }\n para = extend(\n {\n success: function () {},\n error: function () {}\n },\n para\n )\n\n try {\n if (typeof g === 'object' && 'timeout' in g) {\n g.timeout = para.timeout\n } else {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n }\n } catch (e) {\n try {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n } catch (e2) {}\n }\n\n g.onreadystatechange = function () {\n try {\n if (g.readyState == 4) {\n if ((g.status >= 200 && g.status < 300) || g.status == 304) {\n para.success(getJSON(g.responseText))\n } else {\n para.error(getJSON(g.responseText), g.status)\n }\n g.onreadystatechange = null\n g.onload = null\n }\n } catch (e) {\n g.onreadystatechange = null\n g.onload = null\n }\n }\n\n g.open(para.type, para.url, true)\n\n try {\n if (para.credentials) {\n g.withCredentials = true\n }\n if (isObject(para.header)) {\n for (var i in para.header) {\n g.setRequestHeader(i, para.header[i])\n }\n }\n\n if (para.data) {\n if (!para.cors) {\n g.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n }\n if (para.contentType === 'application/json') {\n g.setRequestHeader('Content-type', 'application/json; charset=UTF-8')\n } else {\n g.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')\n }\n }\n } catch (e) {}\n\n g.send(para.data || null)\n}\nexport var loadScript = function (para) {\n para = extend(\n {\n success: function () {},\n error: function () {},\n appendCall: function (g) {\n document.getElementsByTagName('head')[0].appendChild(g)\n }\n },\n para\n )\n\n var g = null\n if (para.type === 'css') {\n g = document.createElement('link')\n g.rel = 'stylesheet'\n g.href = para.url\n }\n if (para.type === 'js') {\n g = document.createElement('script')\n g.async = 'async'\n g.setAttribute('charset', 'UTF-8')\n g.src = para.url\n g.type = 'text/javascript'\n }\n g.onload = g.onreadystatechange = function () {\n if (\n !this.readyState ||\n this.readyState === 'loaded' ||\n this.readyState === 'complete'\n ) {\n para.success()\n g.onload = g.onreadystatechange = null\n }\n }\n g.onerror = function () {\n para.error()\n g.onerror = null\n }\n para.appendCall(g)\n}\nexport var getHostname = function (url, defaultValue) {\n if (!defaultValue || typeof defaultValue !== 'string') {\n defaultValue = 'hostname解析异常'\n }\n var hostname = null\n try {\n hostname = URL(url).hostname\n } catch (e) {}\n return hostname || defaultValue\n}\nexport var getQueryParamsFromUrl = function (url) {\n var result = {}\n var arr = url.split('?')\n var queryString = arr[1] || ''\n if (queryString) {\n result = getURLSearchParams('?' + queryString)\n }\n return result\n}\n\nexport var getURLSearchParams = function (queryString) {\n queryString = queryString || ''\n var decodeParam = function (str) {\n return decodeURIComponent(str)\n }\n var args = {}\n var query = queryString.substring(1)\n var pairs = query.split('&')\n for (var i = 0; i < pairs.length; i++) {\n var pos = pairs[i].indexOf('=')\n if (pos === -1) continue\n var name = pairs[i].substring(0, pos)\n var value = pairs[i].substring(pos + 1)\n name = decodeParam(name)\n value = decodeParam(value)\n args[name] = value\n }\n return args\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set = new WeakSet()\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set.has(value)\n if (!has) {\n set.add(value)\n }\n return has\n }\n }\n }\n var array = []\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0\n if (!has) {\n array.push(value)\n }\n return has\n }\n }\n}\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return typeof value\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n // ignore the source if it is undefined\n if (typeof circularReferenceChecker === 'undefined') {\n circularReferenceChecker = createCircularReferenceChecker()\n }\n if (source === undefined) {\n return destination\n }\n\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source\n } else if (source instanceof Date) {\n return new Date(source.getTime())\n } else if (source instanceof RegExp) {\n var flags =\n source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : ''\n ].join('')\n return new RegExp(source.source, flags)\n }\n\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined\n } else if (Array.isArray(source)) {\n var merged = Array.isArray(destination) ? destination : []\n for (var i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker)\n }\n return merged\n }\n\n var merged = getType(destination) === 'object' ? destination : {}\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(\n merged[key],\n source[key],\n circularReferenceChecker\n )\n }\n }\n return merged\n}\n\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value)\n}\n\nexport var getCurrentDomain = function (url) {\n var cookieTopLevelDomain = getCookieTopLevelDomain()\n if (url === '') {\n return 'url解析失败'\n } else if (cookieTopLevelDomain === '') {\n return 'url解析失败'\n } else {\n return cookieTopLevelDomain\n }\n}\nexport var getCookieTopLevelDomain = function (hostname) {\n hostname = hostname || window.location.hostname\n var splitResult = hostname.split('.')\n if (\n isArray(splitResult) &&\n splitResult.length >= 2 &&\n !/^(\\d+\\.)+\\d+$/.test(hostname)\n ) {\n var domainStr = '.' + splitResult.splice(splitResult.length - 1, 1)\n while (splitResult.length > 0) {\n domainStr =\n '.' + splitResult.splice(splitResult.length - 1, 1) + domainStr\n document.cookie = 'domain_test=true; path=/; domain=' + domainStr\n if (document.cookie.indexOf('domain_test=true') !== -1) {\n var now = new Date()\n now.setTime(now.getTime() - 1000)\n document.cookie =\n 'domain_test=true; expires=' +\n now.toGMTString() +\n '; path=/; domain=' +\n domainStr\n return domainStr\n }\n }\n }\n return ''\n}\nexport var strToUnicode = function (str) {\n if (typeof str !== 'string') {\n return str\n }\n var nstr = ''\n for (var i = 0; i < str.length; i++) {\n nstr += '\\\\' + str.charCodeAt(i).toString(16)\n }\n return nstr\n}\nexport var autoExeQueue = function () {\n var queue = {\n items: [],\n enqueue: function (val) {\n this.items.push(val)\n this.start()\n },\n dequeue: function () {\n return this.items.shift()\n },\n getCurrentItem: function () {\n return this.items[0]\n },\n isRun: false,\n start: function () {\n if (this.items.length > 0 && !this.isRun) {\n this.isRun = true\n this.getCurrentItem().start()\n }\n },\n close: function () {\n this.dequeue()\n this.isRun = false\n this.start()\n }\n }\n return queue\n}\nexport var strip_sa_properties = function (p) {\n if (!isObject(p)) {\n return p\n }\n each(p, function (v, k) {\n if (isArray(v)) {\n var temp = []\n each(v, function (arrv) {\n if (isString(arrv)) {\n temp.push(arrv)\n } else {\n console.log(\n '您的数据-',\n k,\n v,\n '的数组里的值必须是字符串,已经将其删除'\n )\n }\n })\n if (temp.length !== 0) {\n p[k] = temp\n } else {\n delete p[k]\n console.log('已经删除空的数组')\n }\n }\n if (\n !(\n isString(v) ||\n isNumber(v) ||\n isDate(v) ||\n isBoolean(v) ||\n isArray(v) ||\n isFunction(v) ||\n k === '$option'\n )\n ) {\n console.log('您的数据-', k, v, '-格式不满足要求,我们已经将其删除')\n delete p[k]\n }\n })\n return p\n}\n\nexport var searchConfigData = function (data) {\n if (typeof data === 'object' && data.$option) {\n var data_config = data.$option\n delete data.$option\n return data_config\n } else {\n return {}\n }\n}\n// 从字符串 src 中查找 k+sp 和 e 之间的字符串,如果 k==e 且 k 只有一个,或者 e 不存在,从 k+sp 截取到字符串结束\n// abcd=1&b=1&c=3;\n// abdc=1;b=1;a=3;\nexport var stringSplice = function (src, k, e, sp) {\n if (src === '') {\n return ''\n }\n sp = sp === '' ? '=' : sp\n k += sp\n var ps = src.indexOf(k)\n if (ps < 0) {\n return ''\n }\n ps += k.length\n var pe = pe < ps ? src.length : src.indexOf(e, ps)\n return src.substring(ps, pe)\n}\nexport function getStatusGroup(status) {\n if (!status) return status === 0 ? undefined : status\n return (\n String(status).substr(0, 1) + String(status).substr(1).replace(/\\d*/g, 'x')\n )\n}\nexport var getReferrer = function () {\n var ref = document.referrer.toLowerCase()\n var re = /^[^\\?&#]*.swf([\\?#])?/\n // 如果页面 Referer 为空,从 URL 中获取\n if (ref === '' || ref.match(re)) {\n ref = stringSplice(window.location.href, 'ref', '&', '')\n if (ref !== '') {\n return encodeURIComponent(ref)\n }\n }\n return encodeURIComponent(ref)\n}\nexport var typeDecide = function (o, type) {\n return toString.call(o) === '[object ' + type + ']'\n}\n\nexport function noop() {}\n\nexport var ONE_SECOND = 1000\nexport var ONE_MINUTE = 60 * ONE_SECOND\nexport var ONE_HOUR = 60 * ONE_MINUTE\nexport var ONE_DAY = 24 * ONE_HOUR\nexport var ONE_YEAR = 365 * ONE_DAY\n\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold\n}\n\nexport function round(num, decimals) {\n return +num.toFixed(decimals)\n}\n\nexport function msToNs(duration) {\n if (typeof duration !== 'number') {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function mapValues(object, fn) {\n var newObject = {}\n each(object, function (value, key) {\n newObject[key] = fn(value)\n })\n\n return newObject\n}\n\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function getRelativeTime(timestamp) {\n return timestamp - getNavigationStart()\n}\nexport function preferredNow() {\n return relativeNow()\n}\nexport function getTimestamp(relativeTime) {\n return Math.round(getNavigationStart() + relativeTime)\n}\nexport function relativeNow() {\n return performance.now()\n}\n\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() }\n}\nexport function timeStampNow() {\n return dateNow()\n}\n\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime()\n}\n\nexport function elapsed(start, end) {\n return end - start\n}\n\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() }\n}\nexport function preferredClock(clocks) {\n return clocks.relative\n}\nexport function preferredTimeStamp(clocks) {\n return getTimestamp(clocks.relative)\n}\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) }\n}\nexport function currentDrift() {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(dateNow() - (getNavigationStart() + performance.now()))\n}\nexport function addDuration(a, b) {\n return a + b\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = dateNow() - performance.now()\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(correctedOrigin + relativeTime)\n }\n return getTimestamp(relativeTime)\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart\nexport function getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart\n }\n return navigationStart\n}\n\nvar COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n if (match[1] === name) {\n return match[2]\n }\n } else {\n break\n }\n }\n}\n\nexport function findCommaSeparatedValues(rawString) {\n var result = new Map()\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n result.set(match[1], match[2])\n } else {\n break\n }\n }\n return result\n}\nexport function findByPath(source, path) {\n var pathArr = path.split('.')\n while (pathArr.length) {\n var key = pathArr.shift()\n if (\n source &&\n isObject(source) &&\n key in source &&\n hasOwnProperty.call(source, key)\n ) {\n source = source[key]\n } else {\n return undefined\n }\n }\n return source\n}\nexport function safeTruncate(candidate, length) {\n var lastChar = candidate.charCodeAt(length - 1)\n // check if it is the high part of a surrogate pair\n if (lastChar >= 0xd800 && lastChar <= 0xdbff) {\n return candidate.slice(0, length + 1)\n }\n return candidate.slice(0, length)\n}\nexport function isMatchOption(item) {\n const itemType = getType(item)\n return (\n itemType === 'string' || itemType === 'function' || item instanceof RegExp\n )\n}\nexport function includes(candidate, search) {\n // tslint:disable-next-line: no-unsafe-any\n return candidate.indexOf(search) !== -1\n}\n\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike)\n }\n var array = []\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) {\n array.push(item)\n })\n } else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i])\n }\n }\n return array\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100\n}\n\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location)\n}\nexport var Browser = {\n IE: 0,\n CHROMIUM: 1,\n SAFARI: 2,\n OTHER: 3\n}\nexport function isIE() {\n return detectBrowserCached() === Browser.IE\n}\nexport function isChromium() {\n return detectBrowserCached() === Browser.CHROMIUM\n}\nexport function isSafari() {\n return detectBrowserCached() === Browser.SAFARI\n}\nvar browserCache\nfunction detectBrowserCached() {\n return isNullUndefinedDefaultValue(\n browserCache,\n (browserCache = detectBrowser())\n )\n}\nexport function detectBrowser(browserWindow) {\n if (typeof browserWindow === 'undefined') {\n browserWindow = window\n }\n var userAgent = browserWindow.navigator.userAgent\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return Browser.CHROMIUM\n }\n\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n browserWindow.navigator.vendor?.indexOf('Apple') === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))\n ) {\n return Browser.SAFARI\n }\n\n if (browserWindow.document.documentMode) {\n return Browser.IE\n }\n\n return Browser.OTHER\n}\n\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nexport function getLinkElementOrigin(element) {\n if (element.origin && element.origin !== 'null') {\n return element.origin\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '')\n return element.protocol + '//' + sanitizedHost\n}\n\nexport function withSnakeCaseKeys(candidate) {\n var result = {}\n each(candidate, function (value, key) {\n result[toSnakeCase(key)] = deepSnakeCase(value)\n })\n return result\n}\n\nexport function deepSnakeCase(candidate) {\n if (isArray(candidate)) {\n return map(candidate, function (value) {\n return deepSnakeCase(value)\n })\n }\n if (typeof candidate === 'object' && candidate !== null) {\n return withSnakeCaseKeys(candidate)\n }\n return candidate\n}\n\nexport function toSnakeCase(word) {\n return word\n .replace(/[A-Z]/g, function (uppercaseLetter, index) {\n return (index !== 0 ? '_' : '') + uppercaseLetter.toLowerCase()\n })\n .replace(/-/g, '_')\n}\n\nexport function isNullUndefinedDefaultValue(data, defaultValue) {\n if (data !== null && data !== void 0) {\n return data\n } else {\n return defaultValue\n }\n}\n\nexport function objectHasValue(object, value) {\n return some(keys(object), function (key) {\n return object[key] === value\n })\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search\n}\n\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search\n}\nexport function removeDuplicates(array) {\n var set = new Set()\n array.forEach(function (item) {\n set.add(item)\n })\n return arrayFrom(set)\n}\n\nexport function removeItem(array, item) {\n var index = array.indexOf(item)\n if (index >= 0) {\n array.splice(index, 1)\n }\n}\nexport function tryToClone(response) {\n try {\n return response.clone()\n } catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return\n }\n}\nexport function isHashAnAnchor(hash) {\n var correspondingId = hash.substr(1)\n if (!correspondingId) return false\n return !!document.getElementById(correspondingId)\n}\nexport function getPathFromHash(hash) {\n var index = hash.indexOf('?')\n return index < 0 ? hash : hash.slice(0, index)\n}\n\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration\n}\n"],"mappings":";AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,UAAU,EAAEC,YAAY,QAAQ,SAAS;AAClD,IAAIC,UAAU,GAAGC,KAAK,CAACC,SAAS;AAChC,IAAIC,SAAS,GAAGC,QAAQ,CAACF,SAAS;AAClC,IAAIG,QAAQ,GAAGC,MAAM,CAACJ,SAAS;AAC/B,IAAIK,KAAK,GAAGP,UAAU,CAACO,KAAK;AAC5B,IAAIC,QAAQ,GAAGH,QAAQ,CAACG,QAAQ;AAChC,IAAIC,cAAc,GAAGJ,QAAQ,CAACI,cAAc;AAC5C,IAAIC,aAAa,GAAGV,UAAU,CAACW,OAAO;AACtC,IAAIC,aAAa,GAAGX,KAAK,CAACY,OAAO;AACjC,IAAIC,OAAO,GAAG,KAAK;AACnB,OAAO,IAAIC,IAAI,GAAG,SAAPA,IAAIA,CAAaC,GAAG,EAAEC,QAAQ,EAAEC,OAAO,EAAE;EAClD,IAAIF,GAAG,KAAK,IAAI,EAAE,OAAO,KAAK;EAC9B,IAAIN,aAAa,IAAIM,GAAG,CAACL,OAAO,KAAKD,aAAa,EAAE;IAClDM,GAAG,CAACL,OAAO,CAACM,QAAQ,EAAEC,OAAO,CAAC;EAChC,CAAC,MAAM,IAAIF,GAAG,CAACG,MAAM,KAAK,CAACH,GAAG,CAACG,MAAM,EAAE;IACrC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGL,GAAG,CAACG,MAAM,EAAEC,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MAC1C,IAAIA,CAAC,IAAIJ,GAAG,IAAIC,QAAQ,CAACK,IAAI,CAACJ,OAAO,EAAEF,GAAG,CAACI,CAAC,CAAC,EAAEA,CAAC,EAAEJ,GAAG,CAAC,KAAKF,OAAO,EAAE;QAClE,OAAO,KAAK;MACd;IACF;EACF,CAAC,MAAM;IACL,KAAK,IAAIS,GAAG,IAAIP,GAAG,EAAE;MACnB,IAAIP,cAAc,CAACa,IAAI,CAACN,GAAG,EAAEO,GAAG,CAAC,EAAE;QACjC,IAAIN,QAAQ,CAACK,IAAI,CAACJ,OAAO,EAAEF,GAAG,CAACO,GAAG,CAAC,EAAEA,GAAG,EAAEP,GAAG,CAAC,KAAKF,OAAO,EAAE;UAC1D,OAAO,KAAK;QACd;MACF;IACF;EACF;AACF,CAAC;AACD,OAAO,SAASU,MAAMA,CAACC,MAAM,EAAE;EAC7BV,IAAI,CAACR,KAAK,CAACe,IAAI,CAACI,SAAS,EAAE,CAAC,CAAC,EAAE,UAAUC,MAAM,EAAE;IAC/C,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACvB,IAAIrB,MAAM,CAACJ,SAAS,CAACO,cAAc,CAACa,IAAI,CAACK,MAAM,EAAEC,IAAI,CAAC,EAAE;QACtDH,MAAM,CAACG,IAAI,CAAC,GAAGD,MAAM,CAACC,IAAI,CAAC;MAC7B;IACF;EACF,CAAC,CAAC;EACF,OAAOH,MAAM;AACf;AAEA,OAAO,SAASI,YAAYA,CAACC,MAAM,EAAE;EACnC,OAAON,MAAM,CAAC,CAAC,CAAC,EAAEM,MAAM,CAAC;AAC3B;AACA,OAAO,IAAIC,MAAM,GAAG,SAATA,MAAMA,CAAaf,GAAG,EAAE;EACjCD,IAAI,CAACR,KAAK,CAACe,IAAI,CAACI,SAAS,EAAE,CAAC,CAAC,EAAE,UAAUC,MAAM,EAAE;IAC/C,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACvB,IAAIA,MAAM,CAACC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;QAC3BZ,GAAG,CAACY,IAAI,CAAC,GAAGD,MAAM,CAACC,IAAI,CAAC;MAC1B;IACF;EACF,CAAC,CAAC;EACF,OAAOZ,GAAG;AACZ,CAAC;AACD,OAAO,IAAIgB,UAAU,GAAG,SAAbA,UAAUA,CAAahB,GAAG,EAAE;EACrCD,IAAI,CAACR,KAAK,CAACe,IAAI,CAACI,SAAS,EAAE,CAAC,CAAC,EAAE,UAAUC,MAAM,EAAE;IAC/C,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACvB,IAAIA,MAAM,CAACC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;QAC3B,IAAIK,QAAQ,CAACN,MAAM,CAACC,IAAI,CAAC,CAAC,IAAIK,QAAQ,CAACjB,GAAG,CAACY,IAAI,CAAC,CAAC,EAAE;UACjDG,MAAM,CAACf,GAAG,CAACY,IAAI,CAAC,EAAED,MAAM,CAACC,IAAI,CAAC,CAAC;QACjC,CAAC,MAAM;UACLZ,GAAG,CAACY,IAAI,CAAC,GAAGD,MAAM,CAACC,IAAI,CAAC;QAC1B;MACF;IACF;EACF,CAAC,CAAC;EACF,OAAOZ,GAAG;AACZ,CAAC;AACD,OAAO,IAAIkB,WAAW,GAAG,SAAdA,WAAWA,CAAalB,GAAG,EAAE;EACtCD,IAAI,CAACR,KAAK,CAACe,IAAI,CAACI,SAAS,EAAE,CAAC,CAAC,EAAE,UAAUC,MAAM,EAAE;IAC/C,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACvB,IAAIA,MAAM,CAACC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAIZ,GAAG,CAACY,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;QACnDZ,GAAG,CAACY,IAAI,CAAC,GAAGD,MAAM,CAACC,IAAI,CAAC;MAC1B;IACF;EACF,CAAC,CAAC;EACF,OAAOZ,GAAG;AACZ,CAAC;AACD,OAAO,IAAIH,OAAO,GAChBD,aAAa,IACb,UAAUI,GAAG,EAAE;EACb,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,gBAAgB;AAChD,CAAC;AACH,OAAO,IAAImB,UAAU,GAAG,SAAbA,UAAUA,CAAaC,CAAC,EAAE;EACnC,IAAI,CAACA,CAAC,EAAE;IACN,OAAO,KAAK;EACd;EACA,IAAI;IACF,OAAO,kBAAkB,CAACC,IAAI,CAACD,CAAC,CAAC;EACnC,CAAC,CAAC,OAAOE,GAAG,EAAE;IACZ,OAAO,KAAK;EACd;AACF,CAAC;AACD,OAAO,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAavB,GAAG,EAAE;EACtC,OAAO,CAAC,EAAEA,GAAG,IAAIP,cAAc,CAACa,IAAI,CAACN,GAAG,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AACD,OAAO,IAAIwB,OAAO,GAAG,SAAVA,OAAOA,CAAaC,QAAQ,EAAE;EACvC,IAAI,CAACA,QAAQ,EAAE,OAAO,EAAE;EACxB,IAAIA,QAAQ,CAACD,OAAO,EAAE;IACpB,OAAOC,QAAQ,CAACD,OAAO,CAAC,CAAC;EAC3B;EACA,IAAI3B,OAAO,CAAC4B,QAAQ,CAAC,EAAE;IACrB,OAAOlC,KAAK,CAACe,IAAI,CAACmB,QAAQ,CAAC;EAC7B;EACA,IAAIF,WAAW,CAACE,QAAQ,CAAC,EAAE;IACzB,OAAOlC,KAAK,CAACe,IAAI,CAACmB,QAAQ,CAAC;EAC7B;EACA,OAAOC,MAAM,CAACD,QAAQ,CAAC;AACzB,CAAC;AACD,OAAO,IAAIC,MAAM,GAAG,SAATA,MAAMA,CAAa1B,GAAG,EAAE;EACjC,IAAI2B,OAAO,GAAG,EAAE;EAChB,IAAI3B,GAAG,KAAK,IAAI,EAAE;IAChB,OAAO2B,OAAO;EAChB;EACA5B,IAAI,CAACC,GAAG,EAAE,UAAU4B,KAAK,EAAE;IACzBD,OAAO,CAACA,OAAO,CAACxB,MAAM,CAAC,GAAGyB,KAAK;EACjC,CAAC,CAAC;EACF,OAAOD,OAAO;AAChB,CAAC;AACD,OAAO,IAAIE,IAAI,GAAG,SAAPA,IAAIA,CAAa7B,GAAG,EAAE;EAC/B,IAAI2B,OAAO,GAAG,EAAE;EAChB,IAAI3B,GAAG,KAAK,IAAI,EAAE;IAChB,OAAO2B,OAAO;EAChB;EACA5B,IAAI,CAACC,GAAG,EAAE,UAAU4B,KAAK,EAAErB,GAAG,EAAE;IAC9BoB,OAAO,CAACA,OAAO,CAACxB,MAAM,CAAC,GAAGI,GAAG;EAC/B,CAAC,CAAC;EACF,OAAOoB,OAAO;AAChB,CAAC;AACD,OAAO,IAAIG,OAAO,GAAG,SAAVA,OAAOA,CAAaC,GAAG,EAAEtB,MAAM,EAAE;EAC1C,IAAIqB,OAAO,GAAGC,GAAG,CAACD,OAAO;EACzB,IAAIA,OAAO,EAAE;IACX,OAAOA,OAAO,CAACxB,IAAI,CAACyB,GAAG,EAAEtB,MAAM,CAAC;EAClC,CAAC,MAAM;IACL,KAAK,IAAIL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,CAAC5B,MAAM,EAAEC,CAAC,EAAE,EAAE;MACnC,IAAIK,MAAM,KAAKsB,GAAG,CAAC3B,CAAC,CAAC,EAAE;QACrB,OAAOA,CAAC;MACV;IACF;IACA,OAAO,CAAC,CAAC;EACX;AACF,CAAC;AACD,OAAO,IAAI4B,YAAY,GAAG,SAAfA,YAAYA,CAAaC,GAAG,EAAEC,IAAI,EAAE;EAC7C,IAAID,GAAG,CAACD,YAAY,EAAE;IACpB,OAAOC,GAAG,CAACD,YAAY,CAACE,IAAI,CAAC;EAC/B,CAAC,MAAM;IACL,OAAO,CAAC,EAAED,GAAG,CAACE,UAAU,CAACD,IAAI,CAAC,IAAID,GAAG,CAACE,UAAU,CAACD,IAAI,CAAC,CAACE,SAAS,CAAC;EACnE;AACF,CAAC;AACD,OAAO,IAAIC,MAAM,GAAG,SAATA,MAAMA,CAAaN,GAAG,EAAEO,EAAE,EAAEC,IAAI,EAAE;EAC3C,IAAIR,GAAG,CAACM,MAAM,EAAE;IACd,OAAON,GAAG,CAACM,MAAM,CAACC,EAAE,CAAC;EACvB;EACA,IAAIE,GAAG,GAAG,EAAE;EACZ,KAAK,IAAIpC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,CAAC5B,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnC,IAAI,CAACX,cAAc,CAACa,IAAI,CAACyB,GAAG,EAAE3B,CAAC,CAAC,EAAE;MAChC;IACF;IACA,IAAIqC,GAAG,GAAGV,GAAG,CAAC3B,CAAC,CAAC;IAChB,IAAIkC,EAAE,CAAChC,IAAI,CAACiC,IAAI,EAAEE,GAAG,EAAErC,CAAC,EAAE2B,GAAG,CAAC,EAAE;MAC9BS,GAAG,CAACE,IAAI,CAACD,GAAG,CAAC;IACf;EACF;EACA,OAAOD,GAAG;AACZ,CAAC;AACD,OAAO,IAAIG,GAAG,GAAG,SAANA,GAAGA,CAAaZ,GAAG,EAAEO,EAAE,EAAEC,IAAI,EAAE;EACxC,IAAIR,GAAG,CAACY,GAAG,EAAE;IACX,OAAOZ,GAAG,CAACY,GAAG,CAACL,EAAE,CAAC;EACpB;EACA,IAAIE,GAAG,GAAG,EAAE;EACZ,KAAK,IAAIpC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,CAAC5B,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnC,IAAI,CAACX,cAAc,CAACa,IAAI,CAACyB,GAAG,EAAE3B,CAAC,CAAC,EAAE;MAChC;IACF;IACA,IAAIqC,GAAG,GAAGV,GAAG,CAAC3B,CAAC,CAAC;IAChBoC,GAAG,CAACE,IAAI,CAACJ,EAAE,CAAChC,IAAI,CAACiC,IAAI,EAAEE,GAAG,EAAErC,CAAC,EAAE2B,GAAG,CAAC,CAAC;EACtC;EACA,OAAOS,GAAG;AACZ,CAAC;AACD,OAAO,IAAII,IAAI,GAAG,SAAPA,IAAIA,CAAab,GAAG,EAAEO,EAAE,EAAEC,IAAI,EAAE;EACzC,IAAIR,GAAG,CAACa,IAAI,EAAE;IACZ,OAAOb,GAAG,CAACa,IAAI,CAACN,EAAE,CAAC;EACrB;EACA,IAAIO,IAAI,GAAG,KAAK;EAChB,KAAK,IAAIzC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,CAAC5B,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnC,IAAI,CAACX,cAAc,CAACa,IAAI,CAACyB,GAAG,EAAE3B,CAAC,CAAC,EAAE;MAChC;IACF;IACA,IAAIqC,GAAG,GAAGV,GAAG,CAAC3B,CAAC,CAAC;IAChB,IAAIkC,EAAE,CAAChC,IAAI,CAACiC,IAAI,EAAEE,GAAG,EAAErC,CAAC,EAAE2B,GAAG,CAAC,EAAE;MAC9Bc,IAAI,GAAG,IAAI;MACX;IACF;EACF;EACA,OAAOA,IAAI;AACb,CAAC;AACD,OAAO,IAAIC,KAAK,GAAG,SAARA,KAAKA,CAAaf,GAAG,EAAEO,EAAE,EAAEC,IAAI,EAAE;EAC1C,IAAIR,GAAG,CAACe,KAAK,EAAE;IACb,OAAOf,GAAG,CAACe,KAAK,CAACR,EAAE,CAAC;EACtB;EACA,IAAIO,IAAI,GAAG,IAAI;EACf,KAAK,IAAIzC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2B,GAAG,CAAC5B,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnC,IAAI,CAACX,cAAc,CAACa,IAAI,CAACyB,GAAG,EAAE3B,CAAC,CAAC,EAAE;MAChC;IACF;IACA,IAAIqC,GAAG,GAAGV,GAAG,CAAC3B,CAAC,CAAC;IAChB,IAAI,CAACkC,EAAE,CAAChC,IAAI,CAACiC,IAAI,EAAEE,GAAG,EAAErC,CAAC,EAAE2B,GAAG,CAAC,EAAE;MAC/Bc,IAAI,GAAG,KAAK;MACZ;IACF;EACF;EACA,OAAOA,IAAI;AACb,CAAC;AACD,OAAO,IAAIE,SAAS,GAAG,SAAZA,SAASA,CAAaC,IAAI,EAAEpB,KAAK,EAAEqB,aAAa,EAAE;EAC3D,IAAIA,aAAa,KAAKC,SAAS,EAAE;IAC/BD,aAAa,GAAG,KAAK;EACvB;EACA,OAAOL,IAAI,CAACI,IAAI,EAAE,UAAUG,IAAI,EAAE;IAChC,IAAI;MACF,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;QAC9B,OAAOA,IAAI,CAACvB,KAAK,CAAC;MACpB,CAAC,MAAM,IAAIuB,IAAI,YAAYC,MAAM,EAAE;QACjC,OAAOD,IAAI,CAAC9B,IAAI,CAACO,KAAK,CAAC;MACzB,CAAC,MAAM,IAAI,OAAOuB,IAAI,KAAK,QAAQ,EAAE;QACnC,OAAOF,aAAa,GAAGI,UAAU,CAACzB,KAAK,EAAEuB,IAAI,CAAC,GAAGA,IAAI,KAAKvB,KAAK;MACjE;IACF,CAAC,CAAC,OAAO0B,CAAC,EAAE;MACVzE,OAAO,CAAC0E,KAAK,CAACD,CAAC,CAAC;IAClB;IACA,OAAO,KAAK;EACd,CAAC,CAAC;AACJ,CAAC;AACD;AACA,OAAO,IAAIE,SAAS,GAAG,SAAZA,SAASA,CAAaC,GAAG,EAAE;EACpCA,GAAG,GAAGA,GAAG,GAAG,EAAE;EACd,IAAIC,MAAM,CAACC,GAAG,IAAID,MAAM,CAACC,GAAG,CAACC,MAAM,EAAE;IACnC,OAAOF,MAAM,CAACC,GAAG,CAACC,MAAM,CAACH,GAAG,CAAC;EAC/B;;EAEA;EACA,OAAOA,GAAG,CAACI,OAAO,CAChB,8CAA8C,EAC9C,UAAUC,EAAE,EAAEC,WAAW,EAAE;IACzB,IAAIA,WAAW,EAAE;MACf;MACA,IAAID,EAAE,KAAK,IAAI,EAAE;QACf,OAAO,QAAQ;MACjB;MACA;MACA,OACEA,EAAE,CAACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACf,IAAI,GACJuE,EAAE,CAACE,UAAU,CAACF,EAAE,CAAC3D,MAAM,GAAG,CAAC,CAAC,CAACX,QAAQ,CAAC,EAAE,CAAC,GACzC,GAAG;IAEP;IACA;IACA,OAAO,IAAI,GAAGsE,EAAE;EAClB,CACF,CAAC;AACH,CAAC;AACD,OAAO,IAAIG,OAAO,GAAG,SAAVA,OAAOA,CAAaC,QAAQ,EAAEC,UAAU,EAAE;EACnD,IAAIC,CAAC,GAAG,SAAJA,CAACA,CAAA,EAAe,CAAC,CAAC;EACtBA,CAAC,CAAClF,SAAS,GAAGiF,UAAU,CAACjF,SAAS;EAClCgF,QAAQ,CAAChF,SAAS,GAAG,IAAIkF,CAAC,CAAC,CAAC;EAC5BF,QAAQ,CAAChF,SAAS,CAACmF,WAAW,GAAGH,QAAQ;EACzCA,QAAQ,CAACC,UAAU,GAAGA,UAAU,CAACjF,SAAS;EAC1C,OAAOgF,QAAQ;AACjB,CAAC;AACD,OAAO,IAAII,IAAI,GAAG,SAAPA,IAAIA,CAAab,GAAG,EAAE;EAC/B,OAAOA,GAAG,CAACI,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;AAC9D,CAAC;AACD,OAAO,IAAI5C,QAAQ,GAAG,SAAXA,QAAQA,CAAajB,GAAG,EAAE;EACnC,IAAIA,GAAG,KAAK,IAAI,EAAE,OAAO,KAAK;EAC9B,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,iBAAiB;AACjD,CAAC;AAED,OAAO,IAAIuE,aAAa,GAAG,SAAhBA,aAAaA,CAAavE,GAAG,EAAE;EACxC,IAAIiB,QAAQ,CAACjB,GAAG,CAAC,EAAE;IACjB,KAAK,IAAIO,GAAG,IAAIP,GAAG,EAAE;MACnB,IAAIP,cAAc,CAACa,IAAI,CAACN,GAAG,EAAEO,GAAG,CAAC,EAAE;QACjC,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAO,KAAK;EACd;AACF,CAAC;AACD,OAAO,IAAIiE,aAAa,GAAG,SAAhBA,aAAaA,CAAa1D,MAAM,EAAE;EAC3C,IAAI2D,GAAG,GAAG,EAAE;EACZ1E,IAAI,CAACe,MAAM,EAAE,UAAUc,KAAK,EAAErB,GAAG,EAAE;IACjCkE,GAAG,CAAC/B,IAAI,CAAC,CAACnC,GAAG,EAAEqB,KAAK,CAAC,CAAC;EACxB,CAAC,CAAC;EACF,OAAO6C,GAAG;AACZ,CAAC;AACD,OAAO,IAAIC,WAAW,GAAG,SAAdA,WAAWA,CAAa1E,GAAG,EAAE;EACtC,OAAOA,GAAG,KAAK,KAAK,CAAC;AACvB,CAAC;AACD,OAAO,IAAI2E,QAAQ,GAAG,SAAXA,QAAQA,CAAa3E,GAAG,EAAE;EACnC,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,iBAAiB;AACjD,CAAC;AACD,OAAO,IAAI4E,MAAM,GAAG,SAATA,MAAMA,CAAa5E,GAAG,EAAE;EACjC,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,eAAe;AAC/C,CAAC;AACD,OAAO,IAAI6E,SAAS,GAAG,SAAZA,SAASA,CAAa7E,GAAG,EAAE;EACpC,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,kBAAkB;AAClD,CAAC;AACD,OAAO,IAAI8E,QAAQ,GAAG,SAAXA,QAAQA,CAAa9E,GAAG,EAAE;EACnC,OAAOR,QAAQ,CAACc,IAAI,CAACN,GAAG,CAAC,KAAK,iBAAiB,IAAI,SAAS,CAACqB,IAAI,CAAC0D,MAAM,CAAC/E,GAAG,CAAC,CAAC;AAChF,CAAC;AACD,OAAO,IAAIgF,SAAS,GAAG,SAAZA,SAASA,CAAahF,GAAG,EAAE;EACpC,OAAO,CAAC,EAAEA,GAAG,IAAIA,GAAG,CAACiF,QAAQ,KAAK,CAAC,CAAC;AACtC,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAazB,GAAG,EAAE;EACvC,IAAI;IACF0B,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC;EACjB,CAAC,CAAC,OAAOH,CAAC,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AACD,OAAO,IAAI+B,aAAa,GAAG,SAAhBA,aAAaA,CAAa5B,GAAG,EAAE;EACxC,IAAIhB,GAAG,GAAG,IAAI;EACd,IAAI;IACFA,GAAG,GAAG0C,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC;EACvB,CAAC,CAAC,OAAOH,CAAC,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAOb,GAAG;AACZ,CAAC;AAEM,IAAI6C,YAAW,GAAG,SAAdA,WAAWA,CAAatF,GAAG,EAAE;EACtCD,IAAI,CAACC,GAAG,EAAE,UAAUuF,CAAC,EAAEC,CAAC,EAAE;IACxB,IAAIZ,MAAM,CAACW,CAAC,CAAC,EAAE;MACbvF,GAAG,CAACwF,CAAC,CAAC,GAAGC,UAAU,CAACF,CAAC,CAAC;IACxB,CAAC,MAAM,IAAItE,QAAQ,CAACsE,CAAC,CAAC,EAAE;MACtBvF,GAAG,CAACwF,CAAC,CAAC,GAAGF,YAAW,CAACC,CAAC,CAAC;IACzB;EACF,CAAC,CAAC;EACF,OAAOvF,GAAG;AACZ,CAAC;AAAA,SAAA0F,YAAA,IAAAJ,WAAA;AACD,OAAO,IAAIK,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA,EAAe;EAC7C,OACE,OAAOjC,MAAM,CAACkC,UAAU,KAAK,WAAW,IACxC,OAAOlC,MAAM,CAACmC,YAAY,KAAK,WAAW;AAE9C,CAAC;AACD,OAAO,IAAIC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAe;EAC5C,IAAIC,oBAAoB,GACtBC,MAAM,CAACC,aAAa,IACpBD,MAAM,CAACE,cAAc,IACrB,CAACF,MAAM,CAACG,WAAW,IAAI,CAAC,CAAC,EAAEC,IAAI;EACjC,IAAIC,iBAAiB,GAAG,MAAM;EAC9B,IAAIN,oBAAoB,EAAE;IACxBM,iBAAiB,GACfN,oBAAoB,CAACjE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,UAAU;EAC7E,CAAC,MAAM,IAAI6D,qBAAqB,CAAC,CAAC,EAAE;IAClC,IAAIW,cAAc,GAAG5C,MAAM,CAACkC,UAAU,IAAIlC,MAAM,CAACmC,YAAY;IAC7D,IAAIS,cAAc,CAAC,0BAA0B,CAAC,CAACC,OAAO,EAAE;MACtDF,iBAAiB,GAAG,WAAW;IACjC,CAAC,MAAM,IAAIC,cAAc,CAAC,yBAAyB,CAAC,CAACC,OAAO,EAAE;MAC5DF,iBAAiB,GAAG,UAAU;IAChC;EACF;EACA,OAAOA,iBAAiB;AAC1B,CAAC;AACD,OAAO,IAAIG,GAAG,GACZC,IAAI,CAACD,GAAG,IACR,YAAY;EACV,OAAO,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAEH,OAAO,IAAIC,QAAQ,GAAG,SAAXA,QAAQA,CAAarE,EAAE,EAAEsE,IAAI,EAAEC,OAAO,EAAE;EACjD,IAAIC,oBAAoB,GACtBD,OAAO,IAAIA,OAAO,CAACE,OAAO,KAAK7D,SAAS,GAAG2D,OAAO,CAACE,OAAO,GAAG,IAAI;EACnE,IAAIC,qBAAqB,GACvBH,OAAO,IAAIA,OAAO,CAACI,QAAQ,KAAK/D,SAAS,GAAG2D,OAAO,CAACI,QAAQ,GAAG,IAAI;EACrE,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,8BAA8B;EAClC,IAAIC,gBAAgB;EACpB,IAAIlH,OAAO,GAAG,IAAI;EAClB,OAAO;IACLmH,SAAS,EAAE,SAAXA,SAASA,CAAA,EAAc;MACrB,IAAIH,YAAY,EAAE;QAChBC,8BAA8B,GAAGzG,SAAS;QAC1C;MACF;MAEA,IAAIoG,oBAAoB,EAAE;QACxBxE,EAAE,CAACgF,KAAK,CAACpH,OAAO,EAAEQ,SAAS,CAAC;MAC9B,CAAC,MAAM;QACLyG,8BAA8B,GAAGzG,SAAS;MAC5C;MACAwG,YAAY,GAAG,IAAI;MACnBE,gBAAgB,GAAGtI,UAAU,CAAC,YAAY;QACxC,IAAIkI,qBAAqB,IAAIG,8BAA8B,EAAE;UAC3D7E,EAAE,CAACgF,KAAK,CAACpH,OAAO,EAAEiH,8BAA8B,CAAC;QACnD;QACAD,YAAY,GAAG,KAAK;QACpBC,8BAA8B,GAAGjE,SAAS;MAC5C,CAAC,EAAE0D,IAAI,CAAC;IACV,CAAC;IACDW,MAAM,EAAE,SAARA,MAAMA,CAAA,EAAc;MAClBxI,YAAY,CAACqI,gBAAgB,CAAC;MAC9BF,YAAY,GAAG,KAAK;MACpBC,8BAA8B,GAAGjE,SAAS;IAC5C;EACF,CAAC;AACH,CAAC;AACD,OAAO,IAAIsE,QAAQ,GAAG,SAAXA,QAAQA,CAAa/D,GAAG,EAAE;EACnC,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAO,CAAC;EACV;EACA,IAAIgE,IAAI,GAAG,CAAC;EACZ,IAAIC,KAAI,GAAG,IAAI;EACf,IAAIjE,GAAG,CAACtD,MAAM,IAAI,CAAC,EAAE;IACnB,OAAOsH,IAAI;EACb;EACA,KAAK,IAAIrH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqD,GAAG,CAACtD,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnCsH,KAAI,GAAGjE,GAAG,CAACO,UAAU,CAAC5D,CAAC,CAAC;IACxBqH,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGC,KAAI;IAChCD,IAAI,GAAGA,IAAI,GAAGA,IAAI;EACpB;EACA,OAAOA,IAAI;AACb,CAAC;AACD,OAAO,IAAIhC,UAAU,GAAG,SAAbA,UAAUA,CAAakC,CAAC,EAAE;EACnC,SAASC,GAAGA,CAACC,CAAC,EAAE;IACd,OAAOA,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGA,CAAC,GAAGA,CAAC;EAC7B;EAEA,OACEF,CAAC,CAACG,WAAW,CAAC,CAAC,GACf,GAAG,GACHF,GAAG,CAACD,CAAC,CAACI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GACrB,GAAG,GACHH,GAAG,CAACD,CAAC,CAACK,OAAO,CAAC,CAAC,CAAC,GAChB,GAAG,GACHJ,GAAG,CAACD,CAAC,CAACM,QAAQ,CAAC,CAAC,CAAC,GACjB,GAAG,GACHL,GAAG,CAACD,CAAC,CAACO,UAAU,CAAC,CAAC,CAAC,GACnB,GAAG,GACHN,GAAG,CAACD,CAAC,CAACQ,UAAU,CAAC,CAAC,CAAC,GACnB,GAAG,GACHP,GAAG,CAACD,CAAC,CAACS,eAAe,CAAC,CAAC,CAAC;AAE5B,CAAC;AACM,IAAIC,cAAa,GAAG,SAAhBA,aAAaA,CAAaC,CAAC,EAAE;EACtC,IAAIrH,QAAQ,CAACqH,CAAC,CAAC,EAAE;IACfvI,IAAI,CAACuI,CAAC,EAAE,UAAUC,CAAC,EAAEC,CAAC,EAAE;MACtB,IAAIvH,QAAQ,CAACsH,CAAC,CAAC,EAAE;QACfF,cAAa,CAACC,CAAC,CAACE,CAAC,CAAC,CAAC;MACrB,CAAC,MAAM;QACL,IAAI5D,MAAM,CAAC2D,CAAC,CAAC,EAAE;UACbD,CAAC,CAACE,CAAC,CAAC,GAAG/C,UAAU,CAAC8C,CAAC,CAAC;QACtB;MACF;IACF,CAAC,CAAC;EACJ;AACF,CAAC;AAAA,SAAAE,cAAA,IAAAJ,aAAA;AACD,OAAO,IAAIK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAa1I,GAAG,EAAE;EAC3C,IAAI;IACF,OAAOmF,IAAI,CAACwD,SAAS,CAAC3I,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;EACxC,CAAC,CAAC,OAAOsD,CAAC,EAAE;IACV,OAAO6B,IAAI,CAACwD,SAAS,CAAC3I,GAAG,CAAC;EAC5B;AACF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI4I,gBAAe,GAAG,SAAlBA,eAAeA,CAAaN,CAAC,EAAE;EACxC,IAAIrH,QAAQ,CAACqH,CAAC,CAAC,EAAE;IACfvI,IAAI,CAACuI,CAAC,EAAE,UAAUC,CAAC,EAAEC,CAAC,EAAE;MACtB,IAAIvH,QAAQ,CAACsH,CAAC,CAAC,EAAE;QACfK,gBAAe,CAACN,CAAC,CAACE,CAAC,CAAC,CAAC;MACvB,CAAC,MAAM;QACL,IAAI7D,QAAQ,CAAC4D,CAAC,CAAC,EAAE;UACfD,CAAC,CAACE,CAAC,CAAC,GAAGK,YAAY,CAACN,CAAC,CAAC;QACxB;MACF;IACF,CAAC,CAAC;EACJ;AACF,CAAC;AAAA,SAAAO,gBAAA,IAAAF,eAAA;AACD,OAAO,IAAIG,MAAM,GAAG,SAATA,MAAMA,CAAaC,EAAE,EAAE;EAChC,IAAIC,IAAI;IACNpB,CAAC,GAAG,EAAE;IACNS,CAAC,GAAG,CAAC,CAAC;EACR,KAAK,IAAIlI,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4I,EAAE,CAAC7I,MAAM,EAAEC,CAAC,EAAE,EAAE;IAClC6I,IAAI,GAAGD,EAAE,CAAC5I,CAAC,CAAC;IACZ,IAAI,EAAE6I,IAAI,IAAIX,CAAC,CAAC,EAAE;MAChBA,CAAC,CAACW,IAAI,CAAC,GAAG,IAAI;MACdpB,CAAC,CAACnF,IAAI,CAACuG,IAAI,CAAC;IACd;EACF;EACA,OAAOpB,CAAC;AACV,CAAC;AACD,OAAO,IAAIqB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAaC,CAAC,EAAE;EAC/C,IAAI3G,GAAG,GAAG,CAAC,CAAC;EACZzC,IAAI,CAACoJ,CAAC,EAAE,UAAU5D,CAAC,EAAEC,CAAC,EAAE;IACtB,IAAID,CAAC,IAAI,IAAI,EAAE;MACb/C,GAAG,CAACgD,CAAC,CAAC,GAAGD,CAAC;IACZ;EACF,CAAC,CAAC;EACF,OAAO/C,GAAG;AACZ,CAAC;AACD,OAAO,IAAI4G,UAAU,GAAG,SAAbA,UAAUA,CAAaC,MAAM,EAAE;EACxCA,MAAM,GAAG,CAACA,MAAM,GAAG,EAAE,EAAExF,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;EAElE,IAAIyF,OAAO,GAAG,EAAE;IACdC,KAAK;IACLC,GAAG;EACL,IAAIC,OAAO,GAAG,CAAC;IACb5B,CAAC;EAEH0B,KAAK,GAAGC,GAAG,GAAG,CAAC;EACfC,OAAO,GAAGJ,MAAM,CAAClJ,MAAM;EAEvB,KAAK0H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4B,OAAO,EAAE5B,CAAC,EAAE,EAAE;IAC5B,IAAI6B,EAAE,GAAGL,MAAM,CAACrF,UAAU,CAAC6D,CAAC,CAAC;IAC7B,IAAI8B,GAAG,GAAG,IAAI;IAEd,IAAID,EAAE,GAAG,GAAG,EAAE;MACZF,GAAG,EAAE;IACP,CAAC,MAAM,IAAIE,EAAE,GAAG,GAAG,IAAIA,EAAE,GAAG,IAAI,EAAE;MAChCC,GAAG,GAAG5E,MAAM,CAAC6E,YAAY,CAAEF,EAAE,IAAI,CAAC,GAAI,GAAG,EAAGA,EAAE,GAAG,EAAE,GAAI,GAAG,CAAC;IAC7D,CAAC,MAAM;MACLC,GAAG,GAAG5E,MAAM,CAAC6E,YAAY,CACtBF,EAAE,IAAI,EAAE,GAAI,GAAG,EACdA,EAAE,IAAI,CAAC,GAAI,EAAE,GAAI,GAAG,EACrBA,EAAE,GAAG,EAAE,GAAI,GACd,CAAC;IACH;IACA,IAAIC,GAAG,KAAK,IAAI,EAAE;MAChB,IAAIH,GAAG,GAAGD,KAAK,EAAE;QACfD,OAAO,IAAID,MAAM,CAACQ,SAAS,CAACN,KAAK,EAAEC,GAAG,CAAC;MACzC;MACAF,OAAO,IAAIK,GAAG;MACdJ,KAAK,GAAGC,GAAG,GAAG3B,CAAC,GAAG,CAAC;IACrB;EACF;EAEA,IAAI2B,GAAG,GAAGD,KAAK,EAAE;IACfD,OAAO,IAAID,MAAM,CAACQ,SAAS,CAACN,KAAK,EAAEF,MAAM,CAAClJ,MAAM,CAAC;EACnD;EAEA,OAAOmJ,OAAO;AAChB,CAAC;AACD,OAAO,IAAIQ,YAAY,GAAG,SAAfA,YAAYA,CAAaC,IAAI,EAAE;EACxC,IAAI,OAAOC,IAAI,KAAK,UAAU,EAAE;IAC9B,OAAOA,IAAI,CACTC,kBAAkB,CAACF,IAAI,CAAC,CAAClG,OAAO,CAAC,iBAAiB,EAAE,UAAUqG,KAAK,EAAEC,EAAE,EAAE;MACvE,OAAOpF,MAAM,CAAC6E,YAAY,CAAC,IAAI,GAAGO,EAAE,CAAC;IACvC,CAAC,CACH,CAAC;EACH;EACAJ,IAAI,GAAGhF,MAAM,CAACgF,IAAI,CAAC;EACnB,IAAIK,GAAG,GAAG,mEAAmE;EAC7E,IAAIC,EAAE;IACJC,EAAE;IACFC,EAAE;IACFC,EAAE;IACFC,EAAE;IACFC,EAAE;IACFC,EAAE;IACFC,IAAI;IACJxK,CAAC,GAAG,CAAC;IACLyK,EAAE,GAAG,CAAC;IACNlB,GAAG,GAAG,EAAE;IACRmB,OAAO,GAAG,EAAE;EACd,IAAI,CAACf,IAAI,EAAE;IACT,OAAOA,IAAI;EACb;EACAA,IAAI,GAAGX,UAAU,CAACW,IAAI,CAAC;EACvB,GAAG;IACDM,EAAE,GAAGN,IAAI,CAAC/F,UAAU,CAAC5D,CAAC,EAAE,CAAC;IACzBkK,EAAE,GAAGP,IAAI,CAAC/F,UAAU,CAAC5D,CAAC,EAAE,CAAC;IACzBmK,EAAE,GAAGR,IAAI,CAAC/F,UAAU,CAAC5D,CAAC,EAAE,CAAC;IAEzBwK,IAAI,GAAIP,EAAE,IAAI,EAAE,GAAKC,EAAE,IAAI,CAAE,GAAGC,EAAE;IAElCC,EAAE,GAAII,IAAI,IAAI,EAAE,GAAI,IAAI;IACxBH,EAAE,GAAIG,IAAI,IAAI,EAAE,GAAI,IAAI;IACxBF,EAAE,GAAIE,IAAI,IAAI,CAAC,GAAI,IAAI;IACvBD,EAAE,GAAGC,IAAI,GAAG,IAAI;IAChBE,OAAO,CAACD,EAAE,EAAE,CAAC,GACXT,GAAG,CAACW,MAAM,CAACP,EAAE,CAAC,GAAGJ,GAAG,CAACW,MAAM,CAACN,EAAE,CAAC,GAAGL,GAAG,CAACW,MAAM,CAACL,EAAE,CAAC,GAAGN,GAAG,CAACW,MAAM,CAACJ,EAAE,CAAC;EACrE,CAAC,QAAQvK,CAAC,GAAG2J,IAAI,CAAC5J,MAAM;EAExBwJ,GAAG,GAAGmB,OAAO,CAACE,IAAI,CAAC,EAAE,CAAC;EAEtB,QAAQjB,IAAI,CAAC5J,MAAM,GAAG,CAAC;IACrB,KAAK,CAAC;MACJwJ,GAAG,GAAGA,GAAG,CAACpK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;MAC7B;IACF,KAAK,CAAC;MACJoK,GAAG,GAAGA,GAAG,CAACpK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;MAC5B;EACJ;EAEA,OAAOoK,GAAG;AACZ,CAAC;AACD;AACA;AACA;AACA;AACA,OAAO,SAASsB,IAAIA,CAACC,WAAW,EAAE;EAChC,OAAOA,WAAW;EACd;EACA,CACEC,QAAQ,CAACD,WAAW,EAAE,EAAE,CAAC,GACvBE,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAMF,QAAQ,CAACD,WAAW,EAAE,EAAE,CAAC,GAAG,CAAG,EACzD1L,QAAQ,CAAC,EAAE,CAAC,GACd,GAAA8L,MAAA,CAAG,GAAG,OAAI,GAAG,OAAI,GAAG,OAAI,GAAG,OAAI,IAAI,EAAGzH,OAAO,CAAC,QAAQ,EAAEoH,IAAI,CAAC;AACnE;;AAEA;AACA,OAAO,SAASM,uBAAuBA,CAACC,IAAI,EAAE;EAC5C,IAAIC,SAAS,GAAG,EAAE;EAClB,IAAID,IAAI,EAAE;IACRC,SAAS,GAAGD,IAAI,CAAC3H,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAACA,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAC7E;EACA,OAAO4H,SAAS,IAAI,GAAG;AACzB;AAEA,OAAO,IAAIC,QAAQ,GAAG,SAAXA,QAAQA,CAAaC,IAAI,EAAE;EACpC,IAAIC,SAAS,GAAG,SAAZA,SAASA,CAAarD,CAAC,EAAE;IAC3B,IAAI,CAACsD,OAAO,GAAG;MACbC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE,CAAC;MACXC,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE,CAAC;MACXC,IAAI,EAAE,CAAC;MACPC,IAAI,EAAE,CAAC;MACPC,GAAG,EAAE,CAAC;MACNC,WAAW,EAAE,CAAC;MACdC,QAAQ,EAAE;IACZ,CAAC;IACD,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;IACjB,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB,IAAI,CAACA,MAAM,GACT,mFAAmF;IAErF,IAAI,OAAOjE,CAAC,IAAI,WAAW,EAAE;MAC3B,IAAI,CAACkE,MAAM,CAAClE,CAAC,CAAC;IAChB;EACF,CAAC;EACDqD,SAAS,CAAC1M,SAAS,CAACwN,MAAM,GAAG,UAAUnE,CAAC,EAAE;IACxC,IAAI,CAACkE,MAAM,CAAClE,CAAC,CAAC;EAChB,CAAC;EACDqD,SAAS,CAAC1M,SAAS,CAACyN,WAAW,GAAG,YAAY;IAC5C,KAAK,IAAIpE,CAAC,IAAI,IAAI,CAACsD,OAAO,EAAE;MAC1B,IAAI,CAACU,OAAO,CAAChE,CAAC,CAAC,GAAG,EAAE;IACtB;EACF,CAAC;EACDqD,SAAS,CAAC1M,SAAS,CAAC0N,cAAc,GAAG,UAAUC,QAAQ,EAAE;IACvD,IAAIC,OAAA,CAAOD,QAAQ,MAAK,QAAQ,EAAE;MAChC,OAAO,KAAK;IACd;IACA,IAAIE,KAAK,GAAG,IAAI,CAACR,OAAO,CAACF,WAAW,IAAI,EAAE;IAC1C,KAAK,IAAIjM,CAAC,IAAIyM,QAAQ,EAAE;MACtB,IAAI,IAAIzJ,MAAM,CAAChD,CAAC,GAAG,OAAO,CAAC,CAACiB,IAAI,CAAC0L,KAAK,CAAC,EAAE;QACvCA,KAAK,GAAGA,KAAK,CAAClJ,OAAO,CAAC,IAAIT,MAAM,CAAChD,CAAC,GAAG,OAAO,CAAC,EAAEA,CAAC,GAAG,GAAG,GAAGyM,QAAQ,CAACzM,CAAC,CAAC,CAAC;MACvE,CAAC,MAAM;QACL,IAAI2M,KAAK,CAACxN,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;UAC3BwN,KAAK,GAAGA,KAAK,GAAG3M,CAAC,GAAG,GAAG,GAAGyM,QAAQ,CAACzM,CAAC,CAAC;QACvC,CAAC,MAAM;UACL,IAAI2M,KAAK,KAAK,EAAE,EAAE;YAChBA,KAAK,GAAG3M,CAAC,GAAG,GAAG,GAAGyM,QAAQ,CAACzM,CAAC,CAAC;UAC/B,CAAC,MAAM;YACL2M,KAAK,GAAGA,KAAK,GAAG,GAAG,GAAG3M,CAAC,GAAG,GAAG,GAAGyM,QAAQ,CAACzM,CAAC,CAAC;UAC7C;QACF;MACF;IACF;IACA,IAAI,CAACmM,OAAO,CAACF,WAAW,GAAGU,KAAK;EAClC,CAAC;EACDnB,SAAS,CAAC1M,SAAS,CAAC8N,QAAQ,GAAG,YAAY;IACzC,OAAO,IAAI,CAACT,OAAO;EACrB,CAAC;EACDX,SAAS,CAAC1M,SAAS,CAAC+N,MAAM,GAAG,YAAY;IACvC,IAAIC,GAAG,GAAG,EAAE;IACZA,GAAG,IAAI,IAAI,CAACX,OAAO,CAACY,MAAM;IAC1B;IACAD,GAAG,IAAI,IAAI,CAACX,OAAO,CAACJ,IAAI;IACxBe,GAAG,IAAI,IAAI,CAACX,OAAO,CAACF,WAAW,GAAG,GAAG,GAAG,IAAI,CAACE,OAAO,CAACF,WAAW,GAAG,EAAE;IACrE,OAAOa,GAAG;EACZ,CAAC;EACDtB,SAAS,CAAC1M,SAAS,CAACuN,MAAM,GAAG,UAAUlE,CAAC,EAAE;IACxC,IAAI,CAACoE,WAAW,CAAC,CAAC;IAClB,IAAInE,CAAC,GAAG,IAAI,CAACgE,MAAM,CAACY,IAAI,CAAC7E,CAAC,CAAC;IAC3B,IAAI,CAACC,CAAC,EAAE;MACN,MAAM,oCAAoC;IAC5C;IACA,KAAK,IAAI6E,CAAC,IAAI,IAAI,CAACxB,OAAO,EAAE;MAC1B,IAAI,OAAOrD,CAAC,CAAC,IAAI,CAACqD,OAAO,CAACwB,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE;QAC5C,IAAI,CAACd,OAAO,CAACc,CAAC,CAAC,GAAG7E,CAAC,CAAC,IAAI,CAACqD,OAAO,CAACwB,CAAC,CAAC,CAAC;MACtC;IACF;IACA,IAAI,CAACd,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAACA,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG;IAClD,IAAI,CAACA,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAACA,OAAO,CAAC,MAAM,CAAC,CAAC1I,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACpE,IAAI,CAAC0I,OAAO,CAAC,QAAQ,CAAC,GACpB,IAAI,CAACA,OAAO,CAAC,UAAU,CAAC,GACxB,KAAK,GACL,IAAI,CAACA,OAAO,CAAC,UAAU,CAAC,IACvB,IAAI,CAACA,OAAO,CAACP,IAAI,GAAG,GAAG,GAAG,IAAI,CAACO,OAAO,CAACP,IAAI,GAAG,EAAE,CAAC;IACpD;IACA;IACA;EACF,CAAC;EACD,OAAO,IAAIJ,SAAS,CAACD,IAAI,CAAC;AAC5B,CAAC;AACD,OAAO,SAAS2B,cAAcA,CAACC,OAAO,EAAEC,QAAQ,EAAE;EAChD,IAAID,OAAO,CAAChH,OAAO,EAAE;IACnB,OAAOgH,OAAO,CAAChH,OAAO,CAACiH,QAAQ,CAAC;EAClC;EACA;EACA,IAAID,OAAO,CAACE,iBAAiB,EAAE;IAC7B,OAAOF,OAAO,CAACE,iBAAiB,CAACD,QAAQ,CAAC;EAC5C;EACA,OAAO,KAAK;AACd;AAEA,OAAO,IAAIE,YAAY,GAAG;EACxBC,GAAG,EAAE,SAALA,GAAGA,CAAYC,IAAI,EAAE;IACnB,OAAOlK,MAAM,CAACgK,YAAY,CAACG,OAAO,CAACD,IAAI,CAAC;EAC1C,CAAC;EAEDxI,KAAK,EAAE,SAAPA,KAAKA,CAAYwI,IAAI,EAAE;IACrB,IAAIE,WAAW;IACf,IAAI;MACFA,WAAW,GAAG3I,IAAI,CAACC,KAAK,CAACsI,YAAY,CAACC,GAAG,CAACC,IAAI,CAAC,CAAC,IAAI,IAAI;IAC1D,CAAC,CAAC,OAAOtM,GAAG,EAAE;MACZyM,EAAE,CAACC,GAAG,CAAC1M,GAAG,CAAC;IACb;IACA,OAAOwM,WAAW;EACpB,CAAC;EAEDG,GAAG,EAAE,SAALA,GAAGA,CAAYL,IAAI,EAAEhM,KAAK,EAAE;IAC1B8B,MAAM,CAACgK,YAAY,CAACQ,OAAO,CAACN,IAAI,EAAEhM,KAAK,CAAC;EAC1C,CAAC;EAEDuM,MAAM,EAAE,SAARA,MAAMA,CAAYP,IAAI,EAAE;IACtBlK,MAAM,CAACgK,YAAY,CAACU,UAAU,CAACR,IAAI,CAAC;EACtC,CAAC;EAEDS,SAAS,EAAE,SAAXA,SAASA,CAAA,EAAc;IACrB,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAI;MACF,IAAI/N,GAAG,GAAG,wBAAwB;MAClC,IAAIkC,GAAG,GAAG,sBAAsB;MAChCiL,YAAY,CAACO,GAAG,CAAC1N,GAAG,EAAEkC,GAAG,CAAC;MAC1B,IAAIiL,YAAY,CAACC,GAAG,CAACpN,GAAG,CAAC,KAAKkC,GAAG,EAAE;QACjC6L,SAAS,GAAG,KAAK;MACnB;MACAZ,YAAY,CAACS,MAAM,CAAC5N,GAAG,CAAC;IAC1B,CAAC,CAAC,OAAOe,GAAG,EAAE;MACZgN,SAAS,GAAG,KAAK;IACnB;IACA,OAAOA,SAAS;EAClB;AACF,CAAC;AACD,OAAO,IAAIC,cAAc,GAAG;EAC1BF,SAAS,EAAE,SAAXA,SAASA,CAAA,EAAc;IACrB,IAAIC,SAAS,GAAG,IAAI;IAEpB,IAAI/N,GAAG,GAAG,wBAAwB;IAClC,IAAIkC,GAAG,GAAG,sBAAsB;IAChC,IAAI;MACF,IAAI8L,cAAc,IAAIA,cAAc,CAACL,OAAO,EAAE;QAC5CK,cAAc,CAACL,OAAO,CAAC3N,GAAG,EAAEkC,GAAG,CAAC;QAChC8L,cAAc,CAACH,UAAU,CAAC7N,GAAG,EAAEkC,GAAG,CAAC;QACnC6L,SAAS,GAAG,IAAI;MAClB,CAAC,MAAM;QACLA,SAAS,GAAG,KAAK;MACnB;IACF,CAAC,CAAC,OAAOhL,CAAC,EAAE;MACVgL,SAAS,GAAG,KAAK;IACnB;IACA,OAAOA,SAAS;EAClB;AACF,CAAC;AACD,OAAO,IAAIE,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAe;EACrC,IAAI,OAAO9K,MAAM,CAAC+K,cAAc,KAAK,WAAW,EAAE;IAChD,OAAO,KAAK;EACd;EACA,IAAI,iBAAiB,IAAI,IAAIA,cAAc,CAAC,CAAC,EAAE;IAC7C,OAAO,IAAI;EACb,CAAC,MAAM,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;IAChD,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAO,KAAK;EACd;AACF,CAAC;AACD,OAAO,IAAIC,GAAG,GAAG,SAANA,GAAGA,CAAaC,IAAI,EAAE;EAC/B,IAAIA,IAAI,EAAE;IACR,IACE,OAAOlL,MAAM,CAAC+K,cAAc,KAAK,WAAW,IAC5C,iBAAiB,IAAI,IAAIA,cAAc,CAAC,CAAC,EACzC;MACA,OAAO,IAAIA,cAAc,CAAC,CAAC;IAC7B,CAAC,MAAM,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;MAChD,OAAO,IAAIA,cAAc,CAAC,CAAC;IAC7B,CAAC,MAAM;MACL,OAAO,IAAI;IACb;EACF,CAAC,MAAM;IACL,IAAI,OAAOhL,MAAM,CAAC+K,cAAc,KAAK,WAAW,EAAE;MAChD,OAAO,IAAIA,cAAc,CAAC,CAAC;IAC7B;IACA,IAAI/K,MAAM,CAACmL,aAAa,EAAE;MACxB,IAAI;QACF,OAAO,IAAIA,aAAa,CAAC,gBAAgB,CAAC;MAC5C,CAAC,CAAC,OAAOlH,CAAC,EAAE;QACV,IAAI;UACF,OAAO,IAAIkH,aAAa,CAAC,mBAAmB,CAAC;QAC/C,CAAC,CAAC,OAAOlH,CAAC,EAAE;UACVmH,OAAO,CAACd,GAAG,CAACrG,CAAC,CAAC;QAChB;MACF;IACF;EACF;AACF,CAAC;AACD,OAAO,IAAIoH,IAAI,GAAG,SAAPA,IAAIA,CAAapD,IAAI,EAAE;EAChCA,IAAI,CAACqD,OAAO,GAAGrD,IAAI,CAACqD,OAAO,IAAI,KAAK;EAEpCrD,IAAI,CAACsD,WAAW,GACd,OAAOtD,IAAI,CAACsD,WAAW,KAAK,WAAW,GAAG,IAAI,GAAGtD,IAAI,CAACsD,WAAW;EAEnE,SAASC,OAAOA,CAACnF,IAAI,EAAE;IACrB,IAAI,CAACA,IAAI,EAAE;MACT,OAAO,EAAE;IACX;IACA,IAAI;MACF,OAAO5E,IAAI,CAACC,KAAK,CAAC2E,IAAI,CAAC;IACzB,CAAC,CAAC,OAAOzG,CAAC,EAAE;MACV,OAAO,CAAC,CAAC;IACX;EACF;EAEA,IAAI6L,CAAC,GAAGR,GAAG,CAAChD,IAAI,CAACiD,IAAI,CAAC;EAEtB,IAAI,CAACO,CAAC,EAAE;IACN,OAAO,KAAK;EACd;EAEA,IAAI,CAACxD,IAAI,CAACvF,IAAI,EAAE;IACduF,IAAI,CAACvF,IAAI,GAAGuF,IAAI,CAAC5B,IAAI,GAAG,MAAM,GAAG,KAAK;EACxC;EACA4B,IAAI,GAAG5K,MAAM,CACX;IACEqO,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAc,CAAC,CAAC;IACvB7L,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAc,CAAC;EACtB,CAAC,EACDoI,IACF,CAAC;EAED,IAAI;IACF,IAAImB,OAAA,CAAOqC,CAAC,MAAK,QAAQ,IAAI,SAAS,IAAIA,CAAC,EAAE;MAC3CA,CAAC,CAACH,OAAO,GAAGrD,IAAI,CAACqD,OAAO;IAC1B,CAAC,MAAM;MACLlQ,UAAU,CAAC,YAAY;QACrBqQ,CAAC,CAACE,KAAK,CAAC,CAAC;MACX,CAAC,EAAE1D,IAAI,CAACqD,OAAO,GAAG,GAAG,CAAC;IACxB;EACF,CAAC,CAAC,OAAO1L,CAAC,EAAE;IACV,IAAI;MACFxE,UAAU,CAAC,YAAY;QACrBqQ,CAAC,CAACE,KAAK,CAAC,CAAC;MACX,CAAC,EAAE1D,IAAI,CAACqD,OAAO,GAAG,GAAG,CAAC;IACxB,CAAC,CAAC,OAAOM,EAAE,EAAE,CAAC;EAChB;EAEAH,CAAC,CAACI,kBAAkB,GAAG,YAAY;IACjC,IAAI;MACF,IAAIJ,CAAC,CAACK,UAAU,IAAI,CAAC,EAAE;QACrB,IAAKL,CAAC,CAACM,MAAM,IAAI,GAAG,IAAIN,CAAC,CAACM,MAAM,GAAG,GAAG,IAAKN,CAAC,CAACM,MAAM,IAAI,GAAG,EAAE;UAC1D9D,IAAI,CAACyD,OAAO,CAACF,OAAO,CAACC,CAAC,CAACO,YAAY,CAAC,CAAC;QACvC,CAAC,MAAM;UACL/D,IAAI,CAACpI,KAAK,CAAC2L,OAAO,CAACC,CAAC,CAACO,YAAY,CAAC,EAAEP,CAAC,CAACM,MAAM,CAAC;QAC/C;QACAN,CAAC,CAACI,kBAAkB,GAAG,IAAI;QAC3BJ,CAAC,CAACQ,MAAM,GAAG,IAAI;MACjB;IACF,CAAC,CAAC,OAAOrM,CAAC,EAAE;MACV6L,CAAC,CAACI,kBAAkB,GAAG,IAAI;MAC3BJ,CAAC,CAACQ,MAAM,GAAG,IAAI;IACjB;EACF,CAAC;EAEDR,CAAC,CAACS,IAAI,CAACjE,IAAI,CAACvF,IAAI,EAAEuF,IAAI,CAACuB,GAAG,EAAE,IAAI,CAAC;EAEjC,IAAI;IACF,IAAIvB,IAAI,CAACsD,WAAW,EAAE;MACpBE,CAAC,CAACU,eAAe,GAAG,IAAI;IAC1B;IACA,IAAI5O,QAAQ,CAAC0K,IAAI,CAACmE,MAAM,CAAC,EAAE;MACzB,KAAK,IAAI1P,CAAC,IAAIuL,IAAI,CAACmE,MAAM,EAAE;QACzBX,CAAC,CAACY,gBAAgB,CAAC3P,CAAC,EAAEuL,IAAI,CAACmE,MAAM,CAAC1P,CAAC,CAAC,CAAC;MACvC;IACF;IAEA,IAAIuL,IAAI,CAAC5B,IAAI,EAAE;MACb,IAAI,CAAC4B,IAAI,CAACiD,IAAI,EAAE;QACdO,CAAC,CAACY,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;MAC1D;MACA,IAAIpE,IAAI,CAACqE,WAAW,KAAK,kBAAkB,EAAE;QAC3Cb,CAAC,CAACY,gBAAgB,CAAC,cAAc,EAAE,iCAAiC,CAAC;MACvE,CAAC,MAAM;QACLZ,CAAC,CAACY,gBAAgB,CAAC,cAAc,EAAE,mCAAmC,CAAC;MACzE;IACF;EACF,CAAC,CAAC,OAAOzM,CAAC,EAAE,CAAC;EAEb6L,CAAC,CAACc,IAAI,CAACtE,IAAI,CAAC5B,IAAI,IAAI,IAAI,CAAC;AAC3B,CAAC;AACD,OAAO,IAAImG,UAAU,GAAG,SAAbA,UAAUA,CAAavE,IAAI,EAAE;EACtCA,IAAI,GAAG5K,MAAM,CACX;IACEqO,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAc,CAAC,CAAC;IACvB7L,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAc,CAAC,CAAC;IACrB4M,UAAU,EAAE,SAAZA,UAAUA,CAAYhB,CAAC,EAAE;MACvBiB,QAAQ,CAACC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACnB,CAAC,CAAC;IACzD;EACF,CAAC,EACDxD,IACF,CAAC;EAED,IAAIwD,CAAC,GAAG,IAAI;EACZ,IAAIxD,IAAI,CAACvF,IAAI,KAAK,KAAK,EAAE;IACvB+I,CAAC,GAAGiB,QAAQ,CAACG,aAAa,CAAC,MAAM,CAAC;IAClCpB,CAAC,CAACqB,GAAG,GAAG,YAAY;IACpBrB,CAAC,CAACsB,IAAI,GAAG9E,IAAI,CAACuB,GAAG;EACnB;EACA,IAAIvB,IAAI,CAACvF,IAAI,KAAK,IAAI,EAAE;IACtB+I,CAAC,GAAGiB,QAAQ,CAACG,aAAa,CAAC,QAAQ,CAAC;IACpCpB,CAAC,CAACuB,KAAK,GAAG,OAAO;IACjBvB,CAAC,CAACwB,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC;IAClCxB,CAAC,CAACyB,GAAG,GAAGjF,IAAI,CAACuB,GAAG;IAChBiC,CAAC,CAAC/I,IAAI,GAAG,iBAAiB;EAC5B;EACA+I,CAAC,CAACQ,MAAM,GAAGR,CAAC,CAACI,kBAAkB,GAAG,YAAY;IAC5C,IACE,CAAC,IAAI,CAACC,UAAU,IAChB,IAAI,CAACA,UAAU,KAAK,QAAQ,IAC5B,IAAI,CAACA,UAAU,KAAK,UAAU,EAC9B;MACA7D,IAAI,CAACyD,OAAO,CAAC,CAAC;MACdD,CAAC,CAACQ,MAAM,GAAGR,CAAC,CAACI,kBAAkB,GAAG,IAAI;IACxC;EACF,CAAC;EACDJ,CAAC,CAAC0B,OAAO,GAAG,YAAY;IACtBlF,IAAI,CAACpI,KAAK,CAAC,CAAC;IACZ4L,CAAC,CAAC0B,OAAO,GAAG,IAAI;EAClB,CAAC;EACDlF,IAAI,CAACwE,UAAU,CAAChB,CAAC,CAAC;AACpB,CAAC;AACD,OAAO,IAAI2B,WAAW,GAAG,SAAdA,WAAWA,CAAa5D,GAAG,EAAE6D,YAAY,EAAE;EACpD,IAAI,CAACA,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;IACrDA,YAAY,GAAG,cAAc;EAC/B;EACA,IAAIC,QAAQ,GAAG,IAAI;EACnB,IAAI;IACFA,QAAQ,GAAG5E,GAAG,CAACc,GAAG,CAAC,CAAC8D,QAAQ;EAC9B,CAAC,CAAC,OAAO1N,CAAC,EAAE,CAAC;EACb,OAAO0N,QAAQ,IAAID,YAAY;AACjC,CAAC;AACD,OAAO,IAAIE,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAa/D,GAAG,EAAE;EAChD,IAAIgE,MAAM,GAAG,CAAC,CAAC;EACf,IAAInP,GAAG,GAAGmL,GAAG,CAACiE,KAAK,CAAC,GAAG,CAAC;EACxB,IAAIC,WAAW,GAAGrP,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;EAC9B,IAAIqP,WAAW,EAAE;IACfF,MAAM,GAAGG,kBAAkB,CAAC,GAAG,GAAGD,WAAW,CAAC;EAChD;EACA,OAAOF,MAAM;AACf,CAAC;AAED,OAAO,IAAIG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAaD,WAAW,EAAE;EACrDA,WAAW,GAAGA,WAAW,IAAI,EAAE;EAC/B,IAAIE,WAAW,GAAG,SAAdA,WAAWA,CAAa7N,GAAG,EAAE;IAC/B,OAAO8N,kBAAkB,CAAC9N,GAAG,CAAC;EAChC,CAAC;EACD,IAAI+N,IAAI,GAAG,CAAC,CAAC;EACb,IAAIzE,KAAK,GAAGqE,WAAW,CAACvH,SAAS,CAAC,CAAC,CAAC;EACpC,IAAI4H,KAAK,GAAG1E,KAAK,CAACoE,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAI/Q,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqR,KAAK,CAACtR,MAAM,EAAEC,CAAC,EAAE,EAAE;IACrC,IAAIsR,GAAG,GAAGD,KAAK,CAACrR,CAAC,CAAC,CAAC0B,OAAO,CAAC,GAAG,CAAC;IAC/B,IAAI4P,GAAG,KAAK,CAAC,CAAC,EAAE;IAChB,IAAI9D,IAAI,GAAG6D,KAAK,CAACrR,CAAC,CAAC,CAACyJ,SAAS,CAAC,CAAC,EAAE6H,GAAG,CAAC;IACrC,IAAI9P,KAAK,GAAG6P,KAAK,CAACrR,CAAC,CAAC,CAACyJ,SAAS,CAAC6H,GAAG,GAAG,CAAC,CAAC;IACvC9D,IAAI,GAAG0D,WAAW,CAAC1D,IAAI,CAAC;IACxBhM,KAAK,GAAG0P,WAAW,CAAC1P,KAAK,CAAC;IAC1B4P,IAAI,CAAC5D,IAAI,CAAC,GAAGhM,KAAK;EACpB;EACA,OAAO4P,IAAI;AACb,CAAC;AACD,SAASG,8BAA8BA,CAAA,EAAG;EACxC,IAAI,OAAOC,OAAO,KAAK,WAAW,EAAE;IAClC,IAAI3D,GAAG,GAAG,IAAI2D,OAAO,CAAC,CAAC;IACvB,OAAO;MACLC,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAYjQ,KAAK,EAAE;QACnC,IAAIkQ,GAAG,GAAG7D,GAAG,CAAC6D,GAAG,CAAClQ,KAAK,CAAC;QACxB,IAAI,CAACkQ,GAAG,EAAE;UACR7D,GAAG,CAAC8D,GAAG,CAACnQ,KAAK,CAAC;QAChB;QACA,OAAOkQ,GAAG;MACZ;IACF,CAAC;EACH;EACA,IAAIE,KAAK,GAAG,EAAE;EACd,OAAO;IACLH,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAYjQ,KAAK,EAAE;MACnC,IAAIkQ,GAAG,GAAGE,KAAK,CAAClQ,OAAO,CAACF,KAAK,CAAC,IAAI,CAAC;MACnC,IAAI,CAACkQ,GAAG,EAAE;QACRE,KAAK,CAACtP,IAAI,CAACd,KAAK,CAAC;MACnB;MACA,OAAOkQ,GAAG;IACZ;EACF,CAAC;AACH;AACA;AACA;AACA;AACA,OAAO,SAASG,OAAOA,CAACrQ,KAAK,EAAE;EAC7B,IAAIA,KAAK,KAAK,IAAI,EAAE;IAClB,OAAO,MAAM;EACf;EACA,IAAI3C,KAAK,CAACY,OAAO,CAAC+B,KAAK,CAAC,EAAE;IACxB,OAAO,OAAO;EAChB;EACA,OAAAkL,OAAA,CAAclL,KAAK;AACrB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsQ,SAASA,CAACC,WAAW,EAAExR,MAAM,EAAEyR,wBAAwB,EAAE;EACvE;EACA,IAAI,OAAOA,wBAAwB,KAAK,WAAW,EAAE;IACnDA,wBAAwB,GAAGT,8BAA8B,CAAC,CAAC;EAC7D;EACA,IAAIhR,MAAM,KAAKuC,SAAS,EAAE;IACxB,OAAOiP,WAAW;EACpB;EAEA,IAAIrF,OAAA,CAAOnM,MAAM,MAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IACjD;IACA,OAAOA,MAAM;EACf,CAAC,MAAM,IAAIA,MAAM,YAAY8F,IAAI,EAAE;IACjC,OAAO,IAAIA,IAAI,CAAC9F,MAAM,CAAC+F,OAAO,CAAC,CAAC,CAAC;EACnC,CAAC,MAAM,IAAI/F,MAAM,YAAYyC,MAAM,EAAE;IACnC,IAAIiP,KAAK,GACP1R,MAAM,CAAC0R,KAAK;IACZ;IACA,CACE1R,MAAM,CAAC2R,MAAM,GAAG,GAAG,GAAG,EAAE,EACxB3R,MAAM,CAAC4R,UAAU,GAAG,GAAG,GAAG,EAAE,EAC5B5R,MAAM,CAAC6R,SAAS,GAAG,GAAG,GAAG,EAAE,EAC3B7R,MAAM,CAAC8R,MAAM,GAAG,GAAG,GAAG,EAAE,EACxB9R,MAAM,CAAC+R,OAAO,GAAG,GAAG,GAAG,EAAE,CAC1B,CAAC1H,IAAI,CAAC,EAAE,CAAC;IACZ,OAAO,IAAI5H,MAAM,CAACzC,MAAM,CAACA,MAAM,EAAE0R,KAAK,CAAC;EACzC;EAEA,IAAID,wBAAwB,CAACP,kBAAkB,CAAClR,MAAM,CAAC,EAAE;IACvD;IACA,OAAOuC,SAAS;EAClB,CAAC,MAAM,IAAIjE,KAAK,CAACY,OAAO,CAACc,MAAM,CAAC,EAAE;IAChC,IAAIgS,MAAM,GAAG1T,KAAK,CAACY,OAAO,CAACsS,WAAW,CAAC,GAAGA,WAAW,GAAG,EAAE;IAC1D,KAAK,IAAI/R,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGO,MAAM,CAACR,MAAM,EAAE,EAAEC,CAAC,EAAE;MACtCuS,MAAM,CAACvS,CAAC,CAAC,GAAG8R,SAAS,CAACS,MAAM,CAACvS,CAAC,CAAC,EAAEO,MAAM,CAACP,CAAC,CAAC,EAAEgS,wBAAwB,CAAC;IACvE;IACA,OAAOO,MAAM;EACf;EAEA,IAAIA,MAAM,GAAGV,OAAO,CAACE,WAAW,CAAC,KAAK,QAAQ,GAAGA,WAAW,GAAG,CAAC,CAAC;EACjE,KAAK,IAAI5R,GAAG,IAAII,MAAM,EAAE;IACtB,IAAIrB,MAAM,CAACJ,SAAS,CAACO,cAAc,CAACa,IAAI,CAACK,MAAM,EAAEJ,GAAG,CAAC,EAAE;MACrDoS,MAAM,CAACpS,GAAG,CAAC,GAAG2R,SAAS,CACrBS,MAAM,CAACpS,GAAG,CAAC,EACXI,MAAM,CAACJ,GAAG,CAAC,EACX6R,wBACF,CAAC;IACH;EACF;EACA,OAAOO,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAChR,KAAK,EAAE;EAC/B,OAAOsQ,SAAS,CAAChP,SAAS,EAAEtB,KAAK,CAAC;AACpC;AAEA,OAAO,IAAIiR,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAa3F,GAAG,EAAE;EAC3C,IAAI4F,oBAAoB,GAAGC,uBAAuB,CAAC,CAAC;EACpD,IAAI7F,GAAG,KAAK,EAAE,EAAE;IACd,OAAO,SAAS;EAClB,CAAC,MAAM,IAAI4F,oBAAoB,KAAK,EAAE,EAAE;IACtC,OAAO,SAAS;EAClB,CAAC,MAAM;IACL,OAAOA,oBAAoB;EAC7B;AACF,CAAC;AACD,OAAO,IAAIC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAa/B,QAAQ,EAAE;EACvDA,QAAQ,GAAGA,QAAQ,IAAItN,MAAM,CAACsP,QAAQ,CAAChC,QAAQ;EAC/C,IAAIiC,WAAW,GAAGjC,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC;EACrC,IACEtR,OAAO,CAACoT,WAAW,CAAC,IACpBA,WAAW,CAAC9S,MAAM,IAAI,CAAC,IACvB,CAAC,eAAe,CAACkB,IAAI,CAAC2P,QAAQ,CAAC,EAC/B;IACA,IAAIkC,SAAS,GAAG,GAAG,GAAGD,WAAW,CAACE,MAAM,CAACF,WAAW,CAAC9S,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO8S,WAAW,CAAC9S,MAAM,GAAG,CAAC,EAAE;MAC7B+S,SAAS,GACP,GAAG,GAAGD,WAAW,CAACE,MAAM,CAACF,WAAW,CAAC9S,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG+S,SAAS;MACjE9C,QAAQ,CAACgD,MAAM,GAAG,mCAAmC,GAAGF,SAAS;MACjE,IAAI9C,QAAQ,CAACgD,MAAM,CAACtR,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE;QACtD,IAAI0E,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;QACpBD,GAAG,CAAC6M,OAAO,CAAC7M,GAAG,CAACE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC0J,QAAQ,CAACgD,MAAM,GACb,4BAA4B,GAC5B5M,GAAG,CAAC8M,WAAW,CAAC,CAAC,GACjB,mBAAmB,GACnBJ,SAAS;QACX,OAAOA,SAAS;MAClB;IACF;EACF;EACA,OAAO,EAAE;AACX,CAAC;AACD,OAAO,IAAIK,YAAY,GAAG,SAAfA,YAAYA,CAAa9P,GAAG,EAAE;EACvC,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAOA,GAAG;EACZ;EACA,IAAI+P,IAAI,GAAG,EAAE;EACb,KAAK,IAAIpT,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqD,GAAG,CAACtD,MAAM,EAAEC,CAAC,EAAE,EAAE;IACnCoT,IAAI,IAAI,IAAI,GAAG/P,GAAG,CAACO,UAAU,CAAC5D,CAAC,CAAC,CAACZ,QAAQ,CAAC,EAAE,CAAC;EAC/C;EACA,OAAOgU,IAAI;AACb,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAe;EACpC,IAAIC,KAAK,GAAG;IACVC,KAAK,EAAE,EAAE;IACTC,OAAO,EAAE,SAATA,OAAOA,CAAYnR,GAAG,EAAE;MACtB,IAAI,CAACkR,KAAK,CAACjR,IAAI,CAACD,GAAG,CAAC;MACpB,IAAI,CAAC8G,KAAK,CAAC,CAAC;IACd,CAAC;IACDsK,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAc;MACnB,OAAO,IAAI,CAACF,KAAK,CAACG,KAAK,CAAC,CAAC;IAC3B,CAAC;IACDC,cAAc,EAAE,SAAhBA,cAAcA,CAAA,EAAc;MAC1B,OAAO,IAAI,CAACJ,KAAK,CAAC,CAAC,CAAC;IACtB,CAAC;IACDK,KAAK,EAAE,KAAK;IACZzK,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAc;MACjB,IAAI,IAAI,CAACoK,KAAK,CAACxT,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC6T,KAAK,EAAE;QACxC,IAAI,CAACA,KAAK,GAAG,IAAI;QACjB,IAAI,CAACD,cAAc,CAAC,CAAC,CAACxK,KAAK,CAAC,CAAC;MAC/B;IACF,CAAC;IACD0K,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAc;MACjB,IAAI,CAACJ,OAAO,CAAC,CAAC;MACd,IAAI,CAACG,KAAK,GAAG,KAAK;MAClB,IAAI,CAACzK,KAAK,CAAC,CAAC;IACd;EACF,CAAC;EACD,OAAOmK,KAAK;AACd,CAAC;AACD,OAAO,IAAIQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAa/K,CAAC,EAAE;EAC5C,IAAI,CAAClI,QAAQ,CAACkI,CAAC,CAAC,EAAE;IAChB,OAAOA,CAAC;EACV;EACApJ,IAAI,CAACoJ,CAAC,EAAE,UAAU5D,CAAC,EAAEC,CAAC,EAAE;IACtB,IAAI3F,OAAO,CAAC0F,CAAC,CAAC,EAAE;MACd,IAAI0D,IAAI,GAAG,EAAE;MACblJ,IAAI,CAACwF,CAAC,EAAE,UAAU4O,IAAI,EAAE;QACtB,IAAIxP,QAAQ,CAACwP,IAAI,CAAC,EAAE;UAClBlL,IAAI,CAACvG,IAAI,CAACyR,IAAI,CAAC;QACjB,CAAC,MAAM;UACLrF,OAAO,CAACd,GAAG,CACT,OAAO,EACPxI,CAAC,EACDD,CAAC,EACD,qBACF,CAAC;QACH;MACF,CAAC,CAAC;MACF,IAAI0D,IAAI,CAAC9I,MAAM,KAAK,CAAC,EAAE;QACrBgJ,CAAC,CAAC3D,CAAC,CAAC,GAAGyD,IAAI;MACb,CAAC,MAAM;QACL,OAAOE,CAAC,CAAC3D,CAAC,CAAC;QACXsJ,OAAO,CAACd,GAAG,CAAC,UAAU,CAAC;MACzB;IACF;IACA,IACE,EACErJ,QAAQ,CAACY,CAAC,CAAC,IACXT,QAAQ,CAACS,CAAC,CAAC,IACXX,MAAM,CAACW,CAAC,CAAC,IACTV,SAAS,CAACU,CAAC,CAAC,IACZ1F,OAAO,CAAC0F,CAAC,CAAC,IACVpE,UAAU,CAACoE,CAAC,CAAC,IACbC,CAAC,KAAK,SAAS,CAChB,EACD;MACAsJ,OAAO,CAACd,GAAG,CAAC,OAAO,EAAExI,CAAC,EAAED,CAAC,EAAE,mBAAmB,CAAC;MAC/C,OAAO4D,CAAC,CAAC3D,CAAC,CAAC;IACb;EACF,CAAC,CAAC;EACF,OAAO2D,CAAC;AACV,CAAC;AAED,OAAO,IAAIiL,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAarK,IAAI,EAAE;EAC5C,IAAI+C,OAAA,CAAO/C,IAAI,MAAK,QAAQ,IAAIA,IAAI,CAACsK,OAAO,EAAE;IAC5C,IAAIC,WAAW,GAAGvK,IAAI,CAACsK,OAAO;IAC9B,OAAOtK,IAAI,CAACsK,OAAO;IACnB,OAAOC,WAAW;EACpB,CAAC,MAAM;IACL,OAAO,CAAC,CAAC;EACX;AACF,CAAC;AACD;AACA;AACA;AACA,OAAO,IAAIC,YAAY,GAAG,SAAfA,YAAYA,CAAa3D,GAAG,EAAEpL,CAAC,EAAElC,CAAC,EAAEkR,EAAE,EAAE;EACjD,IAAI5D,GAAG,KAAK,EAAE,EAAE;IACd,OAAO,EAAE;EACX;EACA4D,EAAE,GAAGA,EAAE,KAAK,EAAE,GAAG,GAAG,GAAGA,EAAE;EACzBhP,CAAC,IAAIgP,EAAE;EACP,IAAIC,EAAE,GAAG7D,GAAG,CAAC9O,OAAO,CAAC0D,CAAC,CAAC;EACvB,IAAIiP,EAAE,GAAG,CAAC,EAAE;IACV,OAAO,EAAE;EACX;EACAA,EAAE,IAAIjP,CAAC,CAACrF,MAAM;EACd,IAAIuU,EAAE,GAAGA,EAAE,GAAGD,EAAE,GAAG7D,GAAG,CAACzQ,MAAM,GAAGyQ,GAAG,CAAC9O,OAAO,CAACwB,CAAC,EAAEmR,EAAE,CAAC;EAClD,OAAO7D,GAAG,CAAC/G,SAAS,CAAC4K,EAAE,EAAEC,EAAE,CAAC;AAC9B,CAAC;AACD,OAAO,SAASC,cAAcA,CAAClF,MAAM,EAAE;EACrC,IAAI,CAACA,MAAM,EAAE,OAAOA,MAAM,KAAK,CAAC,GAAGvM,SAAS,GAAGuM,MAAM;EACrD,OACE1K,MAAM,CAAC0K,MAAM,CAAC,CAACmF,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG7P,MAAM,CAAC0K,MAAM,CAAC,CAACmF,MAAM,CAAC,CAAC,CAAC,CAAC/Q,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AAE/E;AACA,OAAO,IAAIgR,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAe;EACnC,IAAIC,GAAG,GAAG1E,QAAQ,CAAC2E,QAAQ,CAACC,WAAW,CAAC,CAAC;EACzC,IAAIC,EAAE,GAAG,uBAAuB;EAChC;EACA,IAAIH,GAAG,KAAK,EAAE,IAAIA,GAAG,CAAC5K,KAAK,CAAC+K,EAAE,CAAC,EAAE;IAC/BH,GAAG,GAAGP,YAAY,CAAC7Q,MAAM,CAACsP,QAAQ,CAACvC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;IACxD,IAAIqE,GAAG,KAAK,EAAE,EAAE;MACd,OAAO7K,kBAAkB,CAAC6K,GAAG,CAAC;IAChC;EACF;EACA,OAAO7K,kBAAkB,CAAC6K,GAAG,CAAC;AAChC,CAAC;AACD,OAAO,IAAII,UAAU,GAAG,SAAbA,UAAUA,CAAa5M,CAAC,EAAElC,IAAI,EAAE;EACzC,OAAO5G,QAAQ,CAACc,IAAI,CAACgI,CAAC,CAAC,KAAK,UAAU,GAAGlC,IAAI,GAAG,GAAG;AACrD,CAAC;AAED,OAAO,SAAS+O,IAAIA,CAAA,EAAG,CAAC;AAExB,OAAO,IAAIC,UAAU,GAAG,IAAI;AAC5B,OAAO,IAAIC,UAAU,GAAG,EAAE,GAAGD,UAAU;AACvC,OAAO,IAAIE,QAAQ,GAAG,EAAE,GAAGD,UAAU;AACrC,OAAO,IAAIE,OAAO,GAAG,EAAE,GAAGD,QAAQ;AAClC,OAAO,IAAIE,QAAQ,GAAG,GAAG,GAAGD,OAAO;;AAEnC;AACA;AACA;AACA;AACA,OAAO,SAASE,WAAWA,CAACC,SAAS,EAAE;EACrC,OAAOA,SAAS,KAAK,CAAC,IAAItK,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAIqK,SAAS;AAC5D;AAEA,OAAO,SAASC,KAAKA,CAACC,GAAG,EAAEC,QAAQ,EAAE;EACnC,OAAO,CAACD,GAAG,CAACE,OAAO,CAACD,QAAQ,CAAC;AAC/B;AAEA,OAAO,SAASE,MAAMA,CAACC,QAAQ,EAAE;EAC/B,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAChC,OAAOA,QAAQ;EACjB;EACA,OAAOL,KAAK,CAACK,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;AACjC;AACA,OAAO,SAASC,SAASA,CAACnV,MAAM,EAAEwB,EAAE,EAAE;EACpC,IAAI4T,SAAS,GAAG,CAAC,CAAC;EAClBnW,IAAI,CAACe,MAAM,EAAE,UAAUc,KAAK,EAAErB,GAAG,EAAE;IACjC2V,SAAS,CAAC3V,GAAG,CAAC,GAAG+B,EAAE,CAACV,KAAK,CAAC;EAC5B,CAAC,CAAC;EAEF,OAAOsU,SAAS;AAClB;AAEA,OAAO,SAASC,gBAAgBA,CAACH,QAAQ,EAAE;EACzC,IAAI,CAAClR,QAAQ,CAACkR,QAAQ,CAAC,EAAE;IACvB,OAAOA,QAAQ;EACjB;EACA,OAAOL,KAAK,CAACK,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;AACjC;AACA,OAAO,SAASI,eAAeA,CAACC,SAAS,EAAE;EACzC,OAAOA,SAAS,GAAGC,kBAAkB,CAAC,CAAC;AACzC;AACA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7B,OAAOC,WAAW,CAAC,CAAC;AACtB;AACA,OAAO,SAASC,YAAYA,CAACC,YAAY,EAAE;EACzC,OAAOtL,IAAI,CAACuK,KAAK,CAACW,kBAAkB,CAAC,CAAC,GAAGI,YAAY,CAAC;AACxD;AACA,OAAO,SAASF,WAAWA,CAAA,EAAG;EAC5B,OAAOG,WAAW,CAACnQ,GAAG,CAAC,CAAC;AAC1B;AAEA,OAAO,SAASoQ,SAASA,CAAA,EAAG;EAC1B,OAAO;IAAEC,QAAQ,EAAEL,WAAW,CAAC,CAAC;IAAEM,SAAS,EAAEC,YAAY,CAAC;EAAE,CAAC;AAC/D;AACA,OAAO,SAASA,YAAYA,CAAA,EAAG;EAC7B,OAAOC,OAAO,CAAC,CAAC;AAClB;AAEA,OAAO,SAASC,qBAAqBA,CAACC,IAAI,EAAE;EAC1C,OAAOA,IAAI,GAAG1B,QAAQ;AACxB;AACA,OAAO,SAASwB,OAAOA,CAAA,EAAG;EACxB;EACA;EACA;EACA;EACA;EACA,OAAO,IAAIvQ,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;AAC7B;AAEA,OAAO,SAASyQ,OAAOA,CAAC5N,KAAK,EAAEC,GAAG,EAAE;EAClC,OAAOA,GAAG,GAAGD,KAAK;AACpB;AAEA,OAAO,SAAS6N,YAAYA,CAAA,EAAG;EAC7B,OAAO;IAAEP,QAAQ,EAAE,CAAC;IAAEC,SAAS,EAAER,kBAAkB,CAAC;EAAE,CAAC;AACzD;AACA,OAAO,SAASe,cAAcA,CAACC,MAAM,EAAE;EACrC,OAAOA,MAAM,CAACT,QAAQ;AACxB;AACA,OAAO,SAASU,kBAAkBA,CAACD,MAAM,EAAE;EACzC,OAAOb,YAAY,CAACa,MAAM,CAACT,QAAQ,CAAC;AACtC;AACA,OAAO,SAASW,gBAAgBA,CAACX,QAAQ,EAAE;EACzC,OAAO;IAAEA,QAAQ,EAAEA,QAAQ;IAAEC,SAAS,EAAEW,qBAAqB,CAACZ,QAAQ;EAAE,CAAC;AAC3E;AACA,OAAO,SAASa,YAAYA,CAAA,EAAG;EAC7B;EACA,OAAOtM,IAAI,CAACuK,KAAK,CAACqB,OAAO,CAAC,CAAC,IAAIV,kBAAkB,CAAC,CAAC,GAAGK,WAAW,CAACnQ,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3E;AACA,OAAO,SAASmR,WAAWA,CAACpP,CAAC,EAAEC,CAAC,EAAE;EAChC,OAAOD,CAAC,GAAGC,CAAC;AACd;AACA,SAASiP,qBAAqBA,CAACf,YAAY,EAAE;EAC3C,IAAIkB,eAAe,GAAGZ,OAAO,CAAC,CAAC,GAAGL,WAAW,CAACnQ,GAAG,CAAC,CAAC;EACnD;EACA,IAAIoR,eAAe,GAAGtB,kBAAkB,CAAC,CAAC,EAAE;IAC1C,OAAOlL,IAAI,CAACuK,KAAK,CAACiC,eAAe,GAAGlB,YAAY,CAAC;EACnD;EACA,OAAOD,YAAY,CAACC,YAAY,CAAC;AACnC;AACA;AACA;AACA;AACA,IAAImB,eAAe;AACnB,OAAO,SAASvB,kBAAkBA,CAAA,EAAG;EACnC,IAAIuB,eAAe,KAAK3U,SAAS,EAAE;IACjC2U,eAAe,GAAGlB,WAAW,CAACmB,MAAM,CAACD,eAAe;EACtD;EACA,OAAOA,eAAe;AACxB;AAEA,IAAIE,yBAAyB,GAAG,yBAAyB;AACzD,OAAO,SAASC,uBAAuBA,CAACC,SAAS,EAAErK,IAAI,EAAE;EACvDmK,yBAAyB,CAACG,SAAS,GAAG,CAAC;EACvC;EACA,OAAO,IAAI,EAAE;IACX,IAAIhO,KAAK,GAAG6N,yBAAyB,CAAC3K,IAAI,CAAC6K,SAAS,CAAC;IACrD,IAAI/N,KAAK,EAAE;MACT,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK0D,IAAI,EAAE;QACrB,OAAO1D,KAAK,CAAC,CAAC,CAAC;MACjB;IACF,CAAC,MAAM;MACL;IACF;EACF;AACF;AAEA,OAAO,SAASiO,wBAAwBA,CAACF,SAAS,EAAE;EAClD,IAAI/G,MAAM,GAAG,IAAIkH,GAAG,CAAC,CAAC;EACtBL,yBAAyB,CAACG,SAAS,GAAG,CAAC;EACvC;EACA,OAAO,IAAI,EAAE;IACX,IAAIhO,KAAK,GAAG6N,yBAAyB,CAAC3K,IAAI,CAAC6K,SAAS,CAAC;IACrD,IAAI/N,KAAK,EAAE;MACTgH,MAAM,CAACjD,GAAG,CAAC/D,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,MAAM;MACL;IACF;EACF;EACA,OAAOgH,MAAM;AACf;AACA,OAAO,SAASmH,UAAUA,CAAC1X,MAAM,EAAE6K,IAAI,EAAE;EACvC,IAAI8M,OAAO,GAAG9M,IAAI,CAAC2F,KAAK,CAAC,GAAG,CAAC;EAC7B,OAAOmH,OAAO,CAACnY,MAAM,EAAE;IACrB,IAAII,GAAG,GAAG+X,OAAO,CAACxE,KAAK,CAAC,CAAC;IACzB,IACEnT,MAAM,IACNM,QAAQ,CAACN,MAAM,CAAC,IAChBJ,GAAG,IAAII,MAAM,IACblB,cAAc,CAACa,IAAI,CAACK,MAAM,EAAEJ,GAAG,CAAC,EAChC;MACAI,MAAM,GAAGA,MAAM,CAACJ,GAAG,CAAC;IACtB,CAAC,MAAM;MACL,OAAO2C,SAAS;IAClB;EACF;EACA,OAAOvC,MAAM;AACf;AACA,OAAO,SAAS4X,YAAYA,CAACC,SAAS,EAAErY,MAAM,EAAE;EAC9C,IAAIsY,QAAQ,GAAGD,SAAS,CAACxU,UAAU,CAAC7D,MAAM,GAAG,CAAC,CAAC;EAC/C;EACA,IAAIsY,QAAQ,IAAI,MAAM,IAAIA,QAAQ,IAAI,MAAM,EAAE;IAC5C,OAAOD,SAAS,CAACjZ,KAAK,CAAC,CAAC,EAAEY,MAAM,GAAG,CAAC,CAAC;EACvC;EACA,OAAOqY,SAAS,CAACjZ,KAAK,CAAC,CAAC,EAAEY,MAAM,CAAC;AACnC;AACA,OAAO,SAASuY,aAAaA,CAACvV,IAAI,EAAE;EAClC,IAAMwV,QAAQ,GAAG1G,OAAO,CAAC9O,IAAI,CAAC;EAC9B,OACEwV,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,UAAU,IAAIxV,IAAI,YAAYC,MAAM;AAE9E;AACA,OAAO,SAASwV,QAAQA,CAACJ,SAAS,EAAEK,MAAM,EAAE;EAC1C;EACA,OAAOL,SAAS,CAAC1W,OAAO,CAAC+W,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC;AAEA,OAAO,SAASC,IAAIA,CAAC9G,KAAK,EAAE+G,SAAS,EAAE;EACrC,KAAK,IAAI3Y,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4R,KAAK,CAAC7R,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI+C,IAAI,GAAG6O,KAAK,CAAC5R,CAAC,CAAC;IACnB,IAAI2Y,SAAS,CAAC5V,IAAI,EAAE/C,CAAC,EAAE4R,KAAK,CAAC,EAAE;MAC7B,OAAO7O,IAAI;IACb;EACF;EACA,OAAOD,SAAS;AAClB;AACA,OAAO,SAAS8V,SAASA,CAACC,SAAS,EAAE;EACnC,IAAIha,KAAK,CAACia,IAAI,EAAE;IACd,OAAOja,KAAK,CAACia,IAAI,CAACD,SAAS,CAAC;EAC9B;EACA,IAAIjH,KAAK,GAAG,EAAE;EACd,IAAIiH,SAAS,YAAYE,GAAG,EAAE;IAC5BF,SAAS,CAACtZ,OAAO,CAAC,UAAUwD,IAAI,EAAE;MAChC6O,KAAK,CAACtP,IAAI,CAACS,IAAI,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,KAAK,IAAI/C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6Y,SAAS,CAAC9Y,MAAM,EAAEC,CAAC,EAAE,EAAE;MACzC4R,KAAK,CAACtP,IAAI,CAACuW,SAAS,CAAC7Y,CAAC,CAAC,CAAC;IAC1B;EACF;EACA,OAAO4R,KAAK;AACd;AACA,OAAO,SAASoH,QAAQA,CAACpH,KAAK,EAAE+G,SAAS,EAAE;EACzC,KAAK,IAAI3Y,CAAC,GAAG4R,KAAK,CAAC7R,MAAM,GAAG,CAAC,EAAEC,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;IAC7C,IAAI+C,IAAI,GAAG6O,KAAK,CAAC5R,CAAC,CAAC;IACnB,IAAI2Y,SAAS,CAAC5V,IAAI,EAAE/C,CAAC,EAAE4R,KAAK,CAAC,EAAE;MAC7B,OAAO7O,IAAI;IACb;EACF;EACA,OAAOD,SAAS;AAClB;AACA,OAAO,SAASmW,YAAYA,CAACzX,KAAK,EAAE;EAClC,OAAOkD,QAAQ,CAAClD,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,GAAG;AACtD;AAEA,OAAO,SAAS0X,iBAAiBA,CAAA,EAAG;EAClC,OAAOC,oBAAoB,CAAC7V,MAAM,CAACsP,QAAQ,CAAC;AAC9C;AACA,OAAO,IAAIwG,OAAO,GAAG;EACnBC,EAAE,EAAE,CAAC;EACLC,QAAQ,EAAE,CAAC;EACXC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE;AACT,CAAC;AACD,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,OAAOC,mBAAmB,CAAC,CAAC,KAAKN,OAAO,CAACC,EAAE;AAC7C;AACA,OAAO,SAASM,UAAUA,CAAA,EAAG;EAC3B,OAAOD,mBAAmB,CAAC,CAAC,KAAKN,OAAO,CAACE,QAAQ;AACnD;AACA,OAAO,SAASM,QAAQA,CAAA,EAAG;EACzB,OAAOF,mBAAmB,CAAC,CAAC,KAAKN,OAAO,CAACG,MAAM;AACjD;AACA,IAAIM,YAAY;AAChB,SAASH,mBAAmBA,CAAA,EAAG;EAC7B,OAAOI,2BAA2B,CAChCD,YAAY,EACXA,YAAY,GAAGE,aAAa,CAAC,CAChC,CAAC;AACH;AACA,OAAO,SAASA,aAAaA,CAACC,aAAa,EAAE;EAAA,IAAAC,qBAAA;EAC3C,IAAI,OAAOD,aAAa,KAAK,WAAW,EAAE;IACxCA,aAAa,GAAG1W,MAAM;EACxB;EACA,IAAI4W,SAAS,GAAGF,aAAa,CAACG,SAAS,CAACD,SAAS;EACjD,IAAIF,aAAa,CAACI,MAAM,IAAI,gBAAgB,CAACnZ,IAAI,CAACiZ,SAAS,CAAC,EAAE;IAC5D,OAAOd,OAAO,CAACE,QAAQ;EACzB;EAEA;EACE;EACA;EACA;EACA,EAAAW,qBAAA,GAAAD,aAAa,CAACG,SAAS,CAACE,MAAM,cAAAJ,qBAAA,uBAA9BA,qBAAA,CAAgCvY,OAAO,CAAC,OAAO,CAAC,MAAK,CAAC,IACrD,SAAS,CAACT,IAAI,CAACiZ,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAACjZ,IAAI,CAACiZ,SAAS,CAAE,EACjE;IACA,OAAOd,OAAO,CAACG,MAAM;EACvB;EAEA,IAAIS,aAAa,CAAChK,QAAQ,CAACsK,YAAY,EAAE;IACvC,OAAOlB,OAAO,CAACC,EAAE;EACnB;EAEA,OAAOD,OAAO,CAACI,KAAK;AACtB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASL,oBAAoBA,CAAChM,OAAO,EAAE;EAC5C,IAAIA,OAAO,CAACoN,MAAM,IAAIpN,OAAO,CAACoN,MAAM,KAAK,MAAM,EAAE;IAC/C,OAAOpN,OAAO,CAACoN,MAAM;EACvB;EACA,IAAIC,aAAa,GAAGrN,OAAO,CAACsN,IAAI,CAAChX,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;EAC3D,OAAO0J,OAAO,CAACuN,QAAQ,GAAG,IAAI,GAAGF,aAAa;AAChD;AAEA,OAAO,SAASG,iBAAiBA,CAACvC,SAAS,EAAE;EAC3C,IAAItH,MAAM,GAAG,CAAC,CAAC;EACfnR,IAAI,CAACyY,SAAS,EAAE,UAAU5W,KAAK,EAAErB,GAAG,EAAE;IACpC2Q,MAAM,CAAC8J,WAAW,CAACza,GAAG,CAAC,CAAC,GAAG0a,aAAa,CAACrZ,KAAK,CAAC;EACjD,CAAC,CAAC;EACF,OAAOsP,MAAM;AACf;AAEA,OAAO,SAAS+J,aAAaA,CAACzC,SAAS,EAAE;EACvC,IAAI3Y,OAAO,CAAC2Y,SAAS,CAAC,EAAE;IACtB,OAAO7V,GAAG,CAAC6V,SAAS,EAAE,UAAU5W,KAAK,EAAE;MACrC,OAAOqZ,aAAa,CAACrZ,KAAK,CAAC;IAC7B,CAAC,CAAC;EACJ;EACA,IAAIkL,OAAA,CAAO0L,SAAS,MAAK,QAAQ,IAAIA,SAAS,KAAK,IAAI,EAAE;IACvD,OAAOuC,iBAAiB,CAACvC,SAAS,CAAC;EACrC;EACA,OAAOA,SAAS;AAClB;AAEA,OAAO,SAASwC,WAAWA,CAACE,IAAI,EAAE;EAChC,OAAOA,IAAI,CACRrX,OAAO,CAAC,QAAQ,EAAE,UAAUsX,eAAe,EAAEC,KAAK,EAAE;IACnD,OAAO,CAACA,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,IAAID,eAAe,CAACnG,WAAW,CAAC,CAAC;EACjE,CAAC,CAAC,CACDnR,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACvB;AAEA,OAAO,SAASqW,2BAA2BA,CAACnQ,IAAI,EAAEgH,YAAY,EAAE;EAC9D,IAAIhH,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,EAAE;IACpC,OAAOA,IAAI;EACb,CAAC,MAAM;IACL,OAAOgH,YAAY;EACrB;AACF;AAEA,OAAO,SAASsK,cAAcA,CAACva,MAAM,EAAEc,KAAK,EAAE;EAC5C,OAAOgB,IAAI,CAACf,IAAI,CAACf,MAAM,CAAC,EAAE,UAAUP,GAAG,EAAE;IACvC,OAAOO,MAAM,CAACP,GAAG,CAAC,KAAKqB,KAAK;EAC9B,CAAC,CAAC;AACJ;AACA,OAAO,SAASyB,UAAUA,CAACmV,SAAS,EAAEK,MAAM,EAAE;EAC5C,OAAOL,SAAS,CAACjZ,KAAK,CAAC,CAAC,EAAEsZ,MAAM,CAAC1Y,MAAM,CAAC,KAAK0Y,MAAM;AACrD;AAEA,OAAO,SAASyC,QAAQA,CAAC9C,SAAS,EAAEK,MAAM,EAAE;EAC1C,OAAOL,SAAS,CAACjZ,KAAK,CAAC,CAACsZ,MAAM,CAAC1Y,MAAM,CAAC,KAAK0Y,MAAM;AACnD;AACA,OAAO,SAAS0C,gBAAgBA,CAACvJ,KAAK,EAAE;EACtC,IAAI/D,GAAG,GAAG,IAAIkL,GAAG,CAAC,CAAC;EACnBnH,KAAK,CAACrS,OAAO,CAAC,UAAUwD,IAAI,EAAE;IAC5B8K,GAAG,CAAC8D,GAAG,CAAC5O,IAAI,CAAC;EACf,CAAC,CAAC;EACF,OAAO6V,SAAS,CAAC/K,GAAG,CAAC;AACvB;AAEA,OAAO,SAASG,UAAUA,CAAC4D,KAAK,EAAE7O,IAAI,EAAE;EACtC,IAAIiY,KAAK,GAAGpJ,KAAK,CAAClQ,OAAO,CAACqB,IAAI,CAAC;EAC/B,IAAIiY,KAAK,IAAI,CAAC,EAAE;IACdpJ,KAAK,CAACmB,MAAM,CAACiI,KAAK,EAAE,CAAC,CAAC;EACxB;AACF;AACA,OAAO,SAASI,UAAUA,CAACC,QAAQ,EAAE;EACnC,IAAI;IACF,OAAOA,QAAQ,CAACC,KAAK,CAAC,CAAC;EACzB,CAAC,CAAC,OAAOpY,CAAC,EAAE;IACV;IACA;EACF;AACF;AACA,OAAO,SAASqY,cAAcA,CAAClU,IAAI,EAAE;EACnC,IAAImU,eAAe,GAAGnU,IAAI,CAACmN,MAAM,CAAC,CAAC,CAAC;EACpC,IAAI,CAACgH,eAAe,EAAE,OAAO,KAAK;EAClC,OAAO,CAAC,CAACxL,QAAQ,CAACyL,cAAc,CAACD,eAAe,CAAC;AACnD;AACA,OAAO,SAASE,eAAeA,CAACrU,IAAI,EAAE;EACpC,IAAI2T,KAAK,GAAG3T,IAAI,CAAC3F,OAAO,CAAC,GAAG,CAAC;EAC7B,OAAOsZ,KAAK,GAAG,CAAC,GAAG3T,IAAI,GAAGA,IAAI,CAAClI,KAAK,CAAC,CAAC,EAAE6b,KAAK,CAAC;AAChD;AAEA,OAAO,SAASW,uBAAuBA,CAAC/F,QAAQ,EAAE;EAChD,OAAOlR,QAAQ,CAACkR,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,GAAG9S,SAAS,GAAG8S,QAAQ;AAClE","ignoreList":[]}
1
+ {"version":3,"file":"tools.js","names":["display","setTimeout","clearTimeout","ArrayProto","Array","prototype","FuncProto","Function","ObjProto","Object","slice","toString","hasOwnProperty","nativeForEach","forEach","nativeIsArray","isArray","breaker","each","obj","iterator","context","length","i","l","call","key","assign","target","arguments","source","prop","shallowClone","object","extend","extend2Lev","isObject","coverExtend","isFunction","f","test","err","isArguments","toArray","iterable","values","results","value","keys","indexOf","arr","hasAttribute","ele","attr","attributes","specified","filter","fn","self","ret","val","push","map","some","flag","every","matchList","list","useStartsWith","undefined","item","RegExp","startsWith","e","error","cssEscape","str","window","CSS","escape","replace","ch","asCodePoint","charCodeAt","inherit","subclass","superclass","F","constructor","tirm","isEmptyObject","objectEntries","res","isUndefined","isString","isDate","isBoolean","isNumber","String","isElement","nodeType","isJSONString","JSON","parse","safeJSONParse","encodeDates","v","k","formatDate","_encodeDates","mediaQueriesSupported","matchMedia","msMatchMedia","getScreenOrientation","screenOrientationAPI","screen","msOrientation","mozOrientation","orientation","type","screenOrientation","matchMediaFunc","matches","now","Date","getTime","throttle","wait","options","needLeadingExecution","leading","needTrailingExecution","trailing","inWaitPeriod","pendingExecutionWithParameters","pendingTimeoutId","throttled","apply","cancel","hashCode","hash","char","d","pad","n","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","searchObjDate","o","a","b","_searchObjDate","formatJsonString","stringify","searchObjString","formatString","_searchObjString","unique","ar","temp","strip_empty_properties","p","utf8Encode","string","utftext","start","end","stringl","c1","enc","fromCharCode","substring","base64Encode","data","btoa","encodeURIComponent","match","p1","b64","o1","o2","o3","h1","h2","h3","h4","bits","ac","tmp_arr","charAt","join","UUID","placeholder","parseInt","Math","random","concat","replaceNumberCharByPath","path","pathGroup","urlParse","para","URLParser","_fields","Username","Password","Port","Protocol","Host","Path","URL","QueryString","Fragment","_values","_regex","_parse","setUrl","_initValues","addQueryString","queryObj","_typeof","query","getParse","getUrl","url","Origin","exec","c","elementMatches","element","selector","msMatchesSelector","localStorage","get","name","getItem","storedValue","sd","log","set","setItem","remove","removeItem","isSupport","supported","sessionStorage","isSupportCors","XMLHttpRequest","XDomainRequest","xhr","cors","ActiveXObject","console","ajax","timeout","credentials","getJSON","g","success","abort","e2","onreadystatechange","readyState","status","responseText","onload","open","withCredentials","header","setRequestHeader","contentType","send","loadScript","appendCall","document","getElementsByTagName","appendChild","createElement","rel","href","async","setAttribute","src","onerror","getHostname","defaultValue","hostname","getQueryParamsFromUrl","result","split","queryString","getURLSearchParams","decodeParam","decodeURIComponent","args","pairs","pos","createCircularReferenceChecker","WeakSet","hasAlreadyBeenSeen","has","add","array","getType","mergeInto","destination","circularReferenceChecker","flags","global","ignoreCase","multiline","sticky","unicode","merged","deepClone","getCurrentDomain","cookieTopLevelDomain","getCookieTopLevelDomain","location","splitResult","domainStr","splice","cookie","setTime","toGMTString","strToUnicode","nstr","autoExeQueue","queue","items","enqueue","dequeue","shift","getCurrentItem","isRun","close","strip_sa_properties","arrv","searchConfigData","$option","data_config","stringSplice","sp","ps","pe","getStatusGroup","substr","getReferrer","ref","referrer","toLowerCase","re","typeDecide","noop","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","performDraw","threshold","round","num","decimals","toFixed","msToNs","duration","mapValues","newObject","toServerDuration","getRelativeTime","timestamp","getNavigationStart","preferredNow","relativeNow","getTimestamp","relativeTime","performance","clocksNow","relative","timeStamp","timeStampNow","dateNow","looksLikeRelativeTime","time","elapsed","clocksOrigin","preferredClock","clocks","preferredTimeStamp","relativeToClocks","getCorrectedTimeStamp","currentDrift","addDuration","correctedOrigin","navigationStart","timing","COMMA_SEPARATED_KEY_VALUE","findCommaSeparatedValue","rawString","lastIndex","findCommaSeparatedValues","Map","findByPath","pathArr","safeTruncate","candidate","lastChar","isMatchOption","itemType","includes","search","find","predicate","arrayFrom","arrayLike","from","Set","findLast","isPercentage","getLocationOrigin","getLinkElementOrigin","Browser","IE","CHROMIUM","SAFARI","OTHER","isIE","detectBrowserCached","isChromium","isSafari","browserCache","isNullUndefinedDefaultValue","detectBrowser","browserWindow","_browserWindow$naviga","userAgent","navigator","chrome","vendor","documentMode","origin","sanitizedHost","host","protocol","withSnakeCaseKeys","toSnakeCase","deepSnakeCase","word","uppercaseLetter","index","objectHasValue","endsWith","removeDuplicates","tryToClone","response","clone","isHashAnAnchor","correspondingId","getElementById","getPathFromHash","discardNegativeDuration"],"sources":["../../src/helper/tools.js"],"sourcesContent":["import { display } from './display'\nimport { setTimeout, clearTimeout } from './timer'\nvar ArrayProto = Array.prototype\nvar FuncProto = Function.prototype\nvar ObjProto = Object.prototype\nvar slice = ArrayProto.slice\nvar toString = ObjProto.toString\nvar hasOwnProperty = ObjProto.hasOwnProperty\nvar nativeForEach = ArrayProto.forEach\nvar nativeIsArray = Array.isArray\nvar breaker = false\nexport var each = function (obj, iterator, context) {\n if (obj === null) return false\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context)\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) {\n return false\n }\n }\n } else {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) {\n return false\n }\n }\n }\n }\n}\nexport function assign(target) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\n target[prop] = source[prop]\n }\n }\n })\n return target\n}\n\nexport function shallowClone(object) {\n return assign({}, object)\n}\nexport var extend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var extend2Lev = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0) {\n if (isObject(source[prop]) && isObject(obj[prop])) {\n extend(obj[prop], source[prop])\n } else {\n obj[prop] = source[prop]\n }\n }\n }\n })\n return obj\n}\nexport var coverExtend = function (obj) {\n each(slice.call(arguments, 1), function (source) {\n for (var prop in source) {\n if (source[prop] !== void 0 && obj[prop] === void 0) {\n obj[prop] = source[prop]\n }\n }\n })\n return obj\n}\nexport var isArray =\n nativeIsArray ||\n function (obj) {\n return toString.call(obj) === '[object Array]'\n }\nexport var isFunction = function (f) {\n if (!f) {\n return false\n }\n try {\n return /^\\s*\\bfunction\\b/.test(f)\n } catch (err) {\n return false\n }\n}\nexport var isArguments = function (obj) {\n return !!(obj && hasOwnProperty.call(obj, 'callee'))\n}\nexport var toArray = function (iterable) {\n if (!iterable) return []\n if (iterable.toArray) {\n return iterable.toArray()\n }\n if (isArray(iterable)) {\n return slice.call(iterable)\n }\n if (isArguments(iterable)) {\n return slice.call(iterable)\n }\n return values(iterable)\n}\nexport var values = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value) {\n results[results.length] = value\n })\n return results\n}\nexport var keys = function (obj) {\n var results = []\n if (obj === null) {\n return results\n }\n each(obj, function (value, key) {\n results[results.length] = key\n })\n return results\n}\nexport var indexOf = function (arr, target) {\n var indexOf = arr.indexOf\n if (indexOf) {\n return indexOf.call(arr, target)\n } else {\n for (var i = 0; i < arr.length; i++) {\n if (target === arr[i]) {\n return i\n }\n }\n return -1\n }\n}\nexport var hasAttribute = function (ele, attr) {\n if (ele.hasAttribute) {\n return ele.hasAttribute(attr)\n } else {\n return !!(ele.attributes[attr] && ele.attributes[attr].specified)\n }\n}\nexport var filter = function (arr, fn, self) {\n if (arr.filter) {\n return arr.filter(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n ret.push(val)\n }\n }\n return ret\n}\nexport var map = function (arr, fn, self) {\n if (arr.map) {\n return arr.map(fn)\n }\n var ret = []\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n ret.push(fn.call(self, val, i, arr))\n }\n return ret\n}\nexport var some = function (arr, fn, self) {\n if (arr.some) {\n return arr.some(fn)\n }\n var flag = false\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (fn.call(self, val, i, arr)) {\n flag = true\n break\n }\n }\n return flag\n}\nexport var every = function (arr, fn, self) {\n if (arr.every) {\n return arr.every(fn)\n }\n var flag = true\n for (var i = 0; i < arr.length; i++) {\n if (!hasOwnProperty.call(arr, i)) {\n continue\n }\n var val = arr[i]\n if (!fn.call(self, val, i, arr)) {\n flag = false\n break\n }\n }\n return flag\n}\nexport var matchList = function (list, value, useStartsWith) {\n if (useStartsWith === undefined) {\n useStartsWith = false\n }\n return some(list, function (item) {\n try {\n if (typeof item === 'function') {\n return item(value)\n } else if (item instanceof RegExp) {\n return item.test(value)\n } else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value\n }\n } catch (e) {\n display.error(e)\n }\n return false\n })\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport var cssEscape = function (str) {\n str = str + ''\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str)\n }\n\n // eslint-disable-next-line no-control-regex\n return str.replace(\n /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,\n function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD'\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return (\n ch.slice(0, -1) +\n '\\\\' +\n ch.charCodeAt(ch.length - 1).toString(16) +\n ' '\n )\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return '\\\\' + ch\n }\n )\n}\nexport var inherit = function (subclass, superclass) {\n var F = function () {}\n F.prototype = superclass.prototype\n subclass.prototype = new F()\n subclass.prototype.constructor = subclass\n subclass.superclass = superclass.prototype\n return subclass\n}\nexport var tirm = function (str) {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '')\n}\nexport var isObject = function (obj) {\n if (obj === null) return false\n return toString.call(obj) === '[object Object]'\n}\n\nexport var isEmptyObject = function (obj) {\n if (isObject(obj)) {\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n return false\n }\n }\n return true\n } else {\n return false\n }\n}\nexport var objectEntries = function (object) {\n var res = []\n each(object, function (value, key) {\n res.push([key, value])\n })\n return res\n}\nexport var isUndefined = function (obj) {\n return obj === void 0\n}\nexport var isString = function (obj) {\n return toString.call(obj) === '[object String]'\n}\nexport var isDate = function (obj) {\n return toString.call(obj) === '[object Date]'\n}\nexport var isBoolean = function (obj) {\n return toString.call(obj) === '[object Boolean]'\n}\nexport var isNumber = function (obj) {\n return toString.call(obj) === '[object Number]' && /[\\d\\.]+/.test(String(obj))\n}\nexport var isElement = function (obj) {\n return !!(obj && obj.nodeType === 1)\n}\nexport var isJSONString = function (str) {\n try {\n JSON.parse(str)\n } catch (e) {\n return false\n }\n return true\n}\nexport var safeJSONParse = function (str) {\n var val = null\n try {\n val = JSON.parse(str)\n } catch (e) {\n return false\n }\n return val\n}\n\nexport var encodeDates = function (obj) {\n each(obj, function (v, k) {\n if (isDate(v)) {\n obj[k] = formatDate(v)\n } else if (isObject(v)) {\n obj[k] = encodeDates(v)\n }\n })\n return obj\n}\nexport var mediaQueriesSupported = function () {\n return (\n typeof window.matchMedia !== 'undefined' ||\n typeof window.msMatchMedia !== 'undefined'\n )\n}\nexport var getScreenOrientation = function () {\n var screenOrientationAPI =\n screen.msOrientation ||\n screen.mozOrientation ||\n (screen.orientation || {}).type\n var screenOrientation = 'unknown'\n if (screenOrientationAPI) {\n screenOrientation =\n screenOrientationAPI.indexOf('landscape') > -1 ? 'landscape' : 'portrait'\n } else if (mediaQueriesSupported()) {\n var matchMediaFunc = window.matchMedia || window.msMatchMedia\n if (matchMediaFunc('(orientation: landscape)').matches) {\n screenOrientation = 'landscape'\n } else if (matchMediaFunc('(orientation: portrait)').matches) {\n screenOrientation = 'portrait'\n }\n }\n return screenOrientation\n}\nexport var now =\n Date.now ||\n function () {\n return new Date().getTime()\n }\n\nexport var throttle = function (fn, wait, options) {\n var needLeadingExecution =\n options && options.leading !== undefined ? options.leading : true\n var needTrailingExecution =\n options && options.trailing !== undefined ? options.trailing : true\n let inWaitPeriod = false\n let pendingExecutionWithParameters\n let pendingTimeoutId\n var context = this\n return {\n throttled: function () {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = arguments\n return\n }\n\n if (needLeadingExecution) {\n fn.apply(context, arguments)\n } else {\n pendingExecutionWithParameters = arguments\n }\n inWaitPeriod = true\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(context, pendingExecutionWithParameters)\n }\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }, wait)\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId)\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }\n }\n}\nexport var hashCode = function (str) {\n if (typeof str !== 'string') {\n return 0\n }\n var hash = 0\n var char = null\n if (str.length == 0) {\n return hash\n }\n for (var i = 0; i < str.length; i++) {\n char = str.charCodeAt(i)\n hash = (hash << 5) - hash + char\n hash = hash & hash\n }\n return hash\n}\nexport var formatDate = function (d) {\n function pad(n) {\n return n < 10 ? '0' + n : n\n }\n\n return (\n d.getFullYear() +\n '-' +\n pad(d.getMonth() + 1) +\n '-' +\n pad(d.getDate()) +\n ' ' +\n pad(d.getHours()) +\n ':' +\n pad(d.getMinutes()) +\n ':' +\n pad(d.getSeconds()) +\n '.' +\n pad(d.getMilliseconds())\n )\n}\nexport var searchObjDate = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjDate(o[b])\n } else {\n if (isDate(a)) {\n o[b] = formatDate(a)\n }\n }\n })\n }\n}\nexport var formatJsonString = function (obj) {\n try {\n return JSON.stringify(obj, null, ' ')\n } catch (e) {\n return JSON.stringify(obj)\n }\n}\n\nexport var searchObjString = function (o) {\n if (isObject(o)) {\n each(o, function (a, b) {\n if (isObject(a)) {\n searchObjString(o[b])\n } else {\n if (isString(a)) {\n o[b] = formatString(a)\n }\n }\n })\n }\n}\nexport var unique = function (ar) {\n var temp,\n n = [],\n o = {}\n for (var i = 0; i < ar.length; i++) {\n temp = ar[i]\n if (!(temp in o)) {\n o[temp] = true\n n.push(temp)\n }\n }\n return n\n}\nexport var strip_empty_properties = function (p) {\n var ret = {}\n each(p, function (v, k) {\n if (v != null) {\n ret[k] = v\n }\n })\n return ret\n}\nexport var utf8Encode = function (string) {\n string = (string + '').replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n')\n\n var utftext = '',\n start,\n end\n var stringl = 0,\n n\n\n start = end = 0\n stringl = string.length\n\n for (n = 0; n < stringl; n++) {\n var c1 = string.charCodeAt(n)\n var enc = null\n\n if (c1 < 128) {\n end++\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode((c1 >> 6) | 192, (c1 & 63) | 128)\n } else {\n enc = String.fromCharCode(\n (c1 >> 12) | 224,\n ((c1 >> 6) & 63) | 128,\n (c1 & 63) | 128\n )\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.substring(start, end)\n }\n utftext += enc\n start = end = n + 1\n }\n }\n\n if (end > start) {\n utftext += string.substring(start, string.length)\n }\n\n return utftext\n}\nexport var base64Encode = function (data) {\n if (typeof btoa === 'function') {\n return btoa(\n encodeURIComponent(data).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1)\n })\n )\n }\n data = String(data)\n var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n var o1,\n o2,\n o3,\n h1,\n h2,\n h3,\n h4,\n bits,\n i = 0,\n ac = 0,\n enc = '',\n tmp_arr = []\n if (!data) {\n return data\n }\n data = utf8Encode(data)\n do {\n o1 = data.charCodeAt(i++)\n o2 = data.charCodeAt(i++)\n o3 = data.charCodeAt(i++)\n\n bits = (o1 << 16) | (o2 << 8) | o3\n\n h1 = (bits >> 18) & 0x3f\n h2 = (bits >> 12) & 0x3f\n h3 = (bits >> 6) & 0x3f\n h4 = bits & 0x3f\n tmp_arr[ac++] =\n b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)\n } while (i < data.length)\n\n enc = tmp_arr.join('')\n\n switch (data.length % 3) {\n case 1:\n enc = enc.slice(0, -2) + '=='\n break\n case 2:\n enc = enc.slice(0, -1) + '='\n break\n }\n\n return enc\n}\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function UUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (\n parseInt(placeholder, 10) ^\n ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))\n ).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, UUID)\n}\n\nexport function replaceNumberCharByPath(path) {\n var pathGroup = ''\n if (path) {\n pathGroup = path.replace(/\\/([^\\/]*)\\d([^\\/]*)/g, '/?').replace(/\\/$/g, '')\n }\n return pathGroup || '/'\n}\n\nexport var urlParse = function (para) {\n var URLParser = function (a) {\n this._fields = {\n Username: 4,\n Password: 5,\n Port: 7,\n Protocol: 2,\n Host: 6,\n Path: 8,\n URL: 0,\n QueryString: 9,\n Fragment: 10\n }\n this._values = {}\n this._regex = null\n this._regex =\n /^((\\w+):\\/\\/)?((\\w+):?(\\w+)?@)?([^\\/\\?:]+):?(\\d+)?(\\/?[^\\?#]+)?\\??([^#]+)?#?(\\w*)/\n\n if (typeof a != 'undefined') {\n this._parse(a)\n }\n }\n URLParser.prototype.setUrl = function (a) {\n this._parse(a)\n }\n URLParser.prototype._initValues = function () {\n for (var a in this._fields) {\n this._values[a] = ''\n }\n }\n URLParser.prototype.addQueryString = function (queryObj) {\n if (typeof queryObj !== 'object') {\n return false\n }\n var query = this._values.QueryString || ''\n for (var i in queryObj) {\n if (new RegExp(i + '[^&]+').test(query)) {\n query = query.replace(new RegExp(i + '[^&]+'), i + '=' + queryObj[i])\n } else {\n if (query.slice(-1) === '&') {\n query = query + i + '=' + queryObj[i]\n } else {\n if (query === '') {\n query = i + '=' + queryObj[i]\n } else {\n query = query + '&' + i + '=' + queryObj[i]\n }\n }\n }\n }\n this._values.QueryString = query\n }\n URLParser.prototype.getParse = function () {\n return this._values\n }\n URLParser.prototype.getUrl = function () {\n var url = ''\n url += this._values.Origin\n // url += this._values.Port ? ':' + this._values.Port : ''\n url += this._values.Path\n url += this._values.QueryString ? '?' + this._values.QueryString : ''\n return url\n }\n URLParser.prototype._parse = function (a) {\n this._initValues()\n var b = this._regex.exec(a)\n if (!b) {\n throw 'DPURLParser::_parse -> Invalid URL'\n }\n for (var c in this._fields) {\n if (typeof b[this._fields[c]] != 'undefined') {\n this._values[c] = b[this._fields[c]]\n }\n }\n this._values['Path'] = this._values['Path'] || '/'\n this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n this._values['Origin'] =\n this._values['Protocol'] +\n '://' +\n this._values['Hostname'] +\n (this._values.Port ? ':' + this._values.Port : '')\n // this._values['Hostname'] = this._values['Host'].replace(/:\\d+$/, '')\n // this._values['Origin'] =\n // this._values['Protocol'] + '://' + this._values['Hostname']\n }\n return new URLParser(para)\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector)\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector)\n }\n return false\n}\n\nexport var localStorage = {\n get: function (name) {\n return window.localStorage.getItem(name)\n },\n\n parse: function (name) {\n var storedValue\n try {\n storedValue = JSON.parse(localStorage.get(name)) || null\n } catch (err) {\n sd.log(err)\n }\n return storedValue\n },\n\n set: function (name, value) {\n window.localStorage.setItem(name, value)\n },\n\n remove: function (name) {\n window.localStorage.removeItem(name)\n },\n\n isSupport: function () {\n var supported = true\n try {\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n localStorage.set(key, val)\n if (localStorage.get(key) !== val) {\n supported = false\n }\n localStorage.remove(key)\n } catch (err) {\n supported = false\n }\n return supported\n }\n}\nexport var sessionStorage = {\n isSupport: function () {\n var supported = true\n\n var key = '__sensorsdatasupport__'\n var val = 'testIsSupportStorage'\n try {\n if (sessionStorage && sessionStorage.setItem) {\n sessionStorage.setItem(key, val)\n sessionStorage.removeItem(key, val)\n supported = true\n } else {\n supported = false\n }\n } catch (e) {\n supported = false\n }\n return supported\n }\n}\nexport var isSupportCors = function () {\n if (typeof window.XMLHttpRequest === 'undefined') {\n return false\n }\n if ('withCredentials' in new XMLHttpRequest()) {\n return true\n } else if (typeof XDomainRequest !== 'undefined') {\n return true\n } else {\n return false\n }\n}\nexport var xhr = function (cors) {\n if (cors) {\n if (\n typeof window.XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest()\n ) {\n return new XMLHttpRequest()\n } else if (typeof XDomainRequest !== 'undefined') {\n return new XDomainRequest()\n } else {\n return null\n }\n } else {\n if (typeof window.XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest()\n }\n if (window.ActiveXObject) {\n try {\n return new ActiveXObject('Msxml2.XMLHTTP')\n } catch (d) {\n try {\n return new ActiveXObject('Microsoft.XMLHTTP')\n } catch (d) {\n console.log(d)\n }\n }\n }\n }\n}\nexport var ajax = function (para) {\n para.timeout = para.timeout || 20000\n\n para.credentials =\n typeof para.credentials === 'undefined' ? true : para.credentials\n\n function getJSON(data) {\n if (!data) {\n return ''\n }\n try {\n return JSON.parse(data)\n } catch (e) {\n return {}\n }\n }\n\n var g = xhr(para.cors)\n\n if (!g) {\n return false\n }\n\n if (!para.type) {\n para.type = para.data ? 'POST' : 'GET'\n }\n para = extend(\n {\n success: function () {},\n error: function () {}\n },\n para\n )\n\n try {\n if (typeof g === 'object' && 'timeout' in g) {\n g.timeout = para.timeout\n } else {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n }\n } catch (e) {\n try {\n setTimeout(function () {\n g.abort()\n }, para.timeout + 500)\n } catch (e2) {}\n }\n\n g.onreadystatechange = function () {\n try {\n if (g.readyState == 4) {\n if ((g.status >= 200 && g.status < 300) || g.status == 304) {\n para.success(getJSON(g.responseText))\n } else {\n para.error(getJSON(g.responseText), g.status)\n }\n g.onreadystatechange = null\n g.onload = null\n }\n } catch (e) {\n g.onreadystatechange = null\n g.onload = null\n }\n }\n\n g.open(para.type, para.url, true)\n\n try {\n if (para.credentials) {\n g.withCredentials = true\n }\n if (isObject(para.header)) {\n for (var i in para.header) {\n g.setRequestHeader(i, para.header[i])\n }\n }\n\n if (para.data) {\n if (!para.cors) {\n g.setRequestHeader('X-Requested-With', 'XMLHttpRequest')\n }\n if (para.contentType === 'application/json') {\n g.setRequestHeader('Content-type', 'application/json; charset=UTF-8')\n } else {\n g.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')\n }\n }\n } catch (e) {}\n\n g.send(para.data || null)\n}\nexport var loadScript = function (para) {\n para = extend(\n {\n success: function () {},\n error: function () {},\n appendCall: function (g) {\n document.getElementsByTagName('head')[0].appendChild(g)\n }\n },\n para\n )\n\n var g = null\n if (para.type === 'css') {\n g = document.createElement('link')\n g.rel = 'stylesheet'\n g.href = para.url\n }\n if (para.type === 'js') {\n g = document.createElement('script')\n g.async = 'async'\n g.setAttribute('charset', 'UTF-8')\n g.src = para.url\n g.type = 'text/javascript'\n }\n g.onload = g.onreadystatechange = function () {\n if (\n !this.readyState ||\n this.readyState === 'loaded' ||\n this.readyState === 'complete'\n ) {\n para.success()\n g.onload = g.onreadystatechange = null\n }\n }\n g.onerror = function () {\n para.error()\n g.onerror = null\n }\n para.appendCall(g)\n}\nexport var getHostname = function (url, defaultValue) {\n if (!defaultValue || typeof defaultValue !== 'string') {\n defaultValue = 'hostname expception!'\n }\n var hostname = null\n try {\n hostname = URL(url).hostname\n } catch (e) {}\n return hostname || defaultValue\n}\nexport var getQueryParamsFromUrl = function (url) {\n var result = {}\n var arr = url.split('?')\n var queryString = arr[1] || ''\n if (queryString) {\n result = getURLSearchParams('?' + queryString)\n }\n return result\n}\n\nexport var getURLSearchParams = function (queryString) {\n queryString = queryString || ''\n var decodeParam = function (str) {\n return decodeURIComponent(str)\n }\n var args = {}\n var query = queryString.substring(1)\n var pairs = query.split('&')\n for (var i = 0; i < pairs.length; i++) {\n var pos = pairs[i].indexOf('=')\n if (pos === -1) continue\n var name = pairs[i].substring(0, pos)\n var value = pairs[i].substring(pos + 1)\n name = decodeParam(name)\n value = decodeParam(value)\n args[name] = value\n }\n return args\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set = new WeakSet()\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set.has(value)\n if (!has) {\n set.add(value)\n }\n return has\n }\n }\n }\n var array = []\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0\n if (!has) {\n array.push(value)\n }\n return has\n }\n }\n}\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return typeof value\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n // ignore the source if it is undefined\n if (typeof circularReferenceChecker === 'undefined') {\n circularReferenceChecker = createCircularReferenceChecker()\n }\n if (source === undefined) {\n return destination\n }\n\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source\n } else if (source instanceof Date) {\n return new Date(source.getTime())\n } else if (source instanceof RegExp) {\n var flags =\n source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : ''\n ].join('')\n return new RegExp(source.source, flags)\n }\n\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined\n } else if (Array.isArray(source)) {\n var merged = Array.isArray(destination) ? destination : []\n for (var i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker)\n }\n return merged\n }\n\n var merged = getType(destination) === 'object' ? destination : {}\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(\n merged[key],\n source[key],\n circularReferenceChecker\n )\n }\n }\n return merged\n}\n\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value)\n}\n\nexport var getCurrentDomain = function (url) {\n var cookieTopLevelDomain = getCookieTopLevelDomain()\n if (url === '') {\n return 'URL parsing failed'\n } else if (cookieTopLevelDomain === '') {\n return 'URL parsing failed'\n } else {\n return cookieTopLevelDomain\n }\n}\nexport var getCookieTopLevelDomain = function (hostname) {\n hostname = hostname || window.location.hostname\n var splitResult = hostname.split('.')\n if (\n isArray(splitResult) &&\n splitResult.length >= 2 &&\n !/^(\\d+\\.)+\\d+$/.test(hostname)\n ) {\n var domainStr = '.' + splitResult.splice(splitResult.length - 1, 1)\n while (splitResult.length > 0) {\n domainStr =\n '.' + splitResult.splice(splitResult.length - 1, 1) + domainStr\n document.cookie = 'domain_test=true; path=/; domain=' + domainStr\n if (document.cookie.indexOf('domain_test=true') !== -1) {\n var now = new Date()\n now.setTime(now.getTime() - 1000)\n document.cookie =\n 'domain_test=true; expires=' +\n now.toGMTString() +\n '; path=/; domain=' +\n domainStr\n return domainStr\n }\n }\n }\n return ''\n}\nexport var strToUnicode = function (str) {\n if (typeof str !== 'string') {\n return str\n }\n var nstr = ''\n for (var i = 0; i < str.length; i++) {\n nstr += '\\\\' + str.charCodeAt(i).toString(16)\n }\n return nstr\n}\nexport var autoExeQueue = function () {\n var queue = {\n items: [],\n enqueue: function (val) {\n this.items.push(val)\n this.start()\n },\n dequeue: function () {\n return this.items.shift()\n },\n getCurrentItem: function () {\n return this.items[0]\n },\n isRun: false,\n start: function () {\n if (this.items.length > 0 && !this.isRun) {\n this.isRun = true\n this.getCurrentItem().start()\n }\n },\n close: function () {\n this.dequeue()\n this.isRun = false\n this.start()\n }\n }\n return queue\n}\nexport var strip_sa_properties = function (p) {\n if (!isObject(p)) {\n return p\n }\n each(p, function (v, k) {\n if (isArray(v)) {\n var temp = []\n each(v, function (arrv) {\n if (isString(arrv)) {\n temp.push(arrv)\n } else {\n }\n })\n if (temp.length !== 0) {\n p[k] = temp\n } else {\n delete p[k]\n }\n }\n if (\n !(\n isString(v) ||\n isNumber(v) ||\n isDate(v) ||\n isBoolean(v) ||\n isArray(v) ||\n isFunction(v) ||\n k === '$option'\n )\n ) {\n delete p[k]\n }\n })\n return p\n}\n\nexport var searchConfigData = function (data) {\n if (typeof data === 'object' && data.$option) {\n var data_config = data.$option\n delete data.$option\n return data_config\n } else {\n return {}\n }\n}\n\n// abcd=1&b=1&c=3;\n// abdc=1;b=1;a=3;\nexport var stringSplice = function (src, k, e, sp) {\n if (src === '') {\n return ''\n }\n sp = sp === '' ? '=' : sp\n k += sp\n var ps = src.indexOf(k)\n if (ps < 0) {\n return ''\n }\n ps += k.length\n var pe = pe < ps ? src.length : src.indexOf(e, ps)\n return src.substring(ps, pe)\n}\nexport function getStatusGroup(status) {\n if (!status) return status === 0 ? undefined : status\n return (\n String(status).substr(0, 1) + String(status).substr(1).replace(/\\d*/g, 'x')\n )\n}\nexport var getReferrer = function () {\n var ref = document.referrer.toLowerCase()\n var re = /^[^\\?&#]*.swf([\\?#])?/\n if (ref === '' || ref.match(re)) {\n ref = stringSplice(window.location.href, 'ref', '&', '')\n if (ref !== '') {\n return encodeURIComponent(ref)\n }\n }\n return encodeURIComponent(ref)\n}\nexport var typeDecide = function (o, type) {\n return toString.call(o) === '[object ' + type + ']'\n}\n\nexport function noop() {}\n\nexport var ONE_SECOND = 1000\nexport var ONE_MINUTE = 60 * ONE_SECOND\nexport var ONE_HOUR = 60 * ONE_MINUTE\nexport var ONE_DAY = 24 * ONE_HOUR\nexport var ONE_YEAR = 365 * ONE_DAY\n\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold\n}\n\nexport function round(num, decimals) {\n return +num.toFixed(decimals)\n}\n\nexport function msToNs(duration) {\n if (typeof duration !== 'number') {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function mapValues(object, fn) {\n var newObject = {}\n each(object, function (value, key) {\n newObject[key] = fn(value)\n })\n\n return newObject\n}\n\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration\n }\n return round(duration * 1e6, 0)\n}\nexport function getRelativeTime(timestamp) {\n return timestamp - getNavigationStart()\n}\nexport function preferredNow() {\n return relativeNow()\n}\nexport function getTimestamp(relativeTime) {\n return Math.round(getNavigationStart() + relativeTime)\n}\nexport function relativeNow() {\n return performance.now()\n}\n\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() }\n}\nexport function timeStampNow() {\n return dateNow()\n}\n\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime()\n}\n\nexport function elapsed(start, end) {\n return end - start\n}\n\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() }\n}\nexport function preferredClock(clocks) {\n return clocks.relative\n}\nexport function preferredTimeStamp(clocks) {\n return getTimestamp(clocks.relative)\n}\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) }\n}\nexport function currentDrift() {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(dateNow() - (getNavigationStart() + performance.now()))\n}\nexport function addDuration(a, b) {\n return a + b\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = dateNow() - performance.now()\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(correctedOrigin + relativeTime)\n }\n return getTimestamp(relativeTime)\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart\nexport function getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart\n }\n return navigationStart\n}\n\nvar COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n if (match[1] === name) {\n return match[2]\n }\n } else {\n break\n }\n }\n}\n\nexport function findCommaSeparatedValues(rawString) {\n var result = new Map()\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n result.set(match[1], match[2])\n } else {\n break\n }\n }\n return result\n}\nexport function findByPath(source, path) {\n var pathArr = path.split('.')\n while (pathArr.length) {\n var key = pathArr.shift()\n if (\n source &&\n isObject(source) &&\n key in source &&\n hasOwnProperty.call(source, key)\n ) {\n source = source[key]\n } else {\n return undefined\n }\n }\n return source\n}\nexport function safeTruncate(candidate, length) {\n var lastChar = candidate.charCodeAt(length - 1)\n // check if it is the high part of a surrogate pair\n if (lastChar >= 0xd800 && lastChar <= 0xdbff) {\n return candidate.slice(0, length + 1)\n }\n return candidate.slice(0, length)\n}\nexport function isMatchOption(item) {\n const itemType = getType(item)\n return (\n itemType === 'string' || itemType === 'function' || item instanceof RegExp\n )\n}\nexport function includes(candidate, search) {\n // tslint:disable-next-line: no-unsafe-any\n return candidate.indexOf(search) !== -1\n}\n\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike)\n }\n var array = []\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) {\n array.push(item)\n })\n } else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i])\n }\n }\n return array\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100\n}\n\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location)\n}\nexport var Browser = {\n IE: 0,\n CHROMIUM: 1,\n SAFARI: 2,\n OTHER: 3\n}\nexport function isIE() {\n return detectBrowserCached() === Browser.IE\n}\nexport function isChromium() {\n return detectBrowserCached() === Browser.CHROMIUM\n}\nexport function isSafari() {\n return detectBrowserCached() === Browser.SAFARI\n}\nvar browserCache\nfunction detectBrowserCached() {\n return isNullUndefinedDefaultValue(\n browserCache,\n (browserCache = detectBrowser())\n )\n}\nexport function detectBrowser(browserWindow) {\n if (typeof browserWindow === 'undefined') {\n browserWindow = window\n }\n var userAgent = browserWindow.navigator.userAgent\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return Browser.CHROMIUM\n }\n\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n browserWindow.navigator.vendor?.indexOf('Apple') === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))\n ) {\n return Browser.SAFARI\n }\n\n if (browserWindow.document.documentMode) {\n return Browser.IE\n }\n\n return Browser.OTHER\n}\n\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nexport function getLinkElementOrigin(element) {\n if (element.origin && element.origin !== 'null') {\n return element.origin\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '')\n return element.protocol + '//' + sanitizedHost\n}\n\nexport function withSnakeCaseKeys(candidate) {\n var result = {}\n each(candidate, function (value, key) {\n result[toSnakeCase(key)] = deepSnakeCase(value)\n })\n return result\n}\n\nexport function deepSnakeCase(candidate) {\n if (isArray(candidate)) {\n return map(candidate, function (value) {\n return deepSnakeCase(value)\n })\n }\n if (typeof candidate === 'object' && candidate !== null) {\n return withSnakeCaseKeys(candidate)\n }\n return candidate\n}\n\nexport function toSnakeCase(word) {\n return word\n .replace(/[A-Z]/g, function (uppercaseLetter, index) {\n return (index !== 0 ? '_' : '') + uppercaseLetter.toLowerCase()\n })\n .replace(/-/g, '_')\n}\n\nexport function isNullUndefinedDefaultValue(data, defaultValue) {\n if (data !== null && data !== void 0) {\n return data\n } else {\n return defaultValue\n }\n}\n\nexport function objectHasValue(object, value) {\n return some(keys(object), function (key) {\n return object[key] === value\n })\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search\n}\n\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search\n}\nexport function removeDuplicates(array) {\n var set = new Set()\n array.forEach(function (item) {\n set.add(item)\n })\n return arrayFrom(set)\n}\n\nexport function removeItem(array, item) {\n var index = array.indexOf(item)\n if (index >= 0) {\n array.splice(index, 1)\n }\n}\nexport function tryToClone(response) {\n try {\n return response.clone()\n } catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return\n }\n}\nexport function isHashAnAnchor(hash) {\n var correspondingId = hash.substr(1)\n if (!correspondingId) return false\n return !!document.getElementById(correspondingId)\n}\nexport function getPathFromHash(hash) {\n var index = hash.indexOf('?')\n return index < 0 ? hash : hash.slice(0, index)\n}\n\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration\n}\n"],"mappings":"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","ignoreList":[]}
package/esm/index.js CHANGED
@@ -39,7 +39,7 @@ export * from './browser/scroll';
39
39
  export * from './dataMap';
40
40
  export * from './init';
41
41
  export { startSessionManager, stopSessionManager } from './session/sessionManagement';
42
- export { SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY } from './session/sessionConstants';
42
+ export { SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY, SessionPersistence } from './session/sessionConstants';
43
43
  export { STORAGE_POLL_DELAY } from './session/sessionStore';
44
44
  export * from './transport';
45
45
  export * from './synthetics/syntheticsWorkerValues';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["startSessionManager","stopSessionManager","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","STORAGE_POLL_DELAY"],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './configuration/remoteConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport {\n startSessionManager,\n stopSessionManager\n} from './session/sessionManagement'\nexport {\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY\n} from './session/sessionConstants'\nexport { STORAGE_POLL_DELAY } from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/const'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/serialisation/customerDataTracker'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,SACEA,mBAAmB,EACnBC,kBAAkB,QACb,6BAA6B;AACpC,SACEC,sBAAsB,EACtBC,iBAAiB,QACZ,4BAA4B;AACnC,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,8BAA8B;AAC5C,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,4CAA4C;AAC1D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["startSessionManager","stopSessionManager","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","SessionPersistence","STORAGE_POLL_DELAY"],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './configuration/remoteConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport {\n startSessionManager,\n stopSessionManager\n} from './session/sessionManagement'\nexport {\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY,\n SessionPersistence\n} from './session/sessionConstants'\nexport { STORAGE_POLL_DELAY } from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/const'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/serialisation/customerDataTracker'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,SACEA,mBAAmB,EACnBC,kBAAkB,QACb,6BAA6B;AACpC,SACEC,sBAAsB,EACtBC,iBAAiB,EACjBC,kBAAkB,QACb,4BAA4B;AACnC,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,8BAA8B;AAC5C,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,4CAA4C;AAC1D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}