@gemx-dev/clarity-js 0.8.88 → 0.8.90

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.
@@ -35,8 +35,7 @@ var upload$1 = /*#__PURE__*/Object.freeze({
35
35
  get queue () { return queue; },
36
36
  get start () { return start$i; },
37
37
  get stop () { return stop$g; },
38
- get track () { return track$1; },
39
- get uploadNow () { return uploadNow; }
38
+ get track () { return track$1; }
40
39
  });
41
40
  var upgrade$1 = /*#__PURE__*/Object.freeze({
42
41
  __proto__: null,
@@ -223,7 +222,7 @@ function stop$O() {
223
222
  startTime = 0;
224
223
  }
225
224
 
226
- var version$1 = "0.8.88";
225
+ var version$1 = "0.8.90";
227
226
 
228
227
  // tslint:disable: no-bitwise
229
228
  function hash (input, precision) {
@@ -1316,17 +1315,19 @@ var cookie = /*#__PURE__*/Object.freeze({
1316
1315
  });
1317
1316
 
1318
1317
  var defaultConfig = {
1318
+ debug: false,
1319
1319
  excludeClassNames: [],
1320
1320
  ignoreMutationClassNames: [],
1321
1321
  discoverTrigger: null,
1322
1322
  };
1323
1323
  var _config = __assign({}, defaultConfig);
1324
1324
  function start$J() {
1325
- var _a, _b, _c, _d, _e, _f;
1325
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1326
1326
  _config = {
1327
- excludeClassNames: ((_b = (_a = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _a === void 0 ? void 0 : _a.excludeClassNames) !== null && _b !== void 0 ? _b : []),
1328
- ignoreMutationClassNames: ((_d = (_c = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _c === void 0 ? void 0 : _c.ignoreMutationClassNames) !== null && _d !== void 0 ? _d : []),
1329
- discoverTrigger: ((_f = (_e = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _e === void 0 ? void 0 : _e.discoverTrigger) !== null && _f !== void 0 ? _f : null),
1327
+ debug: new URLSearchParams(window.location.search).has("gemx_debug") || ((_b = (_a = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _a === void 0 ? void 0 : _a.debug) !== null && _b !== void 0 ? _b : false),
1328
+ excludeClassNames: ((_d = (_c = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _c === void 0 ? void 0 : _c.excludeClassNames) !== null && _d !== void 0 ? _d : []),
1329
+ ignoreMutationClassNames: ((_f = (_e = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _e === void 0 ? void 0 : _e.ignoreMutationClassNames) !== null && _f !== void 0 ? _f : []),
1330
+ discoverTrigger: ((_h = (_g = window === null || window === void 0 ? void 0 : window.GemXHeatmap) === null || _g === void 0 ? void 0 : _g.discoverTrigger) !== null && _h !== void 0 ? _h : null),
1330
1331
  };
1331
1332
  }
1332
1333
  function stop$G() {
@@ -1338,10 +1339,14 @@ function set(config) {
1338
1339
  function get$2() {
1339
1340
  return _config;
1340
1341
  }
1342
+ function isDebug() {
1343
+ return _config.debug;
1344
+ }
1341
1345
 
1342
1346
  var gemx = /*#__PURE__*/Object.freeze({
1343
1347
  __proto__: null,
1344
1348
  get: get$2,
1349
+ isDebug: isDebug,
1345
1350
  set: set,
1346
1351
  start: start$J,
1347
1352
  stop: stop$G
@@ -1349,7 +1354,7 @@ var gemx = /*#__PURE__*/Object.freeze({
1349
1354
 
1350
1355
  // Deferred upload buffer for GemX mode.
1351
1356
  // Buffers ALL playback events until discoverTrigger conditions are met.
1352
- // Scheduling and trigger logic lives in layout/gemx-discover.ts.
1357
+ // Scheduling and trigger logic lives in layout/gemx-snapshot.ts.
1353
1358
  var buffer = [];
1354
1359
  var bufferBytes = 0;
1355
1360
  var active$4 = false;
@@ -2315,7 +2320,7 @@ function start$w() {
2315
2320
  bind(window, "beforeunload", beforeUnload);
2316
2321
  }
2317
2322
  function beforeUnload() {
2318
- flush$1();
2323
+ flush$1('gemx-unload');
2319
2324
  }
2320
2325
  function recompute$1(evt) {
2321
2326
  data$c = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
@@ -2451,14 +2456,14 @@ var GEMX_OBSERVE = { allRoots: [scroll], documentOnly: [click] };
2451
2456
  var ALL_OBSERVE = { allRoots: [scroll], documentOnly: [click, clipboard, pointer, input, selection, change, submit] };
2452
2457
  var modules$2 = ALL$1;
2453
2458
  function start$s() {
2454
- modules$2 = config$3.mode === "gemx" ? GEMX$1 : ALL$1;
2459
+ modules$2 = (config$3 === null || config$3 === void 0 ? void 0 : config$3.mode) === "gemx" ? GEMX$1 : ALL$1;
2455
2460
  modules$2.forEach(function (m) { return m.start(); });
2456
2461
  }
2457
2462
  function stop$q() {
2458
2463
  modules$2.forEach(function (m) { return m.stop(); });
2459
2464
  }
2460
2465
  function observe$4(root) {
2461
- var observeModules = config$3.mode === "gemx" ? GEMX_OBSERVE : ALL_OBSERVE;
2466
+ var observeModules = (config$3 === null || config$3 === void 0 ? void 0 : config$3.mode) === "gemx" ? GEMX_OBSERVE : ALL_OBSERVE;
2462
2467
  observeModules.allRoots.forEach(function (m) { return m.observe(root); });
2463
2468
  if (root.nodeType === Node.DOCUMENT_NODE) {
2464
2469
  observeModules.documentOnly.forEach(function (m) { return m.observe(root); });
@@ -3153,7 +3158,7 @@ function handle$1(m) {
3153
3158
  }
3154
3159
  function processMutation(timer, mutation, instance, timestamp) {
3155
3160
  return __awaiter(this, void 0, void 0, function () {
3156
- var state$1, target, ignoredClasses, el_1, type;
3161
+ var state$1, target, ignoredClasses, isSnapshotProcessed, el_1, type;
3157
3162
  return __generator(this, function (_a) {
3158
3163
  switch (_a.label) {
3159
3164
  case 0:
@@ -3169,7 +3174,8 @@ function processMutation(timer, mutation, instance, timestamp) {
3169
3174
  }
3170
3175
  target = mutation.target;
3171
3176
  ignoredClasses = get$2().ignoreMutationClassNames;
3172
- if (ignoredClasses.length > 0 && target instanceof Element) {
3177
+ isSnapshotProcessed = isActive();
3178
+ if (!isSnapshotProcessed && ignoredClasses.length > 0 && target instanceof Element) {
3173
3179
  el_1 = target;
3174
3180
  if (ignoredClasses.some(function (cls) { return el_1.classList.contains(cls); })) {
3175
3181
  return [2 /*return*/];
@@ -5051,14 +5057,12 @@ var transit;
5051
5057
  var active$1;
5052
5058
  var queuedTime = 0;
5053
5059
  var leanLimit = false;
5054
- var hasGemxPayload = false;
5055
5060
  var track$1;
5056
5061
  function start$i() {
5057
5062
  active$1 = true;
5058
5063
  discoverBytes = 0;
5059
5064
  playbackBytes = 0;
5060
5065
  leanLimit = false;
5061
- hasGemxPayload = false;
5062
5066
  queuedTime = 0;
5063
5067
  playback = [];
5064
5068
  analysis = [];
@@ -5132,29 +5136,18 @@ function queue(tokens, transmit) {
5132
5136
  check$2(playbackBytes);
5133
5137
  }
5134
5138
  }
5135
- function flush$1() {
5139
+ function flush$1(type) {
5136
5140
  if (!active$1) {
5137
5141
  return;
5138
5142
  }
5139
5143
  clearTimeout$1(timeout);
5140
5144
  timeout = null;
5141
- upload(true);
5142
- }
5143
- // Trigger an immediate non-beacon upload (used by gemx-discover after inject).
5144
- // Unlike flush(), this does NOT set final=true, so playback data is never stripped.
5145
- function uploadNow() {
5146
- if (!active$1) {
5147
- return;
5148
- }
5149
- clearTimeout$1(timeout);
5150
- timeout = null;
5151
- upload(false);
5145
+ upload(false, type);
5152
5146
  }
5153
5147
  // Inject pre-buffered tokens directly into playback as discover events.
5154
- // Used by gemx-discover when trigger fires: all buffered Discover tokens are
5148
+ // Used by gemx-snapshot when trigger fires: all buffered Discover tokens are
5155
5149
  // counted towards discoverBytes so upload uses MinUploadDelay (fast path).
5156
5150
  function inject(buffered) {
5157
- hasGemxPayload = true;
5158
5151
  for (var _i = 0, buffered_1 = buffered; _i < buffered_1.length; _i++) {
5159
5152
  var tokens = buffered_1[_i];
5160
5153
  var e = JSON.stringify(tokens);
@@ -5176,18 +5169,19 @@ function stop$g() {
5176
5169
  track$1 = null;
5177
5170
  active$1 = false;
5178
5171
  }
5179
- function upload(final) {
5172
+ function upload(final, type) {
5180
5173
  if (final === void 0) { final = false; }
5181
5174
  return __awaiter(this, void 0, void 0, function () {
5182
- var sendPlaybackBytes, last, e, a, p, encoded, payload, zipped, _a;
5183
- return __generator(this, function (_b) {
5184
- switch (_b.label) {
5175
+ var isGemxSnapshot, sendPlaybackBytes, last, isDebug$1, trackedEvents, eventSet, labels, _i, trackedEvents_1, _a, eventType, label, e, a, p, encoded, payload, zipped, _b;
5176
+ return __generator(this, function (_c) {
5177
+ switch (_c.label) {
5185
5178
  case 0:
5186
5179
  if (!active$1) {
5187
5180
  return [2 /*return*/];
5188
5181
  }
5189
5182
  timeout = null;
5190
- sendPlaybackBytes = (hasGemxPayload || config$3.lean === false) && playbackBytes > 0 && (playbackBytes < 1048576 /* Setting.MaxFirstPayloadBytes */ || data$1.sequence > 0);
5183
+ isGemxSnapshot = type === "gemx-snapshot";
5184
+ sendPlaybackBytes = (isGemxSnapshot || config$3.lean === false) && playbackBytes > 0 && (playbackBytes < 1048576 /* Setting.MaxFirstPayloadBytes */ || data$1.sequence > 0);
5191
5185
  if (sendPlaybackBytes) {
5192
5186
  max(1 /* Metric.Playback */, 1 /* BooleanFlag.True */);
5193
5187
  }
@@ -5201,6 +5195,21 @@ function upload(final) {
5201
5195
  // In some cases envelope has null data because it's part of the shutdown process while there's one upload call queued which might introduce runtime error
5202
5196
  if (!data$1)
5203
5197
  return [2 /*return*/];
5198
+ isDebug$1 = isDebug();
5199
+ if (!type && isDebug$1) {
5200
+ trackedEvents = [
5201
+ [9 /* Event.Click */, "click"],
5202
+ [10 /* Event.Scroll */, "scroll"],
5203
+ ];
5204
+ eventSet = new Set(analysis.map(function (item) { return JSON.parse(item)[1]; }));
5205
+ labels = [];
5206
+ for (_i = 0, trackedEvents_1 = trackedEvents; _i < trackedEvents_1.length; _i++) {
5207
+ _a = trackedEvents_1[_i], eventType = _a[0], label = _a[1];
5208
+ if (eventSet.has(eventType))
5209
+ labels.push(label);
5210
+ }
5211
+ type = labels.length > 0 ? labels.join("-") : undefined;
5212
+ }
5204
5213
  e = JSON.stringify(envelope(last));
5205
5214
  a = "[".concat(analysis.join(), "]");
5206
5215
  p = sendPlaybackBytes ? "[".concat(playback.join(), "]") : "" /* Constant.Empty */;
@@ -5211,16 +5220,16 @@ function upload(final) {
5211
5220
  encoded = { e: e, a: a, p: p };
5212
5221
  payload = stringify(encoded);
5213
5222
  if (!last) return [3 /*break*/, 1];
5214
- _a = null;
5223
+ _b = null;
5215
5224
  return [3 /*break*/, 3];
5216
5225
  case 1: return [4 /*yield*/, compress(payload)];
5217
5226
  case 2:
5218
- _a = _b.sent();
5219
- _b.label = 3;
5227
+ _b = _c.sent();
5228
+ _c.label = 3;
5220
5229
  case 3:
5221
- zipped = _a;
5230
+ zipped = _b;
5222
5231
  sum(2 /* Metric.TotalBytes */, zipped ? zipped.length : payload.length);
5223
- send(payload, zipped, data$1.sequence, last);
5232
+ send(payload, zipped, data$1.sequence, last, type);
5224
5233
  // Clear out events now that payload has been dispatched
5225
5234
  analysis = [];
5226
5235
  if (sendPlaybackBytes) {
@@ -5228,7 +5237,6 @@ function upload(final) {
5228
5237
  playbackBytes = 0;
5229
5238
  discoverBytes = 0;
5230
5239
  leanLimit = false;
5231
- hasGemxPayload = false;
5232
5240
  }
5233
5241
  return [2 /*return*/];
5234
5242
  }
@@ -5238,7 +5246,7 @@ function upload(final) {
5238
5246
  function stringify(encoded) {
5239
5247
  return encoded.p.length > 0 ? "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, ",\"p\":").concat(encoded.p, "}") : "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, "}");
5240
5248
  }
5241
- function send(payload, zipped, sequence, beacon) {
5249
+ function send(payload, zipped, sequence, beacon, type) {
5242
5250
  if (beacon === void 0) { beacon = false; }
5243
5251
  // Upload data if a valid URL is defined in the config
5244
5252
  if (typeof config$3.upload === "string" /* Constant.String */) {
@@ -5295,8 +5303,7 @@ function send(payload, zipped, sequence, beacon) {
5295
5303
  }
5296
5304
  else if (config$3.upload) {
5297
5305
  var callback = config$3.upload;
5298
- var uploadType = hasGemxPayload ? "gemx-discover" : undefined;
5299
- callback(payload, uploadType);
5306
+ callback(payload, type);
5300
5307
  done(sequence);
5301
5308
  }
5302
5309
  }
@@ -6703,32 +6710,50 @@ function fire() {
6703
6710
  }
6704
6711
  function schedule(trigger) {
6705
6712
  triggered = false;
6706
- var clickCount = 0;
6713
+ var windowExpired = false;
6714
+ var delayScheduled = false;
6715
+ var scheduleDelayedFire = function (type) {
6716
+ var _a;
6717
+ if (delayScheduled || windowExpired)
6718
+ return;
6719
+ delayScheduled = true;
6720
+ console.log("[GemX Snapshot] ".concat(type, " triggered:"));
6721
+ setTimeout(fire, (_a = trigger.delayMs) !== null && _a !== void 0 ? _a : 0);
6722
+ };
6723
+ if (trigger.activeTimeMs) {
6724
+ setTimeout(function () {
6725
+ windowExpired = true;
6726
+ onTrustedScroll(null);
6727
+ onTrustedClick(null);
6728
+ }, trigger.activeTimeMs);
6729
+ }
6707
6730
  if (trigger.scrollDepthPercent) {
6708
6731
  onTrustedScroll(function () {
6709
- var scrolled = window.scrollY + window.innerHeight;
6710
- var total = document.documentElement.scrollHeight;
6711
- if ((scrolled / total) * 100 >= trigger.scrollDepthPercent) {
6712
- fire();
6732
+ var docH = document.documentElement.scrollHeight;
6733
+ var vpH = window.innerHeight;
6734
+ var maxScrollY = docH - vpH;
6735
+ if (maxScrollY <= 0)
6736
+ return;
6737
+ var scrollY = "pageYOffset" in window ? Math.round(window.pageYOffset) : Math.round(document.documentElement.scrollTop);
6738
+ var pct = Math.min(100, Math.round(scrollY / maxScrollY * 100));
6739
+ if (pct >= trigger.scrollDepthPercent) {
6740
+ scheduleDelayedFire('scroll');
6713
6741
  }
6714
6742
  });
6715
6743
  }
6716
6744
  if (trigger.clickCount) {
6745
+ var clickCount_1 = 0;
6717
6746
  onTrustedClick(function () {
6718
- clickCount++;
6719
- if (clickCount >= trigger.clickCount) {
6720
- fire();
6747
+ clickCount_1++;
6748
+ if (clickCount_1 >= trigger.clickCount) {
6749
+ scheduleDelayedFire('click');
6721
6750
  }
6722
6751
  });
6723
6752
  }
6724
- if (trigger.activeTimeMs) {
6725
- setTimeout(fire, trigger.activeTimeMs);
6726
- }
6727
- // maxPlaybackBytes trigger is handled via gemxUpload.start() callback above
6728
6753
  }
6729
6754
  function flush() {
6730
6755
  inject(drain());
6731
- uploadNow();
6756
+ flush$1('gemx-snapshot');
6732
6757
  }
6733
6758
 
6734
6759
  function start$3() {
@@ -7061,7 +7086,7 @@ var ALL = [diagnostic, layout, interaction, performance$1, dynamic];
7061
7086
  var modules = ALL;
7062
7087
  function start(config$1) {
7063
7088
  if (config$1 === void 0) { config$1 = null; }
7064
- modules = config$1.mode === "gemx" ? GEMX : ALL;
7089
+ modules = (config$1 === null || config$1 === void 0 ? void 0 : config$1.mode) === "gemx" ? GEMX : ALL;
7065
7090
  // Check that browser supports required APIs and we do not attempt to start Clarity multiple times
7066
7091
  if (check()) {
7067
7092
  config(config$1);
@@ -1 +1 @@
1
- !function(){"use strict";var t=Object.freeze({__proto__:null,get flush(){return oe},get inject(){return ue},get queue(){return ae},get start(){return re},get stop(){return ce},get track(){return Zt},get uploadNow(){return ie}}),e=Object.freeze({__proto__:null,get check(){return ge},get compute(){return me},get data(){return Ft},get start(){return he},get stop(){return ye},get trigger(){return ve}}),n=Object.freeze({__proto__:null,get compute(){return Ee},get data(){return we},get log(){return Ie},get reset(){return Oe},get start(){return Se},get stop(){return ke},get updates(){return be}}),r=Object.freeze({__proto__:null,get compute(){return qe},get config(){return je},get consent(){return ze},get data(){return Te},get start(){return Me},get stop(){return Ce},get trackConsentv2(){return Ae}}),a=Object.freeze({__proto__:null,get callback(){return $e},get callbacks(){return Re},get clear(){return Qe},get consent(){return Je},get consentv2(){return Ze},get data(){return De},get electron(){return Xe},get id(){return We},get metadata(){return Ye},get save(){return tn},get shortid(){return nn},get start(){return Ge},get stop(){return Ve}}),o=Object.freeze({__proto__:null,get data(){return un},get envelope(){return ln},get start(){return cn},get stop(){return sn}}),i={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0,modules:[],diagnostics:!1,externalSession:!1,userId:null,sessionId:null,mode:"gemx"};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function s(){return performance.now()+performance.timeOrigin}function l(t){void 0===t&&(t=null);var e=0===c?s():c,n=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+r-e),0)}var d="0.8.88";var f=/\S/gi,p=255,h=!0,g=null,v=null,m=null;function y(t,e,n,r,a){if(void 0===r&&(r=!1),t){if("input"==e&&("checkbox"===a||"radio"===a))return t;switch(n){case 0:return t;case 1:switch(e){case"*T":case"value":case"placeholder":case"click":return function(t){var e=-1,n=0,r=!1,a=!1,o=!1,i=null;I();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(e+1,o?u:u+1);s=h&&null!==m?s.match(m)?s:S(s,"▪","▫"):_(s),i.splice(e+1-n,s.length,s),n+=s.length-1}o&&(r=!1,a=!1,e=u)}}return i?i.join(""):t}(t);case"input":case"change":return k(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):_(t);case"src":case"srcset":case"title":case"alt":case"href":case"xlink:href":return 3===n?(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return k(t);case"placeholder":return _(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):_(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(e){case"*T":case"data-":return S(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function w(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t;if(e)r="".concat("https://").concat("Electron");else{var a=i.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var o=t.split("?"),u=o[0],c=o[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(e){return 0===t.indexOf("".concat(e,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return n&&(r=r.substring(0,p)),r}function b(t){var e=t.trim();if(e.length>0){var n=e[0],r=t.indexOf(n),a=t.substr(0,r),o=t.substr(r+e.length);return"".concat(a).concat(e.length.toString(36)).concat(o)}return t}function _(t){return t.replace(f,"•")}function S(t,e,n){return I(),t?t.replace(v,e).replace(g,n):t}function k(t){for(var e=5*(Math.floor(t.length/5)+1),n="",r=0;r<e;r++)n+=r>0&&r%5==0?" ":"•";return n}function I(){if(h&&null===g)try{g=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),m=new RegExp("\\p{Sc}","gu")}catch(t){h=!1}}var E=[],O=null;function T(){}var x=[];function M(){}function C(){}function N(){}function j(){}function z(){}var P=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:O,event:j,hashText:M,keys:x,log:T,observe:function(){},register:z,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:N,trigger:C}),A=null;function q(t,e){Pn()&&t&&"string"==typeof t&&t.length<255&&(A=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},pe(24))}var D,R=null,X=null;function H(t){t in R||(R[t]=0),t in X||(X[t]=0),R[t]++,X[t]++}function L(t,e){null!==e&&(t in R||(R[t]=0),t in X||(X[t]=0),R[t]+=e,X[t]+=e)}function U(t,e){null!==e&&!1===isNaN(e)&&(t in R||(R[t]=0),(e>R[t]||0===R[t])&&(X[t]=e,R[t]=e))}function G(t,e,n){return window.setTimeout(pn(t),e,n)}function B(t){return window.clearTimeout(t)}var V=0,Y=0,W=null;function J(){W&&B(W),W=G(Z,Y),V=l()}function Z(){var t=l();D={gap:t-V},pe(25),D.gap<3e5?W=G(Z,Y):Nn&&(q("clarityGemX","suspend"),or(),["mousemove","touchstart"].forEach((function(t){return gn(document,t,An)})),["resize","scroll","pageshow"].forEach((function(t){return gn(window,t,An)})))}var F=Object.freeze({__proto__:null,get data(){return D},reset:J,start:function(){Y=6e4,V=0},stop:function(){B(W),V=0,Y=0}}),K=null;function Q(t){Pn()&&i.lean&&(i.lean=!1,K={key:t},$e(),tn(),i.upgrade&&i.upgrade(t),pe(3),i.lite)}var $=Object.freeze({__proto__:null,get data(){return K},start:function(){!i.lean&&i.upgrade&&i.upgrade("Config"),K=null},stop:function(){K=null},upgrade:Q}),tt=function(){return tt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},tt.apply(this,arguments)};function et(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))}function nt(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=e.call(t,i)}catch(t){u=[6,t],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var rt=null;function at(t,e){it(t,"string"==typeof e?[e]:e)}function ot(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),et(this,void 0,void 0,(function(){var a,o;return nt(this,(function(i){switch(i.label){case 0:return o={},[4,st(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(S(u.substring(2),"*","*")):S(u,"*","*")),it("userId",[(a=o).userId]),it("userHint",[a.userHint]),it("userType",[lt(t)]),e&&(it("sessionId",[e]),a.sessionId=e),n&&(it("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function it(t,e){if(Pn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in rt?rt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);rt[t]=n}}function ut(){pe(34)}function ct(){rt={}}function st(t){return et(this,void 0,void 0,(function(){var e;return nt(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return e=n.sent(),[2,Array.prototype.map.call(new Uint8Array(e),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return n.sent(),[2,""];case 5:return[2]}}))}))}function lt(t){return t&&t.indexOf("@")>0?"email":"string"}var dt=Object.freeze({__proto__:null,compute:ut,get data(){return rt},identify:ot,reset:ct,set:at,start:function(){ct()},stop:function(){ct()}}),ft="CompressionStream"in window;function pt(t){return et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),ft?(e=new ReadableStream({start:function(e){return et(this,void 0,void 0,(function(){return nt(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,ht(e)]):[3,2];case 1:return[2,new(n.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function ht(t){return et(this,void 0,void 0,(function(){var e,n,r,a,o;return nt(this,(function(i){switch(i.label){case 0:e=t.getReader(),n=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,e.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,n]:(n.push.apply(n,a),[3,1]);case 3:return[2,n]}}))}))}function gt(t,e){try{return!!t[e]}catch(t){return!1}}function vt(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}var mt=null,yt="^";function wt(t,e){var n;if(void 0===e&&(e=!1),gt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=vt(o[1]),u=i[0],c=i[1];u;)u=(n=vt(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function bt(t,e,n){if((i.track||""==e)&&(navigator&&navigator.cookieEnabled||gt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var o=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(o).concat(";path=/");try{if(null===mt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(mt=".".concat(c[s]).concat(mt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(mt),wt(t)===e))return;mt=""}}catch(t){mt=""}document.cookie=mt?"".concat(u).concat(";").concat("domain=").concat(mt):u}}var _t=Object.freeze({__proto__:null,COOKIE_SEP:yt,getCookie:wt,setCookie:bt,start:function(){mt=null},stop:function(){mt=null}}),St={excludeClassNames:[],ignoreMutationClassNames:[],discoverTrigger:null},kt=tt({},St);var It=Object.freeze({__proto__:null,get:function(){return kt},set:function(t){kt=tt(tt({},kt),t)},start:function(){var t,e,n,r,a,o;kt={excludeClassNames:null!==(e=null===(t=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===t?void 0:t.excludeClassNames)&&void 0!==e?e:[],ignoreMutationClassNames:null!==(r=null===(n=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===n?void 0:n.ignoreMutationClassNames)&&void 0!==r?r:[],discoverTrigger:null!==(o=null===(a=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===a?void 0:a.discoverTrigger)&&void 0!==o?o:null}},stop:function(){kt=tt({},St)}}),Et=[],Ot=0,Tt=!1,xt=0,Mt=null;function Ct(){return Tt}function Nt(t,e){Et.push(t),Ot+=e,xt>0&&Ot>=xt&&Mt&&Mt()}var jt=null;function zt(t){try{if(!jt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){jt(t)}))}catch(t){}}var Pt=[It,Object.freeze({__proto__:null,config:function(t,e){return xt=null!=t?t:0,Mt=null!=e?e:null,!0},drain:function(){Tt=!1;var t=Et;return Et=[],Ot=0,t},getBytes:function(){return Ot},hold:Nt,isActive:Ct,start:function(){Et=[],Ot=0,Tt=!0},stop:function(){Et=[],Ot=0,Tt=!1,xt=0,Mt=null}}),P,n,dt,e,P,_t,r,a,o,t,F,$,P];function At(){R={},X={},H(5),Pt.forEach((function(t){return pn(t.start)()}))}function qt(){Pt.slice().reverse().forEach((function(t){return pn(t.stop)()})),R={},X={}}function Dt(){me(),qe(),"gemx"!==i.mode&&(ut(),Ee(),pe(0))}function Rt(t,e,n,r){return"href"===t&&"LINK"===r?"".concat(t,"=").concat(e):"".concat(t,"=").concat(y(e,0===t.indexOf("data-")?"data-":t,n))}var Xt=[],Ht=1,Lt=null;function Ut(){Xt=[],function(t){var e=[t];for(;e.length>0;){for(var n=null,r=null,a=null,o=e.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)e.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",n={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Lt.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=Gt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}Bt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){et(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,s,d,f,p,h;return nt(this,(function(g){switch(e=l(),n=[e,t],t){case 8:r=O,n.push(r.width),n.push(r.height),r.width,r.height,ae(n);break;case 43:if((a=Xt).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,s=u.data,d=0,f=["tag","attributes","value"];d<f.length;d++)if(s[p=f[d]])switch(p){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(s[p]);break;case"attributes":for(h in s[p])void 0!==s[p][h]&&n.push(Rt(h,s[p][h],c,s.tag));break;case"value":n.push(y(s[p],s.tag,c))}ae(function(t){for(var e=[],n={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=n[i]||-1;u>=0?a?a.push(u):(a=[u],e.push(a),r++):(a=null,e.push(i),n[i]=r++)}else a=null,e.push(t[o]),r++;return e}(n),!0)}}return[2]}))}))}(43)}function Gt(t){var e={},n=t.attributes;if(n&&n.length>0)for(var r=0;r<n.length;r++)e[n[r].name]=n[r].value;return e}function Bt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Lt.has(t)?Lt.get(t):(Lt.set(t,Ht),Ht++)}(t),a=e?Lt.get(e):null,o=t.previousSibling?Lt.get(t.previousSibling):null;Xt.push({id:r,parent:a,previous:o,children:[],data:n,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var Vt,Yt,Wt,Jt,Zt,Ft,Kt=0,Qt=0,$t=null,te=0,ee=!1,ne=!1;function re(){Jt=!0,Kt=0,Qt=0,ee=!1,ne=!1,te=0,Vt=[],Yt=[],Wt={},Zt=null}function ae(t,e){if(void 0===e&&(e=!0),Jt){var n=l(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(i.lean?!ee&&Qt+a.length>10485760&&(ee=!0):ee=!1,r){case 5:if(ee)break;if(Ct()){Nt(t,a.length);break}Kt+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(ee)break;Ct()&&Nt(t,a.length),Qt+=a.length,Vt.push(a);break;default:Yt.push(a)}H(25);var o=function(){var t=!1===i.lean&&Kt>0?100:un.sequence*i.delay;return"string"==typeof i.upload?Math.max(Math.min(t,3e4),100):i.delay}();n-te>2*o&&(B($t),$t=null),e&&null===$t&&(25!==r&&J(),$t=G(se,o),te=n,ge(Qt))}}function oe(){Jt&&(B($t),$t=null,se(!0))}function ie(){Jt&&(B($t),$t=null,se(!1))}function ue(t){ne=!0;for(var e=0,n=t;e<n.length;e++){var r=n[e],a=JSON.stringify(r);Kt+=a.length,Qt+=a.length,Vt.push(a)}}function ce(){B($t),se(!0),Kt=0,Qt=0,ee=!1,te=0,Vt=[],Yt=[],Wt={},Zt=null,Jt=!1}function se(t){return void 0===t&&(t=!1),et(this,void 0,void 0,(function(){var e,n,r,a,o,u,c,s;return nt(this,(function(l){switch(l.label){case 0:return Jt?($t=null,(e=(ne||!1===i.lean)&&Qt>0&&(Qt<1048576||un.sequence>0))&&U(1,1),Dt(),n=!0===t,un?(r=JSON.stringify(ln(n)),a="[".concat(Yt.join(),"]"),o=e?"[".concat(Vt.join(),"]"):"",n&&o.length>0&&r.length+a.length+o.length>65536&&(o=""),u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:o}),n?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,pt(u)];case 2:s=l.sent(),l.label=3;case 3:return L(2,(c=s)?c.length:u.length),le(u,c,un.sequence,n),Yt=[],e&&(Vt=[],Qt=0,Kt=0,ee=!1,ne=!1),[2]}}))}))}function le(t,e,n,r){if(void 0===r&&(r=!1),"string"==typeof i.upload){var a=i.upload,o=!1;if(r&&navigator&&navigator.sendBeacon)try{(o=navigator.sendBeacon.bind(navigator)(a,t))&&fe(n)}catch(t){}if(!1===o){n in Wt?Wt[n].attempts++:Wt[n]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){fn(new Error("".concat("Timeout"," : ").concat(a)))},null!==n&&(u.onreadystatechange=function(){pn(de)(u,n)}),u.withCredentials=!0,e?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(e)):u.send(t)}}else if(i.upload){(0,i.upload)(t,ne?"gemx-discover":void 0),fe(n)}}function de(t,e){var n=Wt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ve(6):(0===t.status&&(i.upload=i.fallback?i.fallback:i.upload),Zt={sequence:e,attempts:n.attempts,status:t.status},pe(2),le(n.data,null,e)):(Zt={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&pe(2),200===t.status&&t.responseText&&function(t){for(var e=t&&t.length>0?t.split("\n"):[],n=0,r=e;n<r.length;n++){var a=r[n],o=a&&a.length>0?a.split(/ (.*)/):[""];switch(o[0]){case"END":ve(6);break;case"UPGRADE":Q("Auto");break;case"ACTION":i.action&&o.length>1&&i.action(o[1]);break;case"EXTRACT":case"MODULE":o.length>1&&o[1];break;case"SIGNAL":o.length>1&&zt(o[1]);break;case"SNAPSHOT":i.lean=!1,Ut()}}}(t.responseText),0===t.status&&(le(n.data,null,e,!0),ve(3)),t.status>=200&&t.status<=208&&fe(e),delete Wt[e]))}function fe(t){1===t&&(tn(),$e())}function pe(t){var e=[l(),t];switch(t){case 4:var n=E;n&&n.data&&((e=[n.time,n.event]).push(n.data.visible),e.push(n.data.docWidth),e.push(n.data.docHeight),e.push(n.data.screenWidth),e.push(n.data.screenHeight),e.push(n.data.scrollX),e.push(n.data.scrollY),e.push(n.data.pointerX),e.push(n.data.pointerY),e.push(n.data.activityTime),e.push(n.data.scrollTime),e.push(n.data.pointerTime),e.push(n.data.moveX),e.push(n.data.moveY),e.push(n.data.moveTime),e.push(n.data.downX),e.push(n.data.downY),e.push(n.data.downTime),e.push(n.data.upX),e.push(n.data.upY),e.push(n.data.upTime),e.push(n.data.pointerPrevX),e.push(n.data.pointerPrevY),e.push(n.data.pointerPrevTime),e.push(n.data.modules),ae(e,!1));break;case 25:e.push(D.gap),ae(e);break;case 35:e.push(Ft.check),ae(e,!1);break;case 3:e.push(K.key),ae(e);break;case 2:e.push(Zt.sequence),e.push(Zt.attempts),e.push(Zt.status),ae(e,!1);break;case 24:A.key&&e.push(A.key),e.push(A.value),ae(e);break;case 34:var r=Object.keys(rt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(rt[i])}ct(),ae(e,!1)}break;case 0:var u=Object.keys(X);if(u.length>0){for(var c=0,s=u;c<s.length;c++){var d=s[c],f=parseInt(d,10);e.push(f),e.push(Math.round(X[d]))}X={},ae(e,!1)}break;case 1:var p=Object.keys(be);if(p.length>0){for(var h=0,g=p;h<g.length;h++){var v=g[h];f=parseInt(v,10);e.push(f),e.push(be[v])}Oe(),ae(e,!1)}break;case 36:var m=Object.keys(O);if(m.length>0){for(var y=0,w=m;y<w.length;y++){var b=w[y];f=parseInt(b,10);e.push(f),e.push([].concat.apply([],O[b]))}ae(e,!1)}break;case 40:x.forEach((function(t){e.push(t);var n=[];for(var r in O[t]){var a=parseInt(r,10);n.push(a),n.push(O[t][r])}e.push(n)})),ae(e,!1);break;case 47:e.push(Te.source),e.push(Te.ad_Storage),e.push(Te.analytics_Storage),ae(e,!1)}}function he(){Ft={check:0}}function ge(t){if(0===Ft.check){var e=Ft.check;e=un.sequence>=128?1:e,e=un.pageNum>=128?7:e,e=l()>72e5?2:e,(e=t>10485760?2:e)!==Ft.check&&ve(e)}}function ve(t){Ft.check=t,5!==t&&(Qe(),or())}function me(){0!==Ft.check&&pe(35)}function ye(){Ft=null}var we=null,be=null,_e=!1;function Se(){we={},be={},_e=!1}function ke(){we={},be={},_e=!1}function Ie(t,e){if(e&&(e="".concat(e),t in we||(we[t]=[]),we[t].indexOf(e)<0)){if(we[t].length>128)return void(_e||(_e=!0,ve(5)));we[t].push(e),t in be||(be[t]=[]),be[t].push(e)}}function Ee(){pe(1)}function Oe(){be={},_e=!1}var Te=null,xe=!0;function Me(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;xe=!0,(null==e?void 0:e.addListener)&&e.addListener(["ad_storage","analytics_storage"],Ne)}function Ce(){xe=!0}function Ne(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState)try{var n=e.getConsentState("analytics_storage");Ze(function(t){var e={source:2,ad_Storage:1===t.ad_Storage?"granted":"denied",analytics_Storage:1===t.analytics_Storage?"granted":"denied"};return e}({ad_Storage:e.getConsentState("ad_storage"),analytics_Storage:n}))}catch(t){return}}function je(t){Pe(t.analytics_Storage?1:0),Te=t}function ze(){Pe(2)}function Pe(t){Ie(36,t.toString())}function Ae(t){Te=t,pe(47)}function qe(){var t;if(xe&&(pe(47),xe=!1,!i.track)){var e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;(null==e?void 0:e.usedUpdate)&&Ne()}}var De=null,Re=[],Xe=0,He=null,Le=!1,Ue={source:7,ad_Storage:"denied",analytics_Storage:"denied"};function Ge(){var t,e,n,r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(n="undefined"!=typeof Intl&&(null===(e=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===e?void 0:e.timeZone))&&void 0!==n?n:"",o=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Xe=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:nn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=wt("_clsk",!i.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-rn(n[1])<18e5&&(t.session=n[0],t.count=rn(n[2])+1,t.upgrade=rn(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=an(),d=i.projectId||function(t,e){void 0===e&&(e=null);for(var n,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return n=Math.abs(r+11579*a),(e?n%Math.pow(2,e):n).toString(36)}(location.host),f=i.externalSession&&i.userId?i.userId:l.id,p=i.externalSession&&i.sessionId?i.sessionId:s.session;De={projectId:d,userId:f,sessionId:p,pageNum:s.count},i.lean=i.track&&null!==s.upgrade?0===s.upgrade:i.lean,i.upload=i.track&&"string"==typeof i.upload&&s.upload&&s.upload.length>"https://".length?s.upload:i.upload,Ie(0,r),Ie(3,c),Ie(1,w(location.href,!!Xe)),Ie(2,document.referrer),Ie(15,function(){var t=nn();if(i.track&&gt(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),Ie(16,document.documentElement.lang),Ie(17,document.dir),Ie(26,"".concat(window.devicePixelRatio)),Ie(28,l.dob.toString()),Ie(29,l.version.toString()),Ie(33,u),Ie(34,a),Ie(35,o),U(0,s.ts),U(1,0),U(35,Xe);var h,g=null===window||void 0===window?void 0:window.Zone;g&&"__symbol__"in g&&U(39,1),navigator&&(Ie(9,navigator.language),U(33,navigator.hardwareConcurrency),U(32,navigator.maxTouchPoints),U(34,Math.round(navigator.deviceMemory)),(h=navigator.userAgentData)&&h.getHighEntropyValues?h.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;Ie(22,t.platform),Ie(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){Ie(24,t.name+"~"+t.version)})),Ie(25,t.model),U(27,t.mobile?1:0)})):Ie(22,navigator.platform)),screen&&(U(14,Math.round(screen.width)),U(15,Math.round(screen.height)),U(16,Math.round(screen.colorDepth))),null===He&&(He={source:l.consent?6:0,ad_Storage:i.track?"granted":"denied",analytics_Storage:i.track?"granted":"denied"}),Be(),je(Fe(He)),i.externalSession||en(l)}function Be(){if(!Le&&"granted"===(null==He?void 0:He.analytics_Storage)&&"granted"===(null==He?void 0:He.ad_Storage)){for(var t=0,e=i.cookies;t<e.length;t++){var n=e[t],r=wt(n);r&&at(n,r)}Le=!0}}function Ve(){De=null,Le=!1,Re.forEach((function(t){t.called=!1}))}function Ye(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=i.lean?0:1,o=!1;De&&(a||!1===e)&&(t(De,!i.lean,r?He:void 0),o=!0),!n&&o||Re.push({callback:t,wait:e,recall:n,called:o,consentInfo:r})}function We(){return De?[De.userId,De.sessionId,De.pageNum].join("."):""}function Je(t){void 0===t&&(t=!0),Ze(t?{source:4,ad_Storage:"granted",analytics_Storage:"granted"}:{source:4,ad_Storage:"denied",analytics_Storage:"denied"})}function Ze(t,e){var n;if(void 0===t&&(t=Ue),void 0===e&&(e=5),Pn()){var r={source:null!==(n=t.source)&&void 0!==n?n:e,ad_Storage:Ke(t.ad_Storage,null==He?void 0:He.ad_Storage),analytics_Storage:Ke(t.analytics_Storage,null==He?void 0:He.analytics_Storage)};if(He&&r.ad_Storage===He.ad_Storage&&r.analytics_Storage===He.analytics_Storage)return He.source=r.source,Ae(Fe(He)),void ze();He=r,$e(!0);var a=Fe(He);if(!a.analytics_Storage&&i.track)return i.track=!1,Qe(!0),or(),void window.setTimeout(ar,250);Pn()&&a.analytics_Storage&&(i.track=!0,en(an(),1),tn()),Be(),Ae(a),ze()}}function Fe(t){var e;return{source:null!==(e=t.source)&&void 0!==e?e:255,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Ke(t,e){return void 0===e&&(e="denied"),"string"==typeof t?t.toLowerCase():e}function Qe(t){void 0===t&&(t=!1),bt("_clsk","",0),t&&bt("_clck","",0)}function $e(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(Re.length>0)for(var n=0;n<Re.length;n++){var r=Re[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(De,!i.lean,r.consentInfo?He:void 0),r.called=!0,r.recall||(Re.splice(n,1),n--))}}(i.lean?0:1,t)}function tn(){if(De&&i.track&&!i.externalSession){var t=Math.round(Date.now()),e=i.upload&&"string"==typeof i.upload?i.upload.replace("https://",""):"",n=i.lean?0:1;bt("_clsk",[De.sessionId,t,De.pageNum,n,e].join(yt),1)}}function en(t,e){void 0===e&&(e=null),e=null===e?t.consent:e;var n=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===i.dob?0:i.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&bt("_clck",[De.userId,2,n.toString(36),e,r].join(yt),365)}function nn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function rn(t,e){return void 0===e&&(e=10),parseInt(t,e)}function an(){var t={id:nn(),version:0,expiry:null,consent:0,dob:0},e=wt("_clck",!i.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=rn(n[1])),n.length>2&&(t.expiry=rn(n[2],36)),n.length>3&&1===rn(n[3])&&(t.consent=1),n.length>4&&rn(n[1])>1&&(t.dob=rn(n[4])),i.track=i.track||1===t.consent,t.id=i.track?n[0]:t.id}return t}var on,un=null;function cn(){var t=De;un={version:d,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function sn(){un=null}function ln(t){return un.start=un.start+un.duration,un.duration=l()-un.start,un.sequence++,un.upload=t&&"sendBeacon"in navigator?1:0,un.end=t?1:0,un.applicationPlatform=0,un.url=w(location.href,!1,!0),[un.version,un.sequence,un.start,un.duration,un.projectId,un.userId,un.sessionId,un.pageNum,un.upload,un.end,un.applicationPlatform,un.url]}function dn(){on=[]}function fn(t){if(on&&-1===on.indexOf(t.message)){var e=i.report;if(e&&e.length>0&&un){var n={v:un.version,p:un.projectId,u:un.userId,s:un.sessionId,n:un.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;r.open("POST",e,!0),r.send(JSON.stringify(n)),on.push(t.message)}}return t}function pn(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw fn(t)}var n=performance.now()-e;L(4,n),n>30&&(H(7),U(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var hn=new Map;function gn(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=pn(n);try{t[u("addEventListener")](e,n,{capture:r,passive:a}),function(t){return hn.has(t)}(t)||hn.set(t,[]),hn.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function vn(){hn.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[u("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),hn.delete(e)}(t,e)})),hn=new Map}var mn=null,yn=null,wn=null,bn=0;function _n(){return!(bn++>20)}function Sn(){bn=0,wn!==In()&&(or(),window.setTimeout(kn,250))}function kn(){ar(),U(29,1)}function In(){return location.href?location.href.replace(location.hash,""):location.href}var En=[],On=null,Tn=null,xn=null;function Mn(){En=[],On=null,Tn=null}function Cn(){var t=En.shift();t&&(On=t,t.task().then((function(){t.id===We()&&(t.resolve(),On=null,Cn())})).catch((function(e){t.id===We()&&(e&&(e.name,e.message,e.stack),On=null,Cn())})))}var Nn=!1;function jn(){Nn=!0,c=s(),Mn(),vn(),dn(),function(){if(wn=In(),bn=0,gn(window,"popstate",Sn),null===mn)try{mn=history.pushState,history.pushState=function(){mn.apply(this,arguments),Pn()&&_n()&&Sn()}}catch(t){mn=null}if(null===yn)try{yn=history.replaceState,history.replaceState=function(){yn.apply(this,arguments),Pn()&&_n()&&Sn()}}catch(t){yn=null}}()}function zn(){wn=null,bn=0,dn(),vn(),Mn(),c=0,Nn=!1}function Pn(){return Nn}function An(){ar(),q("clarityGemX","restart")}var qn=null;function Dn(){qn=null}function Rn(t){qn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){return e=l(),n=[e,t],29===t&&(n.push(qn.fetchStart),n.push(qn.connectStart),n.push(qn.connectEnd),n.push(qn.requestStart),n.push(qn.responseStart),n.push(qn.responseEnd),n.push(qn.domInteractive),n.push(qn.domComplete),n.push(qn.loadEventStart),n.push(qn.loadEventEnd),n.push(qn.redirectCount),n.push(qn.size),n.push(qn.type),n.push(qn.protocol),n.push(qn.encodedSize),n.push(qn.decodedSize),Dn(),ae(n)),[2]}))}))}(29)}var Xn,Hn=0,Ln=1/0,Un=0,Gn=0,Bn=[],Vn=new Map,Yn=function(){return Hn||0},Wn=function(){if(!Bn.length)return-1;var t=Math.min(Bn.length-1,Math.floor((Yn()-Gn)/50));return Bn[t].latency},Jn=function(){Gn=Yn(),Bn.length=0,Vn.clear()},Zn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Hn=performance.interactionCount:t.interactionId&&(Ln=Math.min(Ln,t.interactionId),Un=Math.max(Un,t.interactionId),Hn=Un?(Un-Ln)/7+1:0)}(t);var e=Bn[Bn.length-1],n=Vn.get(t.interactionId);if(n||Bn.length<10||t.duration>(null==e?void 0:e.latency)){if(n)t.duration>n.latency&&(n.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Vn.set(r.id,r),Bn.push(r)}Bn.sort((function(t,e){return e.latency-t.latency})),Bn.length>10&&Bn.splice(10).forEach((function(t){return Vn.delete(t.id)}))}}},Fn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Kn(){try{Xn&&Xn.disconnect(),Xn=new PerformanceObserver(pn(Qn));for(var t=0,e=Fn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&L(9,0),Xn.observe({type:n,buffered:!0}))}}catch(t){}}function Qn(t){!function(t){for(var e=(!("visibilityState"in document)||"visible"===document.visibilityState),n=0;n<t.length;n++){var r=t[n];switch(r.entryType){case"navigation":Rn(r);break;case"resource":var a=r.name;Ie(4,tr(a)),a!==i.upload&&a!==i.fallback||U(28,r.duration);break;case"longtask":H(7);break;case"first-input":e&&U(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Zn(r),Ie(37,Wn().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&L(9,1e3*r.value);break;case"largest-contentful-paint":e&&U(8,r.startTime)}}}(t.getEntries())}var $n=null;function tr(t){return $n||($n=document.createElement("a")),$n.href=t,$n.host}var er=[P,P,P],nr=[P,P,P,Object.freeze({__proto__:null,start:function(){Dn(),function(){navigator&&navigator.connection&&Ie(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?gn(window,"load",G.bind(this,Kn,0)):Kn())}()},stop:function(){Xn&&Xn.disconnect(),Xn=null,Jn(),$n=null,Dn()}}),P],rr=nr;function ar(t){void 0===t&&(t=null),rr="gemx"===t.mode?er:nr,function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Nn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Nn)return!1;for(var e in t)e in i&&(i[e]=t[e])}(t),jn(),At(),rr.forEach((function(t){return pn(t.start)()})),null===t&&sr())}function or(){Pn()&&(rr.slice().reverse().forEach((function(t){return pn(t.stop)()})),qt(),zn(),void 0!==ur&&(ur[cr]=function(){(ur[cr].q=ur[cr].q||[]).push(arguments),"start"===arguments[0]&&ur[cr].q.unshift(ur[cr].q.pop())&&sr()}))}var ir=Object.freeze({__proto__:null,consent:Je,consentv2:Ze,dlog:Ie,event:q,hashText:M,identify:ot,maxMetric:U,measure:pn,metadata:Ye,pause:function(){Pn()&&(q("clarityGemX","pause"),null===Tn&&(Tn=new Promise((function(t){xn=t}))))},queue:ae,register:z,resume:function(){Pn()&&(Tn&&(xn(),Tn=null,null===On&&Cn()),q("clarityGemX","resume"))},schedule:function(t,e){return void 0===e&&(e=0),et(this,void 0,void 0,(function(){var n,r,a;return nt(this,(function(o){for(n=0,r=En;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){En[1===e?"unshift":"push"]({task:t,resolve:n,id:We()})})),null===On&&null===Tn&&Cn(),[2,a]}))}))},set:at,signal:function(t){jt=t},start:ar,stop:or,time:l,upgrade:Q,version:d}),ur=window,cr="clarityGemX";function sr(){if(void 0!==ur){if(ur[cr]&&ur[cr].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ur[cr]&&ur[cr].q||[];for(ur[cr]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return ir[t].apply(ir,e)},ur[cr].v=d;t.length>0;)ur[cr].apply(ur,t.shift())}}sr()}();
1
+ !function(){"use strict";var t=Object.freeze({__proto__:null,get flush(){return oe},get inject(){return ie},get queue(){return ae},get start(){return re},get stop(){return ue},get track(){return Ft}}),e=Object.freeze({__proto__:null,get check(){return he},get compute(){return ve},get data(){return Kt},get start(){return pe},get stop(){return me},get trigger(){return ge}}),n=Object.freeze({__proto__:null,get compute(){return Ie},get data(){return ye},get log(){return ke},get reset(){return Ee},get start(){return _e},get stop(){return Se},get updates(){return we}}),r=Object.freeze({__proto__:null,get compute(){return Ae},get config(){return Ne},get consent(){return je},get data(){return Oe},get start(){return xe},get stop(){return Me},get trackConsentv2(){return Pe}}),a=Object.freeze({__proto__:null,get callback(){return Qe},get callbacks(){return De},get clear(){return Ke},get consent(){return Je},get consentv2(){return We},get data(){return qe},get electron(){return Re},get id(){return Ye},get metadata(){return Ve},get save(){return $e},get shortid(){return en},get start(){return Ue},get stop(){return Be}}),o=Object.freeze({__proto__:null,get data(){return on},get envelope(){return sn},get start(){return un},get stop(){return cn}}),i={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0,modules:[],diagnostics:!1,externalSession:!1,userId:null,sessionId:null,mode:"gemx"};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function s(){return performance.now()+performance.timeOrigin}function l(t){void 0===t&&(t=null);var e=0===c?s():c,n=t&&t.timeStamp>0?t.timeStamp:performance.now(),r=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+r-e),0)}var d="0.8.90";var f=/\S/gi,p=255,h=!0,g=null,v=null,m=null;function y(t,e,n,r,a){if(void 0===r&&(r=!1),t){if("input"==e&&("checkbox"===a||"radio"===a))return t;switch(n){case 0:return t;case 1:switch(e){case"*T":case"value":case"placeholder":case"click":return function(t){var e=-1,n=0,r=!1,a=!1,o=!1,i=null;I();for(var u=0;u<t.length;u++){var c=t.charCodeAt(u);if(r=r||c>=48&&c<=57,a=a||64===c,o=9===c||10===c||13===c||32===c,0===u||u===t.length-1||o){if(r||a){null===i&&(i=t.split(""));var s=t.substring(e+1,o?u:u+1);s=h&&null!==m?s.match(m)?s:S(s,"▪","▫"):_(s),i.splice(e+1-n,s.length,s),n+=s.length-1}o&&(r=!1,a=!1,e=u)}}return i?i.join(""):t}(t);case"input":case"change":return k(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):_(t);case"src":case"srcset":case"title":case"alt":case"href":case"xlink:href":return 3===n?(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return k(t);case"placeholder":return _(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):_(t);case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":return""}break;case 5:switch(e){case"*T":case"data-":return S(t,"▪","▫");case"value":case"input":case"click":case"change":return Array(5).join("•");case"checksum":case"src":case"srcset":case"alt":case"title":return""}}}return t}function w(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t;if(e)r="".concat("https://").concat("Electron");else{var a=i.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var o=t.split("?"),u=o[0],c=o[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(e){return 0===t.indexOf("".concat(e,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return n&&(r=r.substring(0,p)),r}function b(t){var e=t.trim();if(e.length>0){var n=e[0],r=t.indexOf(n),a=t.substr(0,r),o=t.substr(r+e.length);return"".concat(a).concat(e.length.toString(36)).concat(o)}return t}function _(t){return t.replace(f,"•")}function S(t,e,n){return I(),t?t.replace(v,e).replace(g,n):t}function k(t){for(var e=5*(Math.floor(t.length/5)+1),n="",r=0;r<e;r++)n+=r>0&&r%5==0?" ":"•";return n}function I(){if(h&&null===g)try{g=new RegExp("\\p{N}","gu"),v=new RegExp("\\p{L}","gu"),m=new RegExp("\\p{Sc}","gu")}catch(t){h=!1}}var E=[],O=null;function T(){}var x=[];function M(){}function C(){}function N(){}function j(){}function z(){}var P=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:O,event:j,hashText:M,keys:x,log:T,observe:function(){},register:z,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:N,trigger:C}),A=null;function q(t,e){zn()&&t&&"string"==typeof t&&t.length<255&&(A=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},fe(24))}var D,R=null,X=null;function H(t){t in R||(R[t]=0),t in X||(X[t]=0),R[t]++,X[t]++}function L(t,e){null!==e&&(t in R||(R[t]=0),t in X||(X[t]=0),R[t]+=e,X[t]+=e)}function U(t,e){null!==e&&!1===isNaN(e)&&(t in R||(R[t]=0),(e>R[t]||0===R[t])&&(X[t]=e,R[t]=e))}function G(t,e,n){return window.setTimeout(fn(t),e,n)}function B(t){return window.clearTimeout(t)}var V=0,Y=0,J=null;function W(){J&&B(J),J=G(Z,Y),V=l()}function Z(){var t=l();D={gap:t-V},fe(25),D.gap<3e5?J=G(Z,Y):Cn&&(q("clarityGemX","suspend"),ar(),["mousemove","touchstart"].forEach((function(t){return hn(document,t,Pn)})),["resize","scroll","pageshow"].forEach((function(t){return hn(window,t,Pn)})))}var F=Object.freeze({__proto__:null,get data(){return D},reset:W,start:function(){Y=6e4,V=0},stop:function(){B(J),V=0,Y=0}}),K=null;function Q(t){zn()&&i.lean&&(i.lean=!1,K={key:t},Qe(),$e(),i.upgrade&&i.upgrade(t),fe(3),i.lite)}var $=Object.freeze({__proto__:null,get data(){return K},start:function(){!i.lean&&i.upgrade&&i.upgrade("Config"),K=null},stop:function(){K=null},upgrade:Q}),tt=function(){return tt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},tt.apply(this,arguments)};function et(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,u)}c((r=r.apply(t,e||[])).next())}))}function nt(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=e.call(t,i)}catch(t){u=[6,t],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var rt=null;function at(t,e){it(t,"string"==typeof e?[e]:e)}function ot(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),et(this,void 0,void 0,(function(){var a,o;return nt(this,(function(i){switch(i.label){case 0:return o={},[4,st(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(S(u.substring(2),"*","*")):S(u,"*","*")),it("userId",[(a=o).userId]),it("userHint",[a.userHint]),it("userType",[lt(t)]),e&&(it("sessionId",[e]),a.sessionId=e),n&&(it("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function it(t,e){if(zn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in rt?rt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);rt[t]=n}}function ut(){fe(34)}function ct(){rt={}}function st(t){return et(this,void 0,void 0,(function(){var e;return nt(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return e=n.sent(),[2,Array.prototype.map.call(new Uint8Array(e),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return n.sent(),[2,""];case 5:return[2]}}))}))}function lt(t){return t&&t.indexOf("@")>0?"email":"string"}var dt=Object.freeze({__proto__:null,compute:ut,get data(){return rt},identify:ot,reset:ct,set:at,start:function(){ct()},stop:function(){ct()}}),ft="CompressionStream"in window;function pt(t){return et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),ft?(e=new ReadableStream({start:function(e){return et(this,void 0,void 0,(function(){return nt(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,ht(e)]):[3,2];case 1:return[2,new(n.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function ht(t){return et(this,void 0,void 0,(function(){var e,n,r,a,o;return nt(this,(function(i){switch(i.label){case 0:e=t.getReader(),n=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,e.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,n]:(n.push.apply(n,a),[3,1]);case 3:return[2,n]}}))}))}function gt(t,e){try{return!!t[e]}catch(t){return!1}}function vt(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}var mt=null,yt="^";function wt(t,e){var n;if(void 0===e&&(e=!1),gt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=vt(o[1]),u=i[0],c=i[1];u;)u=(n=vt(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function bt(t,e,n){if((i.track||""==e)&&(navigator&&navigator.cookieEnabled||gt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var o=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(o).concat(";path=/");try{if(null===mt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(mt=".".concat(c[s]).concat(mt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(mt),wt(t)===e))return;mt=""}}catch(t){mt=""}document.cookie=mt?"".concat(u).concat(";").concat("domain=").concat(mt):u}}var _t=Object.freeze({__proto__:null,COOKIE_SEP:yt,getCookie:wt,setCookie:bt,start:function(){mt=null},stop:function(){mt=null}}),St={debug:!1,excludeClassNames:[],ignoreMutationClassNames:[],discoverTrigger:null},kt=tt({},St);function It(){return kt.debug}var Et=Object.freeze({__proto__:null,get:function(){return kt},isDebug:It,set:function(t){kt=tt(tt({},kt),t)},start:function(){var t,e,n,r,a,o,i,u;kt={debug:new URLSearchParams(window.location.search).has("gemx_debug")||null!==(e=null===(t=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===t?void 0:t.debug)&&void 0!==e&&e,excludeClassNames:null!==(r=null===(n=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===n?void 0:n.excludeClassNames)&&void 0!==r?r:[],ignoreMutationClassNames:null!==(o=null===(a=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===a?void 0:a.ignoreMutationClassNames)&&void 0!==o?o:[],discoverTrigger:null!==(u=null===(i=null===window||void 0===window?void 0:window.GemXHeatmap)||void 0===i?void 0:i.discoverTrigger)&&void 0!==u?u:null}},stop:function(){kt=tt({},St)}}),Ot=[],Tt=0,xt=!1,Mt=0,Ct=null;function Nt(){return xt}function jt(t,e){Ot.push(t),Tt+=e,Mt>0&&Tt>=Mt&&Ct&&Ct()}var zt=null;function Pt(t){try{if(!zt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){zt(t)}))}catch(t){}}var At=[Et,Object.freeze({__proto__:null,config:function(t,e){return Mt=null!=t?t:0,Ct=null!=e?e:null,!0},drain:function(){xt=!1;var t=Ot;return Ot=[],Tt=0,t},getBytes:function(){return Tt},hold:jt,isActive:Nt,start:function(){Ot=[],Tt=0,xt=!0},stop:function(){Ot=[],Tt=0,xt=!1,Mt=0,Ct=null}}),P,n,dt,e,P,_t,r,a,o,t,F,$,P];function qt(){R={},X={},H(5),At.forEach((function(t){return fn(t.start)()}))}function Dt(){At.slice().reverse().forEach((function(t){return fn(t.stop)()})),R={},X={}}function Rt(){ve(),Ae(),"gemx"!==i.mode&&(ut(),Ie(),fe(0))}function Xt(t,e,n,r){return"href"===t&&"LINK"===r?"".concat(t,"=").concat(e):"".concat(t,"=").concat(y(e,0===t.indexOf("data-")?"data-":t,n))}var Ht=[],Lt=1,Ut=null;function Gt(){Ht=[],function(t){var e=[t];for(;e.length>0;){for(var n=null,r=null,a=null,o=e.shift(),i=o.firstChild,u=o.parentElement?o.parentElement:o.parentNode?o.parentNode:null;i;)e.push(i),i=i.nextSibling;switch(o.nodeType){case Node.DOCUMENT_TYPE_NODE:var c=o;r="*D",n={name:c.name,publicId:c.publicId,systemId:c.systemId};break;case Node.TEXT_NODE:a=o.nodeValue,r=Ut.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=Bt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}Vt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){et(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,s,d,f,p,h;return nt(this,(function(g){switch(e=l(),n=[e,t],t){case 8:r=O,n.push(r.width),n.push(r.height),r.width,r.height,ae(n);break;case 43:if((a=Ht).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,s=u.data,d=0,f=["tag","attributes","value"];d<f.length;d++)if(s[p=f[d]])switch(p){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(s[p]);break;case"attributes":for(h in s[p])void 0!==s[p][h]&&n.push(Xt(h,s[p][h],c,s.tag));break;case"value":n.push(y(s[p],s.tag,c))}ae(function(t){for(var e=[],n={},r=0,a=null,o=0;o<t.length;o++)if("string"==typeof t[o]){var i=t[o],u=n[i]||-1;u>=0?a?a.push(u):(a=[u],e.push(a),r++):(a=null,e.push(i),n[i]=r++)}else a=null,e.push(t[o]),r++;return e}(n),!0)}}return[2]}))}))}(43)}function Bt(t){var e={},n=t.attributes;if(n&&n.length>0)for(var r=0;r<n.length;r++)e[n[r].name]=n[r].value;return e}function Vt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Ut.has(t)?Ut.get(t):(Ut.set(t,Lt),Lt++)}(t),a=e?Ut.get(e):null,o=t.previousSibling?Ut.get(t.previousSibling):null;Ht.push({id:r,parent:a,previous:o,children:[],data:n,selector:null,hash:null,region:null,metadata:{active:!0,suspend:!1,privacy:5,position:null,fraud:null,size:null}})}}var Yt,Jt,Wt,Zt,Ft,Kt,Qt=0,$t=0,te=null,ee=0,ne=!1;function re(){Zt=!0,Qt=0,$t=0,ne=!1,ee=0,Yt=[],Jt=[],Wt={},Ft=null}function ae(t,e){if(void 0===e&&(e=!0),Zt){var n=l(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(i.lean?!ne&&$t+a.length>10485760&&(ne=!0):ne=!1,r){case 5:if(ne)break;if(Nt()){jt(t,a.length);break}Qt+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(ne)break;Nt()&&jt(t,a.length),$t+=a.length,Yt.push(a);break;default:Jt.push(a)}H(25);var o=function(){var t=!1===i.lean&&Qt>0?100:on.sequence*i.delay;return"string"==typeof i.upload?Math.max(Math.min(t,3e4),100):i.delay}();n-ee>2*o&&(B(te),te=null),e&&null===te&&(25!==r&&W(),te=G(ce,o),ee=n,he($t))}}function oe(t){Zt&&(B(te),te=null,ce(!1,t))}function ie(t){for(var e=0,n=t;e<n.length;e++){var r=n[e],a=JSON.stringify(r);Qt+=a.length,$t+=a.length,Yt.push(a)}}function ue(){B(te),ce(!0),Qt=0,$t=0,ne=!1,ee=0,Yt=[],Jt=[],Wt={},Ft=null,Zt=!1}function ce(t,e){return void 0===t&&(t=!1),et(this,void 0,void 0,(function(){var n,r,a,o,u,c,s,l,d,f,p,h,g,v,m,y,w;return nt(this,(function(b){switch(b.label){case 0:if(!Zt)return[2];if(te=null,(n=("gemx-snapshot"===e||!1===i.lean)&&$t>0&&($t<1048576||on.sequence>0))&&U(1,1),Rt(),r=!0===t,!on)return[2];if(a=It(),!e&&a){for(o=[[9,"click"],[10,"scroll"]],u=new Set(Jt.map((function(t){return JSON.parse(t)[1]}))),c=[],s=0,l=o;s<l.length;s++)f=(d=l[s])[0],p=d[1],u.has(f)&&c.push(p);e=c.length>0?c.join("-"):void 0}return h=JSON.stringify(sn(r)),g="[".concat(Jt.join(),"]"),v=n?"[".concat(Yt.join(),"]"):"",r&&v.length>0&&h.length+g.length+v.length>65536&&(v=""),m=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:h,a:g,p:v}),r?(w=null,[3,3]):[3,1];case 1:return[4,pt(m)];case 2:w=b.sent(),b.label=3;case 3:return L(2,(y=w)?y.length:m.length),se(m,y,on.sequence,r,e),Jt=[],n&&(Yt=[],$t=0,Qt=0,ne=!1),[2]}}))}))}function se(t,e,n,r,a){if(void 0===r&&(r=!1),"string"==typeof i.upload){var o=i.upload,u=!1;if(r&&navigator&&navigator.sendBeacon)try{(u=navigator.sendBeacon.bind(navigator)(o,t))&&de(n)}catch(t){}if(!1===u){n in Wt?Wt[n].attempts++:Wt[n]={data:t,attempts:1};var c=new XMLHttpRequest;c.open("POST",o,!0),c.timeout=15e3,c.ontimeout=function(){dn(new Error("".concat("Timeout"," : ").concat(o)))},null!==n&&(c.onreadystatechange=function(){fn(le)(c,n)}),c.withCredentials=!0,e?(c.setRequestHeader("Accept","application/x-clarity-gzip"),c.send(e)):c.send(t)}}else if(i.upload){(0,i.upload)(t,a),de(n)}}function le(t,e){var n=Wt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ge(6):(0===t.status&&(i.upload=i.fallback?i.fallback:i.upload),Ft={sequence:e,attempts:n.attempts,status:t.status},fe(2),se(n.data,null,e)):(Ft={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&fe(2),200===t.status&&t.responseText&&function(t){for(var e=t&&t.length>0?t.split("\n"):[],n=0,r=e;n<r.length;n++){var a=r[n],o=a&&a.length>0?a.split(/ (.*)/):[""];switch(o[0]){case"END":ge(6);break;case"UPGRADE":Q("Auto");break;case"ACTION":i.action&&o.length>1&&i.action(o[1]);break;case"EXTRACT":case"MODULE":o.length>1&&o[1];break;case"SIGNAL":o.length>1&&Pt(o[1]);break;case"SNAPSHOT":i.lean=!1,Gt()}}}(t.responseText),0===t.status&&(se(n.data,null,e,!0),ge(3)),t.status>=200&&t.status<=208&&de(e),delete Wt[e]))}function de(t){1===t&&($e(),Qe())}function fe(t){var e=[l(),t];switch(t){case 4:var n=E;n&&n.data&&((e=[n.time,n.event]).push(n.data.visible),e.push(n.data.docWidth),e.push(n.data.docHeight),e.push(n.data.screenWidth),e.push(n.data.screenHeight),e.push(n.data.scrollX),e.push(n.data.scrollY),e.push(n.data.pointerX),e.push(n.data.pointerY),e.push(n.data.activityTime),e.push(n.data.scrollTime),e.push(n.data.pointerTime),e.push(n.data.moveX),e.push(n.data.moveY),e.push(n.data.moveTime),e.push(n.data.downX),e.push(n.data.downY),e.push(n.data.downTime),e.push(n.data.upX),e.push(n.data.upY),e.push(n.data.upTime),e.push(n.data.pointerPrevX),e.push(n.data.pointerPrevY),e.push(n.data.pointerPrevTime),e.push(n.data.modules),ae(e,!1));break;case 25:e.push(D.gap),ae(e);break;case 35:e.push(Kt.check),ae(e,!1);break;case 3:e.push(K.key),ae(e);break;case 2:e.push(Ft.sequence),e.push(Ft.attempts),e.push(Ft.status),ae(e,!1);break;case 24:A.key&&e.push(A.key),e.push(A.value),ae(e);break;case 34:var r=Object.keys(rt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(rt[i])}ct(),ae(e,!1)}break;case 0:var u=Object.keys(X);if(u.length>0){for(var c=0,s=u;c<s.length;c++){var d=s[c],f=parseInt(d,10);e.push(f),e.push(Math.round(X[d]))}X={},ae(e,!1)}break;case 1:var p=Object.keys(we);if(p.length>0){for(var h=0,g=p;h<g.length;h++){var v=g[h];f=parseInt(v,10);e.push(f),e.push(we[v])}Ee(),ae(e,!1)}break;case 36:var m=Object.keys(O);if(m.length>0){for(var y=0,w=m;y<w.length;y++){var b=w[y];f=parseInt(b,10);e.push(f),e.push([].concat.apply([],O[b]))}ae(e,!1)}break;case 40:x.forEach((function(t){e.push(t);var n=[];for(var r in O[t]){var a=parseInt(r,10);n.push(a),n.push(O[t][r])}e.push(n)})),ae(e,!1);break;case 47:e.push(Oe.source),e.push(Oe.ad_Storage),e.push(Oe.analytics_Storage),ae(e,!1)}}function pe(){Kt={check:0}}function he(t){if(0===Kt.check){var e=Kt.check;e=on.sequence>=128?1:e,e=on.pageNum>=128?7:e,e=l()>72e5?2:e,(e=t>10485760?2:e)!==Kt.check&&ge(e)}}function ge(t){Kt.check=t,5!==t&&(Ke(),ar())}function ve(){0!==Kt.check&&fe(35)}function me(){Kt=null}var ye=null,we=null,be=!1;function _e(){ye={},we={},be=!1}function Se(){ye={},we={},be=!1}function ke(t,e){if(e&&(e="".concat(e),t in ye||(ye[t]=[]),ye[t].indexOf(e)<0)){if(ye[t].length>128)return void(be||(be=!0,ge(5)));ye[t].push(e),t in we||(we[t]=[]),we[t].push(e)}}function Ie(){fe(1)}function Ee(){we={},be=!1}var Oe=null,Te=!0;function xe(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;Te=!0,(null==e?void 0:e.addListener)&&e.addListener(["ad_storage","analytics_storage"],Ce)}function Me(){Te=!0}function Ce(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState)try{var n=e.getConsentState("analytics_storage");We(function(t){var e={source:2,ad_Storage:1===t.ad_Storage?"granted":"denied",analytics_Storage:1===t.analytics_Storage?"granted":"denied"};return e}({ad_Storage:e.getConsentState("ad_storage"),analytics_Storage:n}))}catch(t){return}}function Ne(t){ze(t.analytics_Storage?1:0),Oe=t}function je(){ze(2)}function ze(t){ke(36,t.toString())}function Pe(t){Oe=t,fe(47)}function Ae(){var t;if(Te&&(fe(47),Te=!1,!i.track)){var e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;(null==e?void 0:e.usedUpdate)&&Ce()}}var qe=null,De=[],Re=0,Xe=null,He=!1,Le={source:7,ad_Storage:"denied",analytics_Storage:"denied"};function Ue(){var t,e,n,r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(n="undefined"!=typeof Intl&&(null===(e=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===e?void 0:e.timeZone))&&void 0!==n?n:"",o=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Re=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:en(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=wt("_clsk",!i.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-nn(n[1])<18e5&&(t.session=n[0],t.count=nn(n[2])+1,t.upgrade=nn(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=rn(),d=i.projectId||function(t,e){void 0===e&&(e=null);for(var n,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return n=Math.abs(r+11579*a),(e?n%Math.pow(2,e):n).toString(36)}(location.host),f=i.externalSession&&i.userId?i.userId:l.id,p=i.externalSession&&i.sessionId?i.sessionId:s.session;qe={projectId:d,userId:f,sessionId:p,pageNum:s.count},i.lean=i.track&&null!==s.upgrade?0===s.upgrade:i.lean,i.upload=i.track&&"string"==typeof i.upload&&s.upload&&s.upload.length>"https://".length?s.upload:i.upload,ke(0,r),ke(3,c),ke(1,w(location.href,!!Re)),ke(2,document.referrer),ke(15,function(){var t=en();if(i.track&&gt(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),ke(16,document.documentElement.lang),ke(17,document.dir),ke(26,"".concat(window.devicePixelRatio)),ke(28,l.dob.toString()),ke(29,l.version.toString()),ke(33,u),ke(34,a),ke(35,o),U(0,s.ts),U(1,0),U(35,Re);var h,g=null===window||void 0===window?void 0:window.Zone;g&&"__symbol__"in g&&U(39,1),navigator&&(ke(9,navigator.language),U(33,navigator.hardwareConcurrency),U(32,navigator.maxTouchPoints),U(34,Math.round(navigator.deviceMemory)),(h=navigator.userAgentData)&&h.getHighEntropyValues?h.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;ke(22,t.platform),ke(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){ke(24,t.name+"~"+t.version)})),ke(25,t.model),U(27,t.mobile?1:0)})):ke(22,navigator.platform)),screen&&(U(14,Math.round(screen.width)),U(15,Math.round(screen.height)),U(16,Math.round(screen.colorDepth))),null===Xe&&(Xe={source:l.consent?6:0,ad_Storage:i.track?"granted":"denied",analytics_Storage:i.track?"granted":"denied"}),Ge(),Ne(Ze(Xe)),i.externalSession||tn(l)}function Ge(){if(!He&&"granted"===(null==Xe?void 0:Xe.analytics_Storage)&&"granted"===(null==Xe?void 0:Xe.ad_Storage)){for(var t=0,e=i.cookies;t<e.length;t++){var n=e[t],r=wt(n);r&&at(n,r)}He=!0}}function Be(){qe=null,He=!1,De.forEach((function(t){t.called=!1}))}function Ve(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=i.lean?0:1,o=!1;qe&&(a||!1===e)&&(t(qe,!i.lean,r?Xe:void 0),o=!0),!n&&o||De.push({callback:t,wait:e,recall:n,called:o,consentInfo:r})}function Ye(){return qe?[qe.userId,qe.sessionId,qe.pageNum].join("."):""}function Je(t){void 0===t&&(t=!0),We(t?{source:4,ad_Storage:"granted",analytics_Storage:"granted"}:{source:4,ad_Storage:"denied",analytics_Storage:"denied"})}function We(t,e){var n;if(void 0===t&&(t=Le),void 0===e&&(e=5),zn()){var r={source:null!==(n=t.source)&&void 0!==n?n:e,ad_Storage:Fe(t.ad_Storage,null==Xe?void 0:Xe.ad_Storage),analytics_Storage:Fe(t.analytics_Storage,null==Xe?void 0:Xe.analytics_Storage)};if(Xe&&r.ad_Storage===Xe.ad_Storage&&r.analytics_Storage===Xe.analytics_Storage)return Xe.source=r.source,Pe(Ze(Xe)),void je();Xe=r,Qe(!0);var a=Ze(Xe);if(!a.analytics_Storage&&i.track)return i.track=!1,Ke(!0),ar(),void window.setTimeout(rr,250);zn()&&a.analytics_Storage&&(i.track=!0,tn(rn(),1),$e()),Ge(),Pe(a),je()}}function Ze(t){var e;return{source:null!==(e=t.source)&&void 0!==e?e:255,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Fe(t,e){return void 0===e&&(e="denied"),"string"==typeof t?t.toLowerCase():e}function Ke(t){void 0===t&&(t=!1),bt("_clsk","",0),t&&bt("_clck","",0)}function Qe(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(De.length>0)for(var n=0;n<De.length;n++){var r=De[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(qe,!i.lean,r.consentInfo?Xe:void 0),r.called=!0,r.recall||(De.splice(n,1),n--))}}(i.lean?0:1,t)}function $e(){if(qe&&i.track&&!i.externalSession){var t=Math.round(Date.now()),e=i.upload&&"string"==typeof i.upload?i.upload.replace("https://",""):"",n=i.lean?0:1;bt("_clsk",[qe.sessionId,t,qe.pageNum,n,e].join(yt),1)}}function tn(t,e){void 0===e&&(e=null),e=null===e?t.consent:e;var n=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===i.dob?0:i.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&bt("_clck",[qe.userId,2,n.toString(36),e,r].join(yt),365)}function en(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function nn(t,e){return void 0===e&&(e=10),parseInt(t,e)}function rn(){var t={id:en(),version:0,expiry:null,consent:0,dob:0},e=wt("_clck",!i.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=nn(n[1])),n.length>2&&(t.expiry=nn(n[2],36)),n.length>3&&1===nn(n[3])&&(t.consent=1),n.length>4&&nn(n[1])>1&&(t.dob=nn(n[4])),i.track=i.track||1===t.consent,t.id=i.track?n[0]:t.id}return t}var an,on=null;function un(){var t=qe;on={version:d,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function cn(){on=null}function sn(t){return on.start=on.start+on.duration,on.duration=l()-on.start,on.sequence++,on.upload=t&&"sendBeacon"in navigator?1:0,on.end=t?1:0,on.applicationPlatform=0,on.url=w(location.href,!1,!0),[on.version,on.sequence,on.start,on.duration,on.projectId,on.userId,on.sessionId,on.pageNum,on.upload,on.end,on.applicationPlatform,on.url]}function ln(){an=[]}function dn(t){if(an&&-1===an.indexOf(t.message)){var e=i.report;if(e&&e.length>0&&on){var n={v:on.version,p:on.projectId,u:on.userId,s:on.sessionId,n:on.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;r.open("POST",e,!0),r.send(JSON.stringify(n)),an.push(t.message)}}return t}function fn(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw dn(t)}var n=performance.now()-e;L(4,n),n>30&&(H(7),U(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var pn=new Map;function hn(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=fn(n);try{t[u("addEventListener")](e,n,{capture:r,passive:a}),function(t){return pn.has(t)}(t)||pn.set(t,[]),pn.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function gn(){pn.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[u("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),pn.delete(e)}(t,e)})),pn=new Map}var vn=null,mn=null,yn=null,wn=0;function bn(){return!(wn++>20)}function _n(){wn=0,yn!==kn()&&(ar(),window.setTimeout(Sn,250))}function Sn(){rr(),U(29,1)}function kn(){return location.href?location.href.replace(location.hash,""):location.href}var In=[],En=null,On=null,Tn=null;function xn(){In=[],En=null,On=null}function Mn(){var t=In.shift();t&&(En=t,t.task().then((function(){t.id===Ye()&&(t.resolve(),En=null,Mn())})).catch((function(e){t.id===Ye()&&(e&&(e.name,e.message,e.stack),En=null,Mn())})))}var Cn=!1;function Nn(){Cn=!0,c=s(),xn(),gn(),ln(),function(){if(yn=kn(),wn=0,hn(window,"popstate",_n),null===vn)try{vn=history.pushState,history.pushState=function(){vn.apply(this,arguments),zn()&&bn()&&_n()}}catch(t){vn=null}if(null===mn)try{mn=history.replaceState,history.replaceState=function(){mn.apply(this,arguments),zn()&&bn()&&_n()}}catch(t){mn=null}}()}function jn(){yn=null,wn=0,ln(),gn(),xn(),c=0,Cn=!1}function zn(){return Cn}function Pn(){rr(),q("clarityGemX","restart")}var An=null;function qn(){An=null}function Dn(t){An={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){et(this,void 0,void 0,(function(){var e,n;return nt(this,(function(r){return e=l(),n=[e,t],29===t&&(n.push(An.fetchStart),n.push(An.connectStart),n.push(An.connectEnd),n.push(An.requestStart),n.push(An.responseStart),n.push(An.responseEnd),n.push(An.domInteractive),n.push(An.domComplete),n.push(An.loadEventStart),n.push(An.loadEventEnd),n.push(An.redirectCount),n.push(An.size),n.push(An.type),n.push(An.protocol),n.push(An.encodedSize),n.push(An.decodedSize),qn(),ae(n)),[2]}))}))}(29)}var Rn,Xn=0,Hn=1/0,Ln=0,Un=0,Gn=[],Bn=new Map,Vn=function(){return Xn||0},Yn=function(){if(!Gn.length)return-1;var t=Math.min(Gn.length-1,Math.floor((Vn()-Un)/50));return Gn[t].latency},Jn=function(){Un=Vn(),Gn.length=0,Bn.clear()},Wn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Xn=performance.interactionCount:t.interactionId&&(Hn=Math.min(Hn,t.interactionId),Ln=Math.max(Ln,t.interactionId),Xn=Ln?(Ln-Hn)/7+1:0)}(t);var e=Gn[Gn.length-1],n=Bn.get(t.interactionId);if(n||Gn.length<10||t.duration>(null==e?void 0:e.latency)){if(n)t.duration>n.latency&&(n.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Bn.set(r.id,r),Gn.push(r)}Gn.sort((function(t,e){return e.latency-t.latency})),Gn.length>10&&Gn.splice(10).forEach((function(t){return Bn.delete(t.id)}))}}},Zn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Fn(){try{Rn&&Rn.disconnect(),Rn=new PerformanceObserver(fn(Kn));for(var t=0,e=Zn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&L(9,0),Rn.observe({type:n,buffered:!0}))}}catch(t){}}function Kn(t){!function(t){for(var e=(!("visibilityState"in document)||"visible"===document.visibilityState),n=0;n<t.length;n++){var r=t[n];switch(r.entryType){case"navigation":Dn(r);break;case"resource":var a=r.name;ke(4,$n(a)),a!==i.upload&&a!==i.fallback||U(28,r.duration);break;case"longtask":H(7);break;case"first-input":e&&U(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Wn(r),ke(37,Yn().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&L(9,1e3*r.value);break;case"largest-contentful-paint":e&&U(8,r.startTime)}}}(t.getEntries())}var Qn=null;function $n(t){return Qn||(Qn=document.createElement("a")),Qn.href=t,Qn.host}var tr=[P,P,P],er=[P,P,P,Object.freeze({__proto__:null,start:function(){qn(),function(){navigator&&navigator.connection&&ke(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?hn(window,"load",G.bind(this,Fn,0)):Fn())}()},stop:function(){Rn&&Rn.disconnect(),Rn=null,Jn(),Qn=null,qn()}}),P],nr=er;function rr(t){void 0===t&&(t=null),nr="gemx"===(null==t?void 0:t.mode)?tr:er,function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Cn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Cn)return!1;for(var e in t)e in i&&(i[e]=t[e])}(t),Nn(),qt(),nr.forEach((function(t){return fn(t.start)()})),null===t&&cr())}function ar(){zn()&&(nr.slice().reverse().forEach((function(t){return fn(t.stop)()})),Dt(),jn(),void 0!==ir&&(ir[ur]=function(){(ir[ur].q=ir[ur].q||[]).push(arguments),"start"===arguments[0]&&ir[ur].q.unshift(ir[ur].q.pop())&&cr()}))}var or=Object.freeze({__proto__:null,consent:Je,consentv2:We,dlog:ke,event:q,hashText:M,identify:ot,maxMetric:U,measure:fn,metadata:Ve,pause:function(){zn()&&(q("clarityGemX","pause"),null===On&&(On=new Promise((function(t){Tn=t}))))},queue:ae,register:z,resume:function(){zn()&&(On&&(Tn(),On=null,null===En&&Mn()),q("clarityGemX","resume"))},schedule:function(t,e){return void 0===e&&(e=0),et(this,void 0,void 0,(function(){var n,r,a;return nt(this,(function(o){for(n=0,r=In;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){In[1===e?"unshift":"push"]({task:t,resolve:n,id:Ye()})})),null===En&&null===On&&Mn(),[2,a]}))}))},set:at,signal:function(t){zt=t},start:rr,stop:ar,time:l,upgrade:Q,version:d}),ir=window,ur="clarityGemX";function cr(){if(void 0!==ir){if(ir[ur]&&ir[ur].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ir[ur]&&ir[ur].q||[];for(ir[ur]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return or[t].apply(or,e)},ir[ur].v=d;t.length>0;)ir[ur].apply(ir,t.shift())}}cr()}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gemx-dev/clarity-js",
3
- "version": "0.8.88",
3
+ "version": "0.8.90",
4
4
  "description": "Clarity js",
5
5
  "author": "Microsoft Corp.",
6
6
  "license": "MIT",
package/src/clarity.ts CHANGED
@@ -26,7 +26,7 @@ const ALL: Module[] = [diagnostic, layout, interaction, performance, dynamic];
26
26
  let modules: Module[] = ALL;
27
27
 
28
28
  export function start(config: Config = null): void {
29
- modules = config.mode === "gemx" ? GEMX : ALL;
29
+ modules = config?.mode === "gemx" ? GEMX : ALL;
30
30
  // Check that browser supports required APIs and we do not attempt to start Clarity multiple times
31
31
  if (core.check()) {
32
32
  core.config(config);
@@ -1,2 +1,2 @@
1
- let version = "0.8.88";
1
+ let version = "0.8.90";
2
2
  export default version;
@@ -2,7 +2,7 @@ import { Token } from "@clarity-types/data";
2
2
 
3
3
  // Deferred upload buffer for GemX mode.
4
4
  // Buffers ALL playback events until discoverTrigger conditions are met.
5
- // Scheduling and trigger logic lives in layout/gemx-discover.ts.
5
+ // Scheduling and trigger logic lives in layout/gemx-snapshot.ts.
6
6
  let buffer: Token[][] = [];
7
7
  let bufferBytes = 0;
8
8
  let active = false;
package/src/data/gemx.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { GemXConfig } from "@clarity-types/data";
2
2
 
3
3
  const defaultConfig: GemXConfig = {
4
+ debug: false,
4
5
  excludeClassNames: [],
5
6
  ignoreMutationClassNames: [],
6
7
  discoverTrigger: null,
@@ -10,6 +11,7 @@ let _config: GemXConfig = { ...defaultConfig };
10
11
 
11
12
  export function start(): void {
12
13
  _config = {
14
+ debug: new URLSearchParams(window.location.search).has("gemx_debug") || (window?.GemXHeatmap?.debug ?? false),
13
15
  excludeClassNames: (window?.GemXHeatmap?.excludeClassNames ?? []),
14
16
  ignoreMutationClassNames: (window?.GemXHeatmap?.ignoreMutationClassNames ?? []),
15
17
  discoverTrigger: (window?.GemXHeatmap?.discoverTrigger ?? null),
@@ -27,3 +29,7 @@ export function set(config: Partial<GemXConfig>): void {
27
29
  export function get(): GemXConfig {
28
30
  return _config;
29
31
  }
32
+
33
+ export function isDebug(): boolean {
34
+ return _config.debug;
35
+ }