@gemx-dev/clarity-js 0.8.39 → 0.8.43
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.
- package/build/clarity.extended.js +1 -1
- package/build/clarity.insight.js +1 -1
- package/build/clarity.js +56 -32
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +56 -32
- package/build/clarity.performance.js +1 -1
- package/package.json +2 -3
- package/src/core/dynamic.ts +13 -7
- package/src/core/scrub.ts +2 -0
- package/src/core/version.ts +1 -1
- package/src/data/consent.ts +7 -4
- package/src/data/metadata.ts +12 -9
- package/src/interaction/click.ts +16 -6
- package/src/interaction/encode.ts +3 -0
- package/types/data.d.ts +4 -0
- package/types/interaction.d.ts +3 -0
package/build/clarity.module.js
CHANGED
|
@@ -100,9 +100,9 @@ var clarity = /*#__PURE__*/Object.freeze({
|
|
|
100
100
|
});
|
|
101
101
|
|
|
102
102
|
var w = window;
|
|
103
|
-
var c = "
|
|
103
|
+
var c = "clarityGemX" /* Constant.Clarity */;
|
|
104
104
|
function setup() {
|
|
105
|
-
// Start queuing up calls while Clarity is inactive and we are in a browser enviornment
|
|
105
|
+
// Start queuing up calls while Clarity is inactive and we are in a browser enviornment
|
|
106
106
|
if (typeof w !== "undefined") {
|
|
107
107
|
w[c] = function () {
|
|
108
108
|
(w[c].q = w[c].q || []).push(arguments);
|
|
@@ -194,7 +194,7 @@ function stop$J() {
|
|
|
194
194
|
startTime = 0;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
var version$1 = "0.8.
|
|
197
|
+
var version$1 = "0.8.42";
|
|
198
198
|
|
|
199
199
|
// tslint:disable: no-bitwise
|
|
200
200
|
function hash (input, precision) {
|
|
@@ -578,10 +578,11 @@ var baseline = /*#__PURE__*/Object.freeze({
|
|
|
578
578
|
var data$l = null;
|
|
579
579
|
var updateConsent = true;
|
|
580
580
|
function start$K() {
|
|
581
|
-
var _a
|
|
581
|
+
var _a;
|
|
582
|
+
var ics = (_a = window.google_tag_data) === null || _a === void 0 ? void 0 : _a.ics;
|
|
582
583
|
updateConsent = true;
|
|
583
|
-
if (
|
|
584
|
-
|
|
584
|
+
if (ics === null || ics === void 0 ? void 0 : ics.addListener) {
|
|
585
|
+
ics.addListener(["ad_storage" /* Constant.AdStorage */, "analytics_storage" /* Constant.AnalyticsStorage */], processConsent);
|
|
585
586
|
}
|
|
586
587
|
}
|
|
587
588
|
function stop$H() {
|
|
@@ -622,9 +623,16 @@ function trackConsentv2(consent) {
|
|
|
622
623
|
}
|
|
623
624
|
// Compute function is called every upload, but we only want to send consent data once.
|
|
624
625
|
function compute$f() {
|
|
626
|
+
var _a;
|
|
625
627
|
if (updateConsent) {
|
|
626
628
|
encode$1(47 /* Event.Consent */);
|
|
627
629
|
updateConsent = false;
|
|
630
|
+
if (!config$2.track) {
|
|
631
|
+
var ics = (_a = window.google_tag_data) === null || _a === void 0 ? void 0 : _a.ics;
|
|
632
|
+
if (ics === null || ics === void 0 ? void 0 : ics.usedUpdate) {
|
|
633
|
+
processConsent();
|
|
634
|
+
}
|
|
635
|
+
}
|
|
628
636
|
}
|
|
629
637
|
}
|
|
630
638
|
|
|
@@ -1250,7 +1258,7 @@ var modules$2 = [baseline, dimension, variable, limit, summary, consent$2, metad
|
|
|
1250
1258
|
function start$E() {
|
|
1251
1259
|
// Metric needs to be initialized before we can start measuring. so metric is not wrapped in measure
|
|
1252
1260
|
start$J();
|
|
1253
|
-
modules$2.forEach(function (x) { return x.start(); });
|
|
1261
|
+
modules$2.forEach(function (x) { return measure(x.start)(); });
|
|
1254
1262
|
}
|
|
1255
1263
|
function stop$B() {
|
|
1256
1264
|
// Stop modules in the reverse order of their initialization
|
|
@@ -1391,7 +1399,10 @@ function handler$3(event, root, evt) {
|
|
|
1391
1399
|
trust: evt.isTrusted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */,
|
|
1392
1400
|
isFullText: textInfo.isFullText,
|
|
1393
1401
|
w: l ? l.w : 0,
|
|
1394
|
-
h: l ? l.h : 0
|
|
1402
|
+
h: l ? l.h : 0,
|
|
1403
|
+
tag: getElementAttribute(t, "tagName").substring(0, 10 /* Setting.ClickTag */),
|
|
1404
|
+
class: getElementAttribute(t, "className").substring(0, 50 /* Setting.ClickClass */),
|
|
1405
|
+
id: getElementAttribute(t, "id").substring(0, 25 /* Setting.ClickId */),
|
|
1395
1406
|
}
|
|
1396
1407
|
});
|
|
1397
1408
|
schedule(encode$4.bind(this, event));
|
|
@@ -1427,14 +1438,20 @@ function text(element) {
|
|
|
1427
1438
|
return { text: output, isFullText: isFullText ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
|
|
1428
1439
|
}
|
|
1429
1440
|
function reaction(element) {
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
return 0 /* BooleanFlag.False */;
|
|
1434
|
-
}
|
|
1441
|
+
var tag = getElementAttribute(element, "tagName");
|
|
1442
|
+
if (UserInputTags.indexOf(tag) >= 0) {
|
|
1443
|
+
return 0 /* BooleanFlag.False */;
|
|
1435
1444
|
}
|
|
1436
1445
|
return 1 /* BooleanFlag.True */;
|
|
1437
1446
|
}
|
|
1447
|
+
function getElementAttribute(element, attribute) {
|
|
1448
|
+
if (element.nodeType === Node.ELEMENT_NODE) {
|
|
1449
|
+
var attr = element === null || element === void 0 ? void 0 : element[attribute];
|
|
1450
|
+
var value = typeof attr === "string" ? attr === null || attr === void 0 ? void 0 : attr.toLowerCase() : "";
|
|
1451
|
+
return value;
|
|
1452
|
+
}
|
|
1453
|
+
return "";
|
|
1454
|
+
}
|
|
1438
1455
|
function layout$1(element) {
|
|
1439
1456
|
var box = null;
|
|
1440
1457
|
var de = document.documentElement;
|
|
@@ -3752,7 +3769,6 @@ function updateSelector(value) {
|
|
|
3752
3769
|
var s = { id: value.id, tag: d.tag, prefix: prefix, position: p, attributes: d.attributes };
|
|
3753
3770
|
value.selector = [get$1(s, 0 /* Selector.Alpha */), get$1(s, 1 /* Selector.Beta */)];
|
|
3754
3771
|
value.hash = value.selector.map(function (x) { return x ? hash(x) : null; });
|
|
3755
|
-
console.log("\uD83D\uDE80 \uD83D\uDC25 ~ updateSelector ~ value.hash:", value.hash);
|
|
3756
3772
|
value.hash.forEach(function (h) { return hashMap[h] = value.id; });
|
|
3757
3773
|
}
|
|
3758
3774
|
function hashText(hash) {
|
|
@@ -3802,7 +3818,7 @@ function remove(id, source) {
|
|
|
3802
3818
|
}
|
|
3803
3819
|
function removeNodeFromNodesMap(id) {
|
|
3804
3820
|
var nodeToBeRemoved = nodesMap.get(id);
|
|
3805
|
-
// Shadow dom roots shouldn't be deleted,
|
|
3821
|
+
// Shadow dom roots shouldn't be deleted,
|
|
3806
3822
|
// we should keep listening to the mutations there even they're not rendered in the DOM.
|
|
3807
3823
|
if ((nodeToBeRemoved === null || nodeToBeRemoved === void 0 ? void 0 : nodeToBeRemoved.nodeType) === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
3808
3824
|
return;
|
|
@@ -3824,7 +3840,7 @@ function updateImageSize(value) {
|
|
|
3824
3840
|
// If this element is a image node, and is masked, then track box model for the current element
|
|
3825
3841
|
if (value.data.tag === "IMG" /* Constant.ImageTag */ && value.metadata.privacy === 3 /* Privacy.TextImage */) {
|
|
3826
3842
|
var img_1 = getNode(value.id);
|
|
3827
|
-
// We will not capture the natural image dimensions until it loads.
|
|
3843
|
+
// We will not capture the natural image dimensions until it loads.
|
|
3828
3844
|
if (img_1 && (!img_1.complete || img_1.naturalWidth === 0)) {
|
|
3829
3845
|
// This will trigger mutation to update the original width and height after image loads.
|
|
3830
3846
|
bind(img_1, 'load', function () {
|
|
@@ -4081,7 +4097,6 @@ function encode$4 (type, ts) {
|
|
|
4081
4097
|
for (_b = 0, _c = state$9; _b < _c.length; _b++) {
|
|
4082
4098
|
entry = _c[_b];
|
|
4083
4099
|
cTarget = metadata$2(entry.data.target, entry.event, entry.data.text);
|
|
4084
|
-
console.log("\uD83D\uDE80 \uD83D\uDC25 ~ cTarget:", cTarget);
|
|
4085
4100
|
tokens = [entry.time, entry.event];
|
|
4086
4101
|
cHash = cTarget.hash ? cTarget.hash.join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
4087
4102
|
tokens.push(cTarget.id);
|
|
@@ -4099,6 +4114,9 @@ function encode$4 (type, ts) {
|
|
|
4099
4114
|
tokens.push(entry.data.isFullText);
|
|
4100
4115
|
tokens.push(entry.data.w);
|
|
4101
4116
|
tokens.push(entry.data.h);
|
|
4117
|
+
tokens.push(entry.data.tag);
|
|
4118
|
+
tokens.push(entry.data.class);
|
|
4119
|
+
tokens.push(entry.data.id);
|
|
4102
4120
|
queue(tokens);
|
|
4103
4121
|
track$2(entry.time, entry.event, cHash, entry.data.x, entry.data.y, entry.data.reaction, entry.data.context);
|
|
4104
4122
|
}
|
|
@@ -5463,10 +5481,12 @@ function start$8() {
|
|
|
5463
5481
|
}
|
|
5464
5482
|
}
|
|
5465
5483
|
// Track consent config
|
|
5466
|
-
consentStatus
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5484
|
+
if (consentStatus === null) {
|
|
5485
|
+
consentStatus = {
|
|
5486
|
+
ad_Storage: config$2.track ? "granted" /* Constant.Granted */ : "denied" /* Constant.Denied */,
|
|
5487
|
+
analytics_Storage: config$2.track ? "granted" /* Constant.Granted */ : "denied" /* Constant.Denied */,
|
|
5488
|
+
};
|
|
5489
|
+
}
|
|
5470
5490
|
var consent = getConsentData(consentStatus, 0 /* ConsentSource.Implicit */);
|
|
5471
5491
|
config$1(consent);
|
|
5472
5492
|
// Track ids using a cookie if configuration allows it
|
|
@@ -5491,7 +5511,6 @@ function userAgentData() {
|
|
|
5491
5511
|
function stop$8() {
|
|
5492
5512
|
rootDomain = null;
|
|
5493
5513
|
data$2 = null;
|
|
5494
|
-
consentStatus = null;
|
|
5495
5514
|
callbacks.forEach(function (cb) { cb.called = false; });
|
|
5496
5515
|
}
|
|
5497
5516
|
function metadata(cb, wait, recall, consentInfo) {
|
|
@@ -5528,13 +5547,19 @@ function consent(status) {
|
|
|
5528
5547
|
function consentv2(consentState, source) {
|
|
5529
5548
|
if (consentState === void 0) { consentState = defaultStatus; }
|
|
5530
5549
|
if (source === void 0) { source = 1 /* ConsentSource.API */; }
|
|
5531
|
-
|
|
5550
|
+
var updatedStatus = {
|
|
5532
5551
|
ad_Storage: normalizeConsent(consentState.ad_Storage),
|
|
5533
5552
|
analytics_Storage: normalizeConsent(consentState.analytics_Storage)
|
|
5534
5553
|
};
|
|
5554
|
+
if (consentStatus &&
|
|
5555
|
+
updatedStatus.ad_Storage === consentStatus.ad_Storage &&
|
|
5556
|
+
updatedStatus.analytics_Storage === consentStatus.analytics_Storage) {
|
|
5557
|
+
return;
|
|
5558
|
+
}
|
|
5559
|
+
consentStatus = updatedStatus;
|
|
5535
5560
|
callback(true);
|
|
5536
5561
|
var consentData = getConsentData(consentStatus, source);
|
|
5537
|
-
if (!consentData.analytics_Storage) {
|
|
5562
|
+
if (!consentData.analytics_Storage && config$2.track) {
|
|
5538
5563
|
config$2.track = false;
|
|
5539
5564
|
setCookie("_clsk" /* Constant.SessionKey */, "" /* Constant.Empty */, -Number.MAX_VALUE);
|
|
5540
5565
|
setCookie("_clck" /* Constant.CookieKey */, "" /* Constant.Empty */, -Number.MAX_VALUE);
|
|
@@ -5542,13 +5567,13 @@ function consentv2(consentState, source) {
|
|
|
5542
5567
|
window.setTimeout(start, 250 /* Setting.RestartDelay */);
|
|
5543
5568
|
return;
|
|
5544
5569
|
}
|
|
5545
|
-
if (active()) {
|
|
5570
|
+
if (active() && consentData.analytics_Storage) {
|
|
5546
5571
|
config$2.track = true;
|
|
5547
5572
|
track(user(), 1 /* BooleanFlag.True */);
|
|
5548
5573
|
save();
|
|
5549
|
-
trackConsentv2(consentData);
|
|
5550
|
-
consent$1();
|
|
5551
5574
|
}
|
|
5575
|
+
trackConsentv2(consentData);
|
|
5576
|
+
consent$1();
|
|
5552
5577
|
}
|
|
5553
5578
|
function getConsentData(consentState, source) {
|
|
5554
5579
|
var consent = {
|
|
@@ -5801,7 +5826,6 @@ function envelope(last) {
|
|
|
5801
5826
|
data$1.end = last ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */;
|
|
5802
5827
|
data$1.applicationPlatform = 0 /* ApplicationPlatform.WebApp */;
|
|
5803
5828
|
data$1.url = url$1(location.href, false, true);
|
|
5804
|
-
console.log("\uD83D\uDE80 \uD83D\uDC25 ~ envelope ~ data.url:", data$1.url);
|
|
5805
5829
|
return [
|
|
5806
5830
|
data$1.version,
|
|
5807
5831
|
data$1.sequence,
|
|
@@ -6029,7 +6053,7 @@ function config(override) {
|
|
|
6029
6053
|
// not holding the session during inactive time periods.
|
|
6030
6054
|
function suspend() {
|
|
6031
6055
|
if (status) {
|
|
6032
|
-
event$1("
|
|
6056
|
+
event$1("clarityGemX" /* Constant.Clarity */, "suspend" /* Constant.Suspend */);
|
|
6033
6057
|
stop();
|
|
6034
6058
|
["mousemove", "touchstart"].forEach(function (x) { return bind(document, x, restart); });
|
|
6035
6059
|
["resize", "scroll", "pageshow"].forEach(function (x) { return bind(window, x, restart); });
|
|
@@ -6037,7 +6061,7 @@ function suspend() {
|
|
|
6037
6061
|
}
|
|
6038
6062
|
function restart() {
|
|
6039
6063
|
start();
|
|
6040
|
-
event$1("
|
|
6064
|
+
event$1("clarityGemX" /* Constant.Clarity */, "restart" /* Constant.Restart */);
|
|
6041
6065
|
}
|
|
6042
6066
|
|
|
6043
6067
|
function start$4() {
|
|
@@ -6399,7 +6423,7 @@ function start(config$1) {
|
|
|
6399
6423
|
// performance impact even further. For reference, we are talking single digit milliseconds optimization here, not seconds.
|
|
6400
6424
|
function pause() {
|
|
6401
6425
|
if (active()) {
|
|
6402
|
-
event$1("
|
|
6426
|
+
event$1("clarityGemX" /* Constant.Clarity */, "pause" /* Constant.Pause */);
|
|
6403
6427
|
pause$1();
|
|
6404
6428
|
}
|
|
6405
6429
|
}
|
|
@@ -6407,7 +6431,7 @@ function pause() {
|
|
|
6407
6431
|
function resume() {
|
|
6408
6432
|
if (active()) {
|
|
6409
6433
|
resume$1();
|
|
6410
|
-
event$1("
|
|
6434
|
+
event$1("clarityGemX" /* Constant.Clarity */, "resume" /* Constant.Resume */);
|
|
6411
6435
|
}
|
|
6412
6436
|
}
|
|
6413
6437
|
function stop() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return Wt},get start(){return Bt},get stop(){return Zt},get track(){return Rt}}),e=Object.freeze({__proto__:null,get check(){return te},get compute(){return ne},get data(){return Lt},get start(){return $t},get stop(){return re},get trigger(){return ee}}),n=Object.freeze({__proto__:null,get compute(){return le},get data(){return ae},get log(){return se},get reset(){return de},get start(){return ue},get stop(){return ce},get updates(){return oe}}),r=Object.freeze({__proto__:null,get callback(){return Oe},get callbacks(){return fe},get clear(){return Te},get consent(){return _e},get consentv2(){return Se},get data(){return pe},get electron(){return he},get id(){return ke},get metadata(){return we},get save(){return Me},get shortid(){return Ne},get start(){return ye},get stop(){return be}}),a=Object.freeze({__proto__:null,get data(){return Re},get envelope(){return He},get start(){return Le},get stop(){return Ue}}),o={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};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(){return performance.now()+performance.timeOrigin}function s(t){void 0===t&&(t=null);var e=0===u?c():u,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 l="0.8.39";var d=/\S/gi,p=255,f=!0,h=null,g=null,v=null;function m(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;S();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=f&&null!==v?s.match(v)?s:k(s,"▪","▫"):w(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 _(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):w(t);case"src":case"srcset":case"title":case"alt":return 3===n?"src"===e&&(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return _(t);case"placeholder":return w(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):w(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 k(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 y(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=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[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 w(t){return t.replace(d,"•")}function k(t,e,n){return S(),t?t.replace(g,e).replace(h,n):t}function _(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 S(){if(f&&null===h)try{h=new RegExp("\\p{N}","gu"),g=new RegExp("\\p{L}","gu"),v=new RegExp("\\p{Sc}","gu")}catch(t){f=!1}}var E=[],I=null;function T(){}var O=[];function M(){}function x(){}function C(){}function N(){}function j(){}var z=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:I,event:N,hashText:M,keys:O,log:T,observe:function(){},register:j,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:C,trigger:x}),A=null,P=!0;function q(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState){var n=e.getConsentState("analytics_storage");Se(function(t){var e={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}),2)}}function D(t){L(t.analytics_Storage?1:0),A=t}function R(){L(2)}function L(t){se(36,t.toString())}function U(t){A=t,Qt(47)}function H(){P&&(Qt(47),P=!1)}var X=Object.freeze({__proto__:null,compute:H,config:D,consent:R,get data(){return A},start:function(){var t,e;P=!0,(null===(e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics)||void 0===e?void 0:e.addListener)&&window.google_tag_data.ics.addListener(["ad_storage","analytics_storage"],q)},stop:function(){P=!0},trackConsentv2:U}),V=null;function Y(t,e){pn()&&t&&"string"==typeof t&&t.length<255&&(V=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},Qt(24))}var B,W=null,Z=null;function J(t){t in W||(W[t]=0),t in Z||(Z[t]=0),W[t]++,Z[t]++}function G(t,e){null!==e&&(t in W||(W[t]=0),t in Z||(Z[t]=0),W[t]+=e,Z[t]+=e)}function F(t,e){null!==e&&!1===isNaN(e)&&(t in W||(W[t]=0),(e>W[t]||0===W[t])&&(Z[t]=e,W[t]=e))}function K(t,e,n){return window.setTimeout(Ye(t),e,n)}function Q(t){return window.clearTimeout(t)}var $=0,tt=0,et=null;function nt(){et&&Q(et),et=K(rt,tt),$=s()}function rt(){var t=s();B={gap:t-$},Qt(25),B.gap<3e5?et=K(rt,tt):sn&&(Y("clarity","suspend"),Pn(),["mousemove","touchstart"].forEach((function(t){return We(document,t,fn)})),["resize","scroll","pageshow"].forEach((function(t){return We(window,t,fn)})))}var at=Object.freeze({__proto__:null,get data(){return B},reset:nt,start:function(){tt=6e4,$=0},stop:function(){Q(et),$=0,tt=0}}),ot=null;function it(t){pn()&&o.lean&&(o.lean=!1,ot={key:t},Oe(),Me(),o.upgrade&&o.upgrade(t),Qt(3),o.lite)}var ut=Object.freeze({__proto__:null,get data(){return ot},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),ot=null},stop:function(){ot=null},upgrade:it});function ct(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 st(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 lt=null;function dt(t,e){ft(t,"string"==typeof e?[e]:e)}function pt(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),ct(this,void 0,void 0,(function(){var a,o;return st(this,(function(i){switch(i.label){case 0:return o={},[4,vt(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(k(u.substring(2),"*","*")):k(u,"*","*")),ft("userId",[(a=o).userId]),ft("userHint",[a.userHint]),ft("userType",[mt(t)]),e&&(ft("sessionId",[e]),a.sessionId=e),n&&(ft("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function ft(t,e){if(pn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in lt?lt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);lt[t]=n}}function ht(){Qt(34)}function gt(){lt={}}function vt(t){return ct(this,void 0,void 0,(function(){var e;return st(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 mt(t){return t&&t.indexOf("@")>0?"email":"string"}var yt="CompressionStream"in window;function bt(t){return ct(this,void 0,void 0,(function(){var e,n;return st(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),yt?(e=new ReadableStream({start:function(e){return ct(this,void 0,void 0,(function(){return st(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,wt(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 wt(t){return ct(this,void 0,void 0,(function(){var e,n,r,a,o;return st(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]}}))}))}var kt=null;function _t(t){try{if(!kt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){kt(t)}))}catch(t){}}var St=[z,n,Object.freeze({__proto__:null,compute:ht,get data(){return lt},identify:pt,reset:gt,set:dt,start:function(){gt()},stop:function(){gt()}}),e,z,X,r,a,t,at,ut,z];function Et(){W={},Z={},J(5),St.forEach((function(t){return t.start()}))}function It(){St.slice().reverse().forEach((function(t){return Ye(t.stop)()})),W={},Z={}}function Tt(){ht(),le(),Qt(0),ne(),H()}function Ot(t,e,n){return"".concat(t,"=").concat(m(e,0===t.indexOf("data-")?"data-":t,n))}var Mt=[],xt=1,Ct=null;function Nt(){Mt=[],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=Ct.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=jt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}zt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){ct(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,l,d,p,f,h;return st(this,(function(g){switch(e=s(),n=[e,t],t){case 8:r=I,n.push(r.width),n.push(r.height),r.width,r.height,Wt(n);break;case 43:if((a=Mt).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,l=u.data,d=0,p=["tag","attributes","value"];d<p.length;d++)if(l[f=p[d]])switch(f){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(l[f]);break;case"attributes":for(h in l[f])void 0!==l[f][h]&&n.push(Ot(h,l[f][h],c));break;case"value":n.push(m(l[f],l.tag,c))}Wt(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 jt(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 zt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Ct.has(t)?Ct.get(t):(Ct.set(t,xt),xt++)}(t),a=e?Ct.get(e):null,o=t.previousSibling?Ct.get(t.previousSibling):null;Mt.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 At,Pt,qt,Dt,Rt,Lt,Ut=0,Ht=0,Xt=null,Vt=0,Yt=!1;function Bt(){Dt=!0,Ut=0,Ht=0,Yt=!1,Vt=0,At=[],Pt=[],qt={},Rt=null}function Wt(t,e){if(void 0===e&&(e=!0),Dt){var n=s(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!Yt&&Ht+a.length>10485760&&(Yt=!0):Yt=!1,r){case 5:if(Yt)break;Ut+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(Yt)break;Ht+=a.length,At.push(a);break;default:Pt.push(a)}J(25);var i=function(){var t=!1===o.lean&&Ut>0?100:Re.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();n-Vt>2*i&&(Q(Xt),Xt=null),e&&null===Xt&&(25!==r&&nt(),Xt=K(Jt,i),Vt=n,te(Ht))}}function Zt(){Q(Xt),Jt(!0),Ut=0,Ht=0,Yt=!1,Vt=0,At=[],Pt=[],qt={},Rt=null,Dt=!1}function Jt(t){return void 0===t&&(t=!1),ct(this,void 0,void 0,(function(){var e,n,r,a,i,u,c,s;return st(this,(function(l){switch(l.label){case 0:return Dt?(Xt=null,(e=!1===o.lean&&Ht>0&&(Ht<1048576||Re.sequence>0))&&F(1,1),Tt(),n=!0===t,Re?(r=JSON.stringify(He(n)),a="[".concat(Pt.join(),"]"),i=e?"[".concat(At.join(),"]"):"",n&&i.length>0&&r.length+a.length+i.length>65536&&(i=""),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:i}),n?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,bt(u)];case 2:s=l.sent(),l.label=3;case 3:return G(2,(c=s)?c.length:u.length),Gt(u,c,Re.sequence,n),Pt=[],e&&(At=[],Ht=0,Ut=0,Yt=!1),[2]}}))}))}function Gt(t,e,n,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&navigator&&navigator.sendBeacon)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&Kt(n)}catch(t){}if(!1===i){n in qt?qt[n].attempts++:qt[n]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){Ve(new Error("".concat("Timeout"," : ").concat(a)))},null!==n&&(u.onreadystatechange=function(){Ye(Ft)(u,n)}),u.withCredentials=!0,e?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(e)):u.send(t)}}else if(o.upload){(0,o.upload)(t),Kt(n)}}function Ft(t,e){var n=qt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ee(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),Rt={sequence:e,attempts:n.attempts,status:t.status},Qt(2),Gt(n.data,null,e)):(Rt={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&Qt(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],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":ee(6);break;case"UPGRADE":it("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":case"MODULE":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&_t(i[1]);break;case"SNAPSHOT":o.lean=!1,Nt()}}}(t.responseText),0===t.status&&(Gt(n.data,null,e,!0),ee(3)),t.status>=200&&t.status<=208&&Kt(e),delete qt[e]))}function Kt(t){1===t&&(Me(),Oe())}function Qt(t){var e=[s(),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),Wt(e,!1));break;case 25:e.push(B.gap),Wt(e);break;case 35:e.push(Lt.check),Wt(e,!1);break;case 3:e.push(ot.key),Wt(e);break;case 2:e.push(Rt.sequence),e.push(Rt.attempts),e.push(Rt.status),Wt(e,!1);break;case 24:V.key&&e.push(V.key),e.push(V.value),Wt(e);break;case 34:var r=Object.keys(lt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(lt[i])}gt(),Wt(e,!1)}break;case 0:var u=Object.keys(Z);if(u.length>0){for(var c=0,l=u;c<l.length;c++){var d=l[c],p=parseInt(d,10);e.push(p),e.push(Math.round(Z[d]))}Z={},Wt(e,!1)}break;case 1:var f=Object.keys(oe);if(f.length>0){for(var h=0,g=f;h<g.length;h++){var v=g[h];p=parseInt(v,10);e.push(p),e.push(oe[v])}de(),Wt(e,!1)}break;case 36:var m=Object.keys(I);if(m.length>0){for(var y=0,b=m;y<b.length;y++){var w=b[y];p=parseInt(w,10);e.push(p),e.push([].concat.apply([],I[w]))}Wt(e,!1)}break;case 40:O.forEach((function(t){e.push(t);var n=[];for(var r in I[t]){var a=parseInt(r,10);n.push(a),n.push(I[t][r])}e.push(n)})),Wt(e,!1);break;case 47:e.push(A.source),e.push(A.ad_Storage),e.push(A.analytics_Storage),Wt(e,!1)}}function $t(){Lt={check:0}}function te(t){if(0===Lt.check){var e=Lt.check;e=Re.sequence>=128?1:e,e=Re.pageNum>=128?7:e,e=s()>72e5?2:e,(e=t>10485760?2:e)!==Lt.check&&ee(e)}}function ee(t){Lt.check=t,5!==t&&(Te(),Pn())}function ne(){0!==Lt.check&&Qt(35)}function re(){Lt=null}var ae=null,oe=null,ie=!1;function ue(){ae={},oe={},ie=!1}function ce(){ae={},oe={},ie=!1}function se(t,e){if(e&&(e="".concat(e),t in ae||(ae[t]=[]),ae[t].indexOf(e)<0)){if(ae[t].length>128)return void(ie||(ie=!0,ee(5)));ae[t].push(e),t in oe||(oe[t]=[]),oe[t].push(e)}}function le(){Qt(1)}function de(){oe={},ie=!1}var pe=null,fe=[],he=0,ge=null,ve=null,me={ad_Storage:"denied",analytics_Storage:"denied"};function ye(){var t,e,n;ge=null;var 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:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";he=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:Ne(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=Ae("_clsk",!o.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-je(n[1])<18e5&&(t.session=n[0],t.count=je(n[2])+1,t.upgrade=je(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=ze(),d=o.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);pe={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},o.lean=o.track&&null!==s.upgrade?0===s.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&s.upload&&s.upload.length>"https://".length?s.upload:o.upload,se(0,r),se(3,c),se(1,y(location.href,!!he)),se(2,document.referrer),se(15,function(){var t=Ne();if(o.track&&xe(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),se(16,document.documentElement.lang),se(17,document.dir),se(26,"".concat(window.devicePixelRatio)),se(28,l.dob.toString()),se(29,l.version.toString()),se(33,u),se(34,a),se(35,i),F(0,s.ts),F(1,0),F(35,he);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&F(39,1),navigator&&(se(9,navigator.language),F(33,navigator.hardwareConcurrency),F(32,navigator.maxTouchPoints),F(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;se(22,t.platform),se(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){se(24,t.name+"~"+t.version)})),se(25,t.model),F(27,t.mobile?1:0)})):se(22,navigator.platform)),screen&&(F(14,Math.round(screen.width)),F(15,Math.round(screen.height)),F(16,Math.round(screen.colorDepth)));for(var h=0,g=o.cookies;h<g.length;h++){var v=g[h],m=Ae(v);m&&dt(v,m)}D(Ee(ve={ad_Storage:o.track?"granted":"denied",analytics_Storage:o.track?"granted":"denied"},0)),Ce(l)}function be(){ge=null,pe=null,ve=null,fe.forEach((function(t){t.called=!1}))}function we(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=o.lean?0:1,i=!1;pe&&(a||!1===e)&&(t(pe,!o.lean,r?ve:void 0),i=!0),!n&&i||fe.push({callback:t,wait:e,recall:n,called:i,consentInfo:r})}function ke(){return pe?[pe.userId,pe.sessionId,pe.pageNum].join("."):""}function _e(t){void 0===t&&(t=!0),t?(Se({ad_Storage:"granted",analytics_Storage:"granted"}),R()):Se()}function Se(t,e){void 0===t&&(t=me),void 0===e&&(e=1),ve={ad_Storage:Ie(t.ad_Storage),analytics_Storage:Ie(t.analytics_Storage)},Oe(!0);var n=Ee(ve,e);if(!n.analytics_Storage)return o.track=!1,qe("_clsk","",-Number.MAX_VALUE),qe("_clck","",-Number.MAX_VALUE),Pn(),void window.setTimeout(An,250);pn()&&(o.track=!0,Ce(ze(),1),Me(),U(n),R())}function Ee(t,e){return{source:e,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Ie(t){return"string"==typeof t?t.toLowerCase():"denied"}function Te(){qe("_clsk","",0)}function Oe(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(fe.length>0)for(var n=0;n<fe.length;n++){var r=fe[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(pe,!o.lean,r.consentInfo?ve:void 0),r.called=!0,r.recall||(fe.splice(n,1),n--))}}(o.lean?0:1,t)}function Me(){if(pe&&o.track){var t=Math.round(Date.now()),e=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",n=o.lean?0:1;qe("_clsk",[pe.sessionId,t,pe.pageNum,n,e].join("^"),1)}}function xe(t,e){try{return!!t[e]}catch(t){return!1}}function Ce(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===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&qe("_clck",[pe.userId,2,n.toString(36),e,r].join("^"),365)}function Ne(){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 je(t,e){return void 0===e&&(e=10),parseInt(t,e)}function ze(){var t={id:Ne(),version:0,expiry:null,consent:0,dob:0},e=Ae("_clck",!o.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=je(n[1])),n.length>2&&(t.expiry=je(n[2],36)),n.length>3&&1===je(n[3])&&(t.consent=1),n.length>4&&je(n[1])>1&&(t.dob=je(n[4])),o.track=o.track||1===t.consent,t.id=o.track?n[0]:t.id}return t}function Ae(t,e){var n;if(void 0===e&&(e=!1),xe(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=Pe(o[1]),u=i[0],c=i[1];u;)u=(n=Pe(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function Pe(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}function qe(t,e,n){if((o.track||""==e)&&(navigator&&navigator.cookieEnabled||xe(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===ge){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(ge=".".concat(c[s]).concat(ge||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(ge),Ae(t)===e))return;ge=""}}catch(t){ge=""}document.cookie=ge?"".concat(u).concat(";").concat("domain=").concat(ge):u}}var De,Re=null;function Le(){var t=pe;Re={version:l,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 Ue(){Re=null}function He(t){return Re.start=Re.start+Re.duration,Re.duration=s()-Re.start,Re.sequence++,Re.upload=t&&"sendBeacon"in navigator?1:0,Re.end=t?1:0,Re.applicationPlatform=0,Re.url=y(location.href,!1,!0),console.log("🚀 🐥 ~ envelope ~ data.url:",Re.url),[Re.version,Re.sequence,Re.start,Re.duration,Re.projectId,Re.userId,Re.sessionId,Re.pageNum,Re.upload,Re.end,Re.applicationPlatform,Re.url]}function Xe(){De=[]}function Ve(t){if(console.log("🚀 🐥 ~ report ~ e:",t),De&&-1===De.indexOf(t.message)){var e=o.report;if(console.log("🚀 🐥 ~ report ~ url:",e),e&&e.length>0&&Re){var n={v:Re.version,p:Re.projectId,u:Re.userId,s:Re.sessionId,n:Re.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;console.log("🚀 🐥 ~ report ~ xhr:",r),r.open("POST",e,!0),r.send(JSON.stringify(n)),De.push(t.message)}}return t}function Ye(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw Ve(t)}var n=performance.now()-e;G(4,n),n>30&&(J(7),F(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var Be=new Map;function We(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=Ye(n);try{t[i("addEventListener")](e,n,{capture:r,passive:a}),function(t){return Be.has(t)}(t)||Be.set(t,[]),Be.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function Ze(){Be.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),Be.delete(e)}(t,e)})),Be=new Map}var Je=null,Ge=null,Fe=null,Ke=0;function Qe(){return!(Ke++>20)}function $e(){Ke=0,Fe!==en()&&(Pn(),window.setTimeout(tn,250))}function tn(){An(),F(29,1)}function en(){return location.href?location.href.replace(location.hash,""):location.href}var nn=[],rn=null,an=null,on=null;function un(){nn=[],rn=null,an=null}function cn(){var t=nn.shift();t&&(rn=t,t.task().then((function(){t.id===ke()&&(t.resolve(),rn=null,cn())})).catch((function(e){t.id===ke()&&(e&&(e.name,e.message,e.stack),rn=null,cn())})))}var sn=!1;function ln(){sn=!0,u=c(),un(),Ze(),Xe(),Fe=en(),Ke=0,We(window,"popstate",$e),null===Je&&(Je=history.pushState,history.pushState=function(){Je.apply(this,arguments),pn()&&Qe()&&$e()}),null===Ge&&(Ge=history.replaceState,history.replaceState=function(){Ge.apply(this,arguments),pn()&&Qe()&&$e()})}function dn(){Fe=null,Ke=0,Xe(),Ze(),un(),u=0,sn=!1}function pn(){return sn}function fn(){An(),Y("clarity","restart")}var hn=null;function gn(){hn=null}function vn(t){hn={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){ct(this,void 0,void 0,(function(){var e,n;return st(this,(function(r){return e=s(),n=[e,t],29===t&&(n.push(hn.fetchStart),n.push(hn.connectStart),n.push(hn.connectEnd),n.push(hn.requestStart),n.push(hn.responseStart),n.push(hn.responseEnd),n.push(hn.domInteractive),n.push(hn.domComplete),n.push(hn.loadEventStart),n.push(hn.loadEventEnd),n.push(hn.redirectCount),n.push(hn.size),n.push(hn.type),n.push(hn.protocol),n.push(hn.encodedSize),n.push(hn.decodedSize),gn(),Wt(n)),[2]}))}))}(29)}var mn,yn=0,bn=1/0,wn=0,kn=0,_n=[],Sn=new Map,En=function(){return yn||0},In=function(){if(!_n.length)return-1;var t=Math.min(_n.length-1,Math.floor((En()-kn)/50));return _n[t].latency},Tn=function(){kn=En(),_n.length=0,Sn.clear()},On=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?yn=performance.interactionCount:t.interactionId&&(bn=Math.min(bn,t.interactionId),wn=Math.max(wn,t.interactionId),yn=wn?(wn-bn)/7+1:0)}(t);var e=_n[_n.length-1],n=Sn.get(t.interactionId);if(n||_n.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};Sn.set(r.id,r),_n.push(r)}_n.sort((function(t,e){return e.latency-t.latency})),_n.length>10&&_n.splice(10).forEach((function(t){return Sn.delete(t.id)}))}}},Mn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function xn(){try{mn&&mn.disconnect(),mn=new PerformanceObserver(Ye(Cn));for(var t=0,e=Mn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&G(9,0),mn.observe({type:n,buffered:!0}))}}catch(t){}}function Cn(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":vn(r);break;case"resource":var a=r.name;se(4,jn(a)),a!==o.upload&&a!==o.fallback||F(28,r.duration);break;case"longtask":J(7);break;case"first-input":e&&F(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(On(r),se(37,In().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&G(9,1e3*r.value);break;case"largest-contentful-paint":e&&F(8,r.startTime)}}}(t.getEntries())}var Nn=null;function jn(t){return Nn||(Nn=document.createElement("a")),Nn.href=t,Nn.host}var zn=[z,z,z,Object.freeze({__proto__:null,start:function(){gn(),function(){navigator&&navigator.connection&&se(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?We(window,"load",K.bind(this,xn,0)):xn())}()},stop:function(){mn&&mn.disconnect(),mn=null,Tn(),Nn=null,gn()}}),z];function An(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===sn&&"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||sn)return!1;for(var e in t)e in o&&(o[e]=t[e])}(t),ln(),Et(),zn.forEach((function(t){return Ye(t.start)()})),null===t&&Ln())}function Pn(){pn()&&(zn.slice().reverse().forEach((function(t){return Ye(t.stop)()})),It(),dn(),void 0!==Dn&&(Dn[Rn]=function(){(Dn[Rn].q=Dn[Rn].q||[]).push(arguments),"start"===arguments[0]&&Dn[Rn].q.unshift(Dn[Rn].q.pop())&&Ln()}))}var qn=Object.freeze({__proto__:null,consent:_e,consentv2:Se,dlog:se,event:Y,hashText:M,identify:pt,maxMetric:F,measure:Ye,metadata:we,pause:function(){pn()&&(Y("clarity","pause"),null===an&&(an=new Promise((function(t){on=t}))))},queue:Wt,register:j,resume:function(){pn()&&(an&&(on(),an=null,null===rn&&cn()),Y("clarity","resume"))},schedule:function(t,e){return void 0===e&&(e=0),ct(this,void 0,void 0,(function(){var n,r,a;return st(this,(function(o){for(n=0,r=nn;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){nn[1===e?"unshift":"push"]({task:t,resolve:n,id:ke()})})),null===rn&&null===an&&cn(),[2,a]}))}))},set:dt,signal:function(t){kt=t},start:An,stop:Pn,time:s,upgrade:it,version:l}),Dn=window,Rn="clarity";function Ln(){if(void 0!==Dn){if(Dn[Rn]&&Dn[Rn].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=Dn[Rn]&&Dn[Rn].q||[];for(Dn[Rn]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return qn[t].apply(qn,e)},Dn[Rn].v=l;t.length>0;)Dn[Rn].apply(Dn,t.shift())}}Ln()}();
|
|
1
|
+
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return Bt},get start(){return Yt},get stop(){return Wt},get track(){return Rt}}),e=Object.freeze({__proto__:null,get check(){return te},get compute(){return ne},get data(){return Xt},get start(){return $t},get stop(){return re},get trigger(){return ee}}),n=Object.freeze({__proto__:null,get compute(){return le},get data(){return ae},get log(){return se},get reset(){return de},get start(){return ue},get stop(){return ce},get updates(){return oe}}),r=Object.freeze({__proto__:null,get callback(){return Oe},get callbacks(){return fe},get clear(){return Te},get consent(){return _e},get consentv2(){return Se},get data(){return pe},get electron(){return he},get id(){return ke},get metadata(){return we},get save(){return Me},get shortid(){return Ne},get start(){return ye},get stop(){return be}}),a=Object.freeze({__proto__:null,get data(){return Re},get envelope(){return Ue},get start(){return Xe},get stop(){return Le}}),o={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};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(){return performance.now()+performance.timeOrigin}function s(t){void 0===t&&(t=null);var e=0===u?c():u,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 l="0.8.42";var d=/\S/gi,p=255,f=!0,h=null,g=null,v=null;function m(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;S();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=f&&null!==v?s.match(v)?s:k(s,"▪","▫"):w(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 _(t)}return t;case 2:case 3:switch(e){case"*T":case"data-":return r?b(t):w(t);case"src":case"srcset":case"title":case"alt":return 3===n?"src"===e&&(null==t?void 0:t.startsWith("blob:"))?"blob:":"":t;case"value":case"click":case"input":case"change":return _(t);case"placeholder":return w(t)}break;case 4:switch(e){case"*T":case"data-":return r?b(t):w(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 k(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 y(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=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[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 w(t){return t.replace(d,"•")}function k(t,e,n){return S(),t?t.replace(g,e).replace(h,n):t}function _(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 S(){if(f&&null===h)try{h=new RegExp("\\p{N}","gu"),g=new RegExp("\\p{L}","gu"),v=new RegExp("\\p{Sc}","gu")}catch(t){f=!1}}var E=[],I=null;function T(){}var O=[];function M(){}function x(){}function C(){}function N(){}function j(){}var z=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:I,event:N,hashText:M,keys:O,log:T,observe:function(){},register:j,reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:E,stop:function(){},track:C,trigger:x}),A=null,P=!0;function q(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;if(null==e?void 0:e.getConsentState){var n=e.getConsentState("analytics_storage");Se(function(t){var e={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}),2)}}function D(t){X(t.analytics_Storage?1:0),A=t}function R(){X(2)}function X(t){se(36,t.toString())}function L(t){A=t,Qt(47)}function U(){var t;if(P&&(Qt(47),P=!1,!o.track)){var e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;(null==e?void 0:e.usedUpdate)&&q()}}var H=Object.freeze({__proto__:null,compute:U,config:D,consent:R,get data(){return A},start:function(){var t,e=null===(t=window.google_tag_data)||void 0===t?void 0:t.ics;P=!0,(null==e?void 0:e.addListener)&&e.addListener(["ad_storage","analytics_storage"],q)},stop:function(){P=!0},trackConsentv2:L}),V=null;function G(t,e){pn()&&t&&"string"==typeof t&&t.length<255&&(V=e&&"string"==typeof e&&e.length<255?{key:t,value:e}:{value:t},Qt(24))}var Y,B=null,W=null;function Z(t){t in B||(B[t]=0),t in W||(W[t]=0),B[t]++,W[t]++}function J(t,e){null!==e&&(t in B||(B[t]=0),t in W||(W[t]=0),B[t]+=e,W[t]+=e)}function F(t,e){null!==e&&!1===isNaN(e)&&(t in B||(B[t]=0),(e>B[t]||0===B[t])&&(W[t]=e,B[t]=e))}function K(t,e,n){return window.setTimeout(Ge(t),e,n)}function Q(t){return window.clearTimeout(t)}var $=0,tt=0,et=null;function nt(){et&&Q(et),et=K(rt,tt),$=s()}function rt(){var t=s();Y={gap:t-$},Qt(25),Y.gap<3e5?et=K(rt,tt):sn&&(G("clarityGemX","suspend"),Pn(),["mousemove","touchstart"].forEach((function(t){return Be(document,t,fn)})),["resize","scroll","pageshow"].forEach((function(t){return Be(window,t,fn)})))}var at=Object.freeze({__proto__:null,get data(){return Y},reset:nt,start:function(){tt=6e4,$=0},stop:function(){Q(et),$=0,tt=0}}),ot=null;function it(t){pn()&&o.lean&&(o.lean=!1,ot={key:t},Oe(),Me(),o.upgrade&&o.upgrade(t),Qt(3),o.lite)}var ut=Object.freeze({__proto__:null,get data(){return ot},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),ot=null},stop:function(){ot=null},upgrade:it});function ct(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 st(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 lt=null;function dt(t,e){ft(t,"string"==typeof e?[e]:e)}function pt(t,e,n,r){return void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),ct(this,void 0,void 0,(function(){var a,o;return st(this,(function(i){switch(i.label){case 0:return o={},[4,vt(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(k(u.substring(2),"*","*")):k(u,"*","*")),ft("userId",[(a=o).userId]),ft("userHint",[a.userHint]),ft("userType",[mt(t)]),e&&(ft("sessionId",[e]),a.sessionId=e),n&&(ft("pageId",[n]),a.pageId=n),[2,a]}var u}))}))}function ft(t,e){if(pn()&&t&&e&&"string"==typeof t&&t.length<255){for(var n=(t in lt?lt[t]:[]),r=0;r<e.length;r++)"string"==typeof e[r]&&e[r].length<255&&n.push(e[r]);lt[t]=n}}function ht(){Qt(34)}function gt(){lt={}}function vt(t){return ct(this,void 0,void 0,(function(){var e;return st(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 mt(t){return t&&t.indexOf("@")>0?"email":"string"}var yt="CompressionStream"in window;function bt(t){return ct(this,void 0,void 0,(function(){var e,n;return st(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),yt?(e=new ReadableStream({start:function(e){return ct(this,void 0,void 0,(function(){return st(this,(function(n){return e.enqueue(t),e.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),n=Uint8Array.bind,[4,wt(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 wt(t){return ct(this,void 0,void 0,(function(){var e,n,r,a,o;return st(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]}}))}))}var kt=null;function _t(t){try{if(!kt)return;var e=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);e.forEach((function(t){kt(t)}))}catch(t){}}var St=[z,n,Object.freeze({__proto__:null,compute:ht,get data(){return lt},identify:pt,reset:gt,set:dt,start:function(){gt()},stop:function(){gt()}}),e,z,H,r,a,t,at,ut,z];function Et(){B={},W={},Z(5),St.forEach((function(t){return Ge(t.start)()}))}function It(){St.slice().reverse().forEach((function(t){return Ge(t.stop)()})),B={},W={}}function Tt(){ht(),le(),Qt(0),ne(),U()}function Ot(t,e,n){return"".concat(t,"=").concat(m(e,0===t.indexOf("data-")?"data-":t,n))}var Mt=[],xt=1,Ct=null;function Nt(){Mt=[],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=Ct.get(u)?"*T":r;break;case Node.ELEMENT_NODE:var s=o;n=jt(s),r=["NOSCRIPT","SCRIPT","STYLE"].indexOf(s.tagName)<0?s.tagName:r}zt(o,u,{tag:r,attributes:n,value:a})}}(document),function(t){ct(this,void 0,void 0,(function(){var e,n,r,a,o,i,u,c,l,d,p,f,h;return st(this,(function(g){switch(e=s(),n=[e,t],t){case 8:r=I,n.push(r.width),n.push(r.height),r.width,r.height,Bt(n);break;case 43:if((a=Mt).length>0){for(o=0,i=a;o<i.length;o++)for(u=i[o],c=u.metadata.privacy,l=u.data,d=0,p=["tag","attributes","value"];d<p.length;d++)if(l[f=p[d]])switch(f){case"tag":n.push(u.id),u.parent&&n.push(u.parent),u.previous&&n.push(u.previous),n.push(l[f]);break;case"attributes":for(h in l[f])void 0!==l[f][h]&&n.push(Ot(h,l[f][h],c));break;case"value":n.push(m(l[f],l.tag,c))}Bt(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 jt(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 zt(t,e,n){if(t&&n&&n.tag){var r=function(t){return null===t?null:Ct.has(t)?Ct.get(t):(Ct.set(t,xt),xt++)}(t),a=e?Ct.get(e):null,o=t.previousSibling?Ct.get(t.previousSibling):null;Mt.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 At,Pt,qt,Dt,Rt,Xt,Lt=0,Ut=0,Ht=null,Vt=0,Gt=!1;function Yt(){Dt=!0,Lt=0,Ut=0,Gt=!1,Vt=0,At=[],Pt=[],qt={},Rt=null}function Bt(t,e){if(void 0===e&&(e=!0),Dt){var n=s(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!Gt&&Ut+a.length>10485760&&(Gt=!0):Gt=!1,r){case 5:if(Gt)break;Lt+=a.length;case 37:case 6:case 43:case 45:case 46:case 44:case 51:if(Gt)break;Ut+=a.length,At.push(a);break;default:Pt.push(a)}Z(25);var i=function(){var t=!1===o.lean&&Lt>0?100:Re.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();n-Vt>2*i&&(Q(Ht),Ht=null),e&&null===Ht&&(25!==r&&nt(),Ht=K(Zt,i),Vt=n,te(Ut))}}function Wt(){Q(Ht),Zt(!0),Lt=0,Ut=0,Gt=!1,Vt=0,At=[],Pt=[],qt={},Rt=null,Dt=!1}function Zt(t){return void 0===t&&(t=!1),ct(this,void 0,void 0,(function(){var e,n,r,a,i,u,c,s;return st(this,(function(l){switch(l.label){case 0:return Dt?(Ht=null,(e=!1===o.lean&&Ut>0&&(Ut<1048576||Re.sequence>0))&&F(1,1),Tt(),n=!0===t,Re?(r=JSON.stringify(Ue(n)),a="[".concat(Pt.join(),"]"),i=e?"[".concat(At.join(),"]"):"",n&&i.length>0&&r.length+a.length+i.length>65536&&(i=""),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:i}),n?(s=null,[3,3]):[3,1]):[2]):[2];case 1:return[4,bt(u)];case 2:s=l.sent(),l.label=3;case 3:return J(2,(c=s)?c.length:u.length),Jt(u,c,Re.sequence,n),Pt=[],e&&(At=[],Ut=0,Lt=0,Gt=!1),[2]}}))}))}function Jt(t,e,n,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&navigator&&navigator.sendBeacon)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&Kt(n)}catch(t){}if(!1===i){n in qt?qt[n].attempts++:qt[n]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){Ve(new Error("".concat("Timeout"," : ").concat(a)))},null!==n&&(u.onreadystatechange=function(){Ge(Ft)(u,n)}),u.withCredentials=!0,e?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(e)):u.send(t)}}else if(o.upload){(0,o.upload)(t),Kt(n)}}function Ft(t,e){var n=qt[e];t&&4===t.readyState&&n&&((t.status<200||t.status>208)&&n.attempts<=1?t.status>=400&&t.status<500?ee(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),Rt={sequence:e,attempts:n.attempts,status:t.status},Qt(2),Jt(n.data,null,e)):(Rt={sequence:e,attempts:n.attempts,status:t.status},n.attempts>1&&Qt(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],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":ee(6);break;case"UPGRADE":it("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":case"MODULE":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&_t(i[1]);break;case"SNAPSHOT":o.lean=!1,Nt()}}}(t.responseText),0===t.status&&(Jt(n.data,null,e,!0),ee(3)),t.status>=200&&t.status<=208&&Kt(e),delete qt[e]))}function Kt(t){1===t&&(Me(),Oe())}function Qt(t){var e=[s(),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),Bt(e,!1));break;case 25:e.push(Y.gap),Bt(e);break;case 35:e.push(Xt.check),Bt(e,!1);break;case 3:e.push(ot.key),Bt(e);break;case 2:e.push(Rt.sequence),e.push(Rt.attempts),e.push(Rt.status),Bt(e,!1);break;case 24:V.key&&e.push(V.key),e.push(V.value),Bt(e);break;case 34:var r=Object.keys(lt);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];e.push(i),e.push(lt[i])}gt(),Bt(e,!1)}break;case 0:var u=Object.keys(W);if(u.length>0){for(var c=0,l=u;c<l.length;c++){var d=l[c],p=parseInt(d,10);e.push(p),e.push(Math.round(W[d]))}W={},Bt(e,!1)}break;case 1:var f=Object.keys(oe);if(f.length>0){for(var h=0,g=f;h<g.length;h++){var v=g[h];p=parseInt(v,10);e.push(p),e.push(oe[v])}de(),Bt(e,!1)}break;case 36:var m=Object.keys(I);if(m.length>0){for(var y=0,b=m;y<b.length;y++){var w=b[y];p=parseInt(w,10);e.push(p),e.push([].concat.apply([],I[w]))}Bt(e,!1)}break;case 40:O.forEach((function(t){e.push(t);var n=[];for(var r in I[t]){var a=parseInt(r,10);n.push(a),n.push(I[t][r])}e.push(n)})),Bt(e,!1);break;case 47:e.push(A.source),e.push(A.ad_Storage),e.push(A.analytics_Storage),Bt(e,!1)}}function $t(){Xt={check:0}}function te(t){if(0===Xt.check){var e=Xt.check;e=Re.sequence>=128?1:e,e=Re.pageNum>=128?7:e,e=s()>72e5?2:e,(e=t>10485760?2:e)!==Xt.check&&ee(e)}}function ee(t){Xt.check=t,5!==t&&(Te(),Pn())}function ne(){0!==Xt.check&&Qt(35)}function re(){Xt=null}var ae=null,oe=null,ie=!1;function ue(){ae={},oe={},ie=!1}function ce(){ae={},oe={},ie=!1}function se(t,e){if(e&&(e="".concat(e),t in ae||(ae[t]=[]),ae[t].indexOf(e)<0)){if(ae[t].length>128)return void(ie||(ie=!0,ee(5)));ae[t].push(e),t in oe||(oe[t]=[]),oe[t].push(e)}}function le(){Qt(1)}function de(){oe={},ie=!1}var pe=null,fe=[],he=0,ge=null,ve=null,me={ad_Storage:"denied",analytics_Storage:"denied"};function ye(){var t,e,n;ge=null;var 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:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";he=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:Ne(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},e=Ae("_clsk",!o.includeSubdomains);if(e){var n=e.includes("^")?e.split("^"):e.split("|");n.length>=5&&t.ts-je(n[1])<18e5&&(t.session=n[0],t.count=je(n[2])+1,t.upgrade=je(n[3]),t.upload=n.length>=6?"".concat("https://").concat(n[5],"/").concat(n[4]):"".concat("https://").concat(n[4]))}return t}(),l=ze(),d=o.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);pe={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},o.lean=o.track&&null!==s.upgrade?0===s.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&s.upload&&s.upload.length>"https://".length?s.upload:o.upload,se(0,r),se(3,c),se(1,y(location.href,!!he)),se(2,document.referrer),se(15,function(){var t=Ne();if(o.track&&xe(window,"sessionStorage")){var e=sessionStorage.getItem("_cltk");t=e||t,sessionStorage.setItem("_cltk",t)}return t}()),se(16,document.documentElement.lang),se(17,document.dir),se(26,"".concat(window.devicePixelRatio)),se(28,l.dob.toString()),se(29,l.version.toString()),se(33,u),se(34,a),se(35,i),F(0,s.ts),F(1,0),F(35,he);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&F(39,1),navigator&&(se(9,navigator.language),F(33,navigator.hardwareConcurrency),F(32,navigator.maxTouchPoints),F(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var e;se(22,t.platform),se(23,t.platformVersion),null===(e=t.brands)||void 0===e||e.forEach((function(t){se(24,t.name+"~"+t.version)})),se(25,t.model),F(27,t.mobile?1:0)})):se(22,navigator.platform)),screen&&(F(14,Math.round(screen.width)),F(15,Math.round(screen.height)),F(16,Math.round(screen.colorDepth)));for(var h=0,g=o.cookies;h<g.length;h++){var v=g[h],m=Ae(v);m&&dt(v,m)}null===ve&&(ve={ad_Storage:o.track?"granted":"denied",analytics_Storage:o.track?"granted":"denied"}),D(Ee(ve,0)),Ce(l)}function be(){ge=null,pe=null,fe.forEach((function(t){t.called=!1}))}function we(t,e,n,r){void 0===e&&(e=!0),void 0===n&&(n=!1),void 0===r&&(r=!1);var a=o.lean?0:1,i=!1;pe&&(a||!1===e)&&(t(pe,!o.lean,r?ve:void 0),i=!0),!n&&i||fe.push({callback:t,wait:e,recall:n,called:i,consentInfo:r})}function ke(){return pe?[pe.userId,pe.sessionId,pe.pageNum].join("."):""}function _e(t){void 0===t&&(t=!0),t?(Se({ad_Storage:"granted",analytics_Storage:"granted"}),R()):Se()}function Se(t,e){void 0===t&&(t=me),void 0===e&&(e=1);var n={ad_Storage:Ie(t.ad_Storage),analytics_Storage:Ie(t.analytics_Storage)};if(!ve||n.ad_Storage!==ve.ad_Storage||n.analytics_Storage!==ve.analytics_Storage){ve=n,Oe(!0);var r=Ee(ve,e);if(!r.analytics_Storage&&o.track)return o.track=!1,qe("_clsk","",-Number.MAX_VALUE),qe("_clck","",-Number.MAX_VALUE),Pn(),void window.setTimeout(An,250);pn()&&r.analytics_Storage&&(o.track=!0,Ce(ze(),1),Me()),L(r),R()}}function Ee(t,e){return{source:e,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function Ie(t){return"string"==typeof t?t.toLowerCase():"denied"}function Te(){qe("_clsk","",0)}function Oe(t){void 0===t&&(t=!1),function(t,e){void 0===e&&(e=!1);if(fe.length>0)for(var n=0;n<fe.length;n++){var r=fe[n];r.callback&&(!r.called&&!e||r.consentInfo&&e)&&(!r.wait||t)&&(r.callback(pe,!o.lean,r.consentInfo?ve:void 0),r.called=!0,r.recall||(fe.splice(n,1),n--))}}(o.lean?0:1,t)}function Me(){if(pe&&o.track){var t=Math.round(Date.now()),e=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",n=o.lean?0:1;qe("_clsk",[pe.sessionId,t,pe.pageNum,n,e].join("^"),1)}}function xe(t,e){try{return!!t[e]}catch(t){return!1}}function Ce(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===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(n-t.expiry)>=1||t.consent!==e||t.dob!==r)&&qe("_clck",[pe.userId,2,n.toString(36),e,r].join("^"),365)}function Ne(){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 je(t,e){return void 0===e&&(e=10),parseInt(t,e)}function ze(){var t={id:Ne(),version:0,expiry:null,consent:0,dob:0},e=Ae("_clck",!o.includeSubdomains);if(e&&e.length>0){var n=e.includes("^")?e.split("^"):e.split("|");n.length>1&&(t.version=je(n[1])),n.length>2&&(t.expiry=je(n[2],36)),n.length>3&&1===je(n[3])&&(t.consent=1),n.length>4&&je(n[1])>1&&(t.dob=je(n[4])),o.track=o.track||1===t.consent,t.id=o.track?n[0]:t.id}return t}function Ae(t,e){var n;if(void 0===e&&(e=!1),xe(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=Pe(o[1]),u=i[0],c=i[1];u;)u=(n=Pe(c))[0],c=n[1];return e?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function Pe(t){try{var e=decodeURIComponent(t);return[e!=t,e]}catch(t){}return[!1,t]}function qe(t,e,n){if((o.track||""==e)&&(navigator&&navigator.cookieEnabled||xe(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(e),a=new Date;a.setDate(a.getDate()+n);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===ge){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(ge=".".concat(c[s]).concat(ge||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(ge),Ae(t)===e))return;ge=""}}catch(t){ge=""}document.cookie=ge?"".concat(u).concat(";").concat("domain=").concat(ge):u}}var De,Re=null;function Xe(){var t=pe;Re={version:l,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 Le(){Re=null}function Ue(t){return Re.start=Re.start+Re.duration,Re.duration=s()-Re.start,Re.sequence++,Re.upload=t&&"sendBeacon"in navigator?1:0,Re.end=t?1:0,Re.applicationPlatform=0,Re.url=y(location.href,!1,!0),[Re.version,Re.sequence,Re.start,Re.duration,Re.projectId,Re.userId,Re.sessionId,Re.pageNum,Re.upload,Re.end,Re.applicationPlatform,Re.url]}function He(){De=[]}function Ve(t){if(console.log("🚀 🐥 ~ report ~ e:",t),De&&-1===De.indexOf(t.message)){var e=o.report;if(console.log("🚀 🐥 ~ report ~ url:",e),e&&e.length>0&&Re){var n={v:Re.version,p:Re.projectId,u:Re.userId,s:Re.sessionId,n:Re.pageNum};t.message&&(n.m=t.message),t.stack&&(n.e=t.stack);var r=new XMLHttpRequest;console.log("🚀 🐥 ~ report ~ xhr:",r),r.open("POST",e,!0),r.send(JSON.stringify(n)),De.push(t.message)}}return t}function Ge(t){return function(){var e=performance.now();try{t.apply(this,arguments)}catch(t){throw Ve(t)}var n=performance.now()-e;J(4,n),n>30&&(Z(7),F(6,n),t.dn&&"".concat(t.dn,"-").concat(n))}}var Ye=new Map;function Be(t,e,n,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),n=Ge(n);try{t[i("addEventListener")](e,n,{capture:r,passive:a}),function(t){return Ye.has(t)}(t)||Ye.set(t,[]),Ye.get(t).push({event:e,listener:n,options:{capture:r,passive:a}})}catch(t){}}function We(){Ye.forEach((function(t,e){!function(t,e){t.forEach((function(t){try{e[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),Ye.delete(e)}(t,e)})),Ye=new Map}var Ze=null,Je=null,Fe=null,Ke=0;function Qe(){return!(Ke++>20)}function $e(){Ke=0,Fe!==en()&&(Pn(),window.setTimeout(tn,250))}function tn(){An(),F(29,1)}function en(){return location.href?location.href.replace(location.hash,""):location.href}var nn=[],rn=null,an=null,on=null;function un(){nn=[],rn=null,an=null}function cn(){var t=nn.shift();t&&(rn=t,t.task().then((function(){t.id===ke()&&(t.resolve(),rn=null,cn())})).catch((function(e){t.id===ke()&&(e&&(e.name,e.message,e.stack),rn=null,cn())})))}var sn=!1;function ln(){sn=!0,u=c(),un(),We(),He(),Fe=en(),Ke=0,Be(window,"popstate",$e),null===Ze&&(Ze=history.pushState,history.pushState=function(){Ze.apply(this,arguments),pn()&&Qe()&&$e()}),null===Je&&(Je=history.replaceState,history.replaceState=function(){Je.apply(this,arguments),pn()&&Qe()&&$e()})}function dn(){Fe=null,Ke=0,He(),We(),un(),u=0,sn=!1}function pn(){return sn}function fn(){An(),G("clarityGemX","restart")}var hn=null;function gn(){hn=null}function vn(t){hn={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){ct(this,void 0,void 0,(function(){var e,n;return st(this,(function(r){return e=s(),n=[e,t],29===t&&(n.push(hn.fetchStart),n.push(hn.connectStart),n.push(hn.connectEnd),n.push(hn.requestStart),n.push(hn.responseStart),n.push(hn.responseEnd),n.push(hn.domInteractive),n.push(hn.domComplete),n.push(hn.loadEventStart),n.push(hn.loadEventEnd),n.push(hn.redirectCount),n.push(hn.size),n.push(hn.type),n.push(hn.protocol),n.push(hn.encodedSize),n.push(hn.decodedSize),gn(),Bt(n)),[2]}))}))}(29)}var mn,yn=0,bn=1/0,wn=0,kn=0,_n=[],Sn=new Map,En=function(){return yn||0},In=function(){if(!_n.length)return-1;var t=Math.min(_n.length-1,Math.floor((En()-kn)/50));return _n[t].latency},Tn=function(){kn=En(),_n.length=0,Sn.clear()},On=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?yn=performance.interactionCount:t.interactionId&&(bn=Math.min(bn,t.interactionId),wn=Math.max(wn,t.interactionId),yn=wn?(wn-bn)/7+1:0)}(t);var e=_n[_n.length-1],n=Sn.get(t.interactionId);if(n||_n.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};Sn.set(r.id,r),_n.push(r)}_n.sort((function(t,e){return e.latency-t.latency})),_n.length>10&&_n.splice(10).forEach((function(t){return Sn.delete(t.id)}))}}},Mn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function xn(){try{mn&&mn.disconnect(),mn=new PerformanceObserver(Ge(Cn));for(var t=0,e=Mn;t<e.length;t++){var n=e[t];PerformanceObserver.supportedEntryTypes.indexOf(n)>=0&&("layout-shift"===n&&J(9,0),mn.observe({type:n,buffered:!0}))}}catch(t){}}function Cn(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":vn(r);break;case"resource":var a=r.name;se(4,jn(a)),a!==o.upload&&a!==o.fallback||F(28,r.duration);break;case"longtask":Z(7);break;case"first-input":e&&F(10,r.processingStart-r.startTime);break;case"event":e&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(On(r),se(37,In().toString()));break;case"layout-shift":e&&!r.hadRecentInput&&J(9,1e3*r.value);break;case"largest-contentful-paint":e&&F(8,r.startTime)}}}(t.getEntries())}var Nn=null;function jn(t){return Nn||(Nn=document.createElement("a")),Nn.href=t,Nn.host}var zn=[z,z,z,Object.freeze({__proto__:null,start:function(){gn(),function(){navigator&&navigator.connection&&se(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?Be(window,"load",K.bind(this,xn,0)):xn())}()},stop:function(){mn&&mn.disconnect(),mn=null,Tn(),Nn=null,gn()}}),z];function An(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===sn&&"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||sn)return!1;for(var e in t)e in o&&(o[e]=t[e])}(t),ln(),Et(),zn.forEach((function(t){return Ge(t.start)()})),null===t&&Xn())}function Pn(){pn()&&(zn.slice().reverse().forEach((function(t){return Ge(t.stop)()})),It(),dn(),void 0!==Dn&&(Dn[Rn]=function(){(Dn[Rn].q=Dn[Rn].q||[]).push(arguments),"start"===arguments[0]&&Dn[Rn].q.unshift(Dn[Rn].q.pop())&&Xn()}))}var qn=Object.freeze({__proto__:null,consent:_e,consentv2:Se,dlog:se,event:G,hashText:M,identify:pt,maxMetric:F,measure:Ge,metadata:we,pause:function(){pn()&&(G("clarityGemX","pause"),null===an&&(an=new Promise((function(t){on=t}))))},queue:Bt,register:j,resume:function(){pn()&&(an&&(on(),an=null,null===rn&&cn()),G("clarityGemX","resume"))},schedule:function(t,e){return void 0===e&&(e=0),ct(this,void 0,void 0,(function(){var n,r,a;return st(this,(function(o){for(n=0,r=nn;n<r.length;n++)if(r[n].task===t)return[2];return a=new Promise((function(n){nn[1===e?"unshift":"push"]({task:t,resolve:n,id:ke()})})),null===rn&&null===an&&cn(),[2,a]}))}))},set:dt,signal:function(t){kt=t},start:An,stop:Pn,time:s,upgrade:it,version:l}),Dn=window,Rn="clarityGemX";function Xn(){if(void 0!==Dn){if(Dn[Rn]&&Dn[Rn].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=Dn[Rn]&&Dn[Rn].q||[];for(Dn[Rn]=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return qn[t].apply(qn,e)},Dn[Rn].v=l;t.length>0;)Dn[Rn].apply(Dn,t.shift())}}Xn()}();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gemx-dev/clarity-js",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.43",
|
|
4
4
|
"description": "Clarity js",
|
|
5
5
|
"author": "Microsoft Corp.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,8 +39,7 @@
|
|
|
39
39
|
"build:clean": "del-cli build/*",
|
|
40
40
|
"test": "ts-mocha -p test/tsconfig.test.json test/stub.test.ts",
|
|
41
41
|
"tslint": "tslint --project ./",
|
|
42
|
-
"tslint:fix": "tslint --fix --project ./ --force"
|
|
43
|
-
"release": "npm publish --access public"
|
|
42
|
+
"tslint:fix": "tslint --fix --project ./ --force"
|
|
44
43
|
},
|
|
45
44
|
"husky": {
|
|
46
45
|
"hooks": {
|
package/src/core/dynamic.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Constant } from "@clarity-types/layout";
|
|
2
|
+
import { Constant as DataConstant } from "@clarity-types/data";
|
|
2
3
|
import * as baseline from "@src/data/baseline";
|
|
4
|
+
import { report } from "@src/core/report";
|
|
3
5
|
|
|
4
6
|
let stopCallbacks: (() => void)[] = [];
|
|
5
7
|
let active = false;
|
|
@@ -37,19 +39,23 @@ export function event(signal: string): void {
|
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
|
-
load(parts[0]);
|
|
41
|
-
|
|
42
|
-
if (m) {
|
|
43
|
-
modules.add(m);
|
|
44
|
-
baseline.dynamic(modules);
|
|
45
|
-
}
|
|
42
|
+
load(parts[0], m);
|
|
46
43
|
}
|
|
47
44
|
|
|
48
|
-
function load(url: string): void {
|
|
45
|
+
function load(url: string, mid: number | null): void {
|
|
49
46
|
try {
|
|
50
47
|
const script = document.createElement("script");
|
|
51
48
|
script.src = url;
|
|
52
49
|
script.async = true;
|
|
50
|
+
script.onload = () => {
|
|
51
|
+
if (mid) {
|
|
52
|
+
modules.add(mid);
|
|
53
|
+
baseline.dynamic(modules);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
script.onerror = () => {
|
|
57
|
+
report(new Error(`${DataConstant.Module}: ${url}`));
|
|
58
|
+
};
|
|
53
59
|
document.head.appendChild(script);
|
|
54
60
|
} catch (error) {
|
|
55
61
|
// Do nothing
|
package/src/core/scrub.ts
CHANGED
|
@@ -41,6 +41,8 @@ export function text(value: string, hint: string, privacy: Privacy, mangle: bool
|
|
|
41
41
|
case "srcset":
|
|
42
42
|
case "title":
|
|
43
43
|
case "alt":
|
|
44
|
+
case "href":
|
|
45
|
+
case "xlink:href":
|
|
44
46
|
if (privacy === Privacy.TextImage) {
|
|
45
47
|
if (hint === 'src' && value?.startsWith('blob:')) {
|
|
46
48
|
return 'blob:';
|
package/src/core/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let version = "0.8.
|
|
1
|
+
let version = "0.8.43";
|
|
2
2
|
export default version;
|
package/src/data/consent.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ConsentData, ConsentSource, ConsentState, ConsentType, Constant, Dimension, Event, GCMConsent, GCMConsentState } from "@clarity-types/data";
|
|
2
2
|
import * as dimension from "@src/data/dimension";
|
|
3
3
|
import encode from "./encode";
|
|
4
|
-
import { consentv2 } from "
|
|
4
|
+
import { consentv2 } from "@src/data/metadata";
|
|
5
|
+
import coreConfig from "@src/core/config";
|
|
5
6
|
|
|
6
7
|
export let data: ConsentData = null;
|
|
7
8
|
let updateConsent: boolean = true;
|
|
@@ -67,9 +68,11 @@ export function compute(): void {
|
|
|
67
68
|
if (updateConsent) {
|
|
68
69
|
encode(Event.Consent);
|
|
69
70
|
updateConsent = false;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
if (!coreConfig.track) {
|
|
72
|
+
const ics = window.google_tag_data?.ics;
|
|
73
|
+
if (ics?.usedUpdate) {
|
|
74
|
+
processConsent();
|
|
75
|
+
}
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
}
|
package/src/data/metadata.ts
CHANGED
|
@@ -16,7 +16,7 @@ export let callbacks: MetadataCallbackOptions[] = [];
|
|
|
16
16
|
export let electron = BooleanFlag.False;
|
|
17
17
|
let rootDomain = null;
|
|
18
18
|
let consentStatus: ConsentState = null;
|
|
19
|
-
let defaultStatus: ConsentState = { ad_Storage: Constant.Denied, analytics_Storage: Constant.Denied };
|
|
19
|
+
let defaultStatus: ConsentState = { source: ConsentSource.API, ad_Storage: Constant.Denied, analytics_Storage: Constant.Denied };
|
|
20
20
|
|
|
21
21
|
export function start(): void {
|
|
22
22
|
rootDomain = null;
|
|
@@ -86,13 +86,15 @@ export function start(): void {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
// Track consent config
|
|
89
|
+
// If consent status is not already set, initialize it based on project configuration. Otherwise, use the existing consent status.
|
|
89
90
|
if (consentStatus === null) {
|
|
90
91
|
consentStatus = {
|
|
92
|
+
source: ConsentSource.Implicit,
|
|
91
93
|
ad_Storage: config.track ? Constant.Granted : Constant.Denied,
|
|
92
94
|
analytics_Storage: config.track ? Constant.Granted : Constant.Denied,
|
|
93
95
|
};
|
|
94
96
|
}
|
|
95
|
-
const consent = getConsentData(consentStatus
|
|
97
|
+
const consent = getConsentData(consentStatus);
|
|
96
98
|
trackConsent.config(consent);
|
|
97
99
|
// Track ids using a cookie if configuration allows it
|
|
98
100
|
track(u);
|
|
@@ -150,8 +152,9 @@ export function consent(status = true): void {
|
|
|
150
152
|
|
|
151
153
|
export function consentv2(consentState: ConsentState = defaultStatus, source: number = ConsentSource.API): void {
|
|
152
154
|
const updatedStatus = {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
source: consentState.source ?? source,
|
|
156
|
+
ad_Storage: normalizeConsent(consentState.ad_Storage, consentStatus?.ad_Storage),
|
|
157
|
+
analytics_Storage: normalizeConsent(consentState.analytics_Storage, consentStatus?.analytics_Storage),
|
|
155
158
|
};
|
|
156
159
|
|
|
157
160
|
if (
|
|
@@ -164,7 +167,7 @@ export function consentv2(consentState: ConsentState = defaultStatus, source: nu
|
|
|
164
167
|
|
|
165
168
|
consentStatus = updatedStatus;
|
|
166
169
|
callback(true);
|
|
167
|
-
const consentData = getConsentData(consentStatus
|
|
170
|
+
const consentData = getConsentData(consentStatus);
|
|
168
171
|
|
|
169
172
|
if (!consentData.analytics_Storage && config.track) {
|
|
170
173
|
config.track = false;
|
|
@@ -185,9 +188,9 @@ export function consentv2(consentState: ConsentState = defaultStatus, source: nu
|
|
|
185
188
|
trackConsent.consent();
|
|
186
189
|
}
|
|
187
190
|
|
|
188
|
-
function getConsentData(consentState: ConsentState
|
|
191
|
+
function getConsentData(consentState: ConsentState): ConsentData {
|
|
189
192
|
let consent: ConsentData = {
|
|
190
|
-
source: source,
|
|
193
|
+
source: consentState.source ?? ConsentSource.Implicit,
|
|
191
194
|
ad_Storage: consentState.ad_Storage === Constant.Granted ? BooleanFlag.True : BooleanFlag.False,
|
|
192
195
|
analytics_Storage: consentState.analytics_Storage === Constant.Granted ? BooleanFlag.True : BooleanFlag.False,
|
|
193
196
|
};
|
|
@@ -195,8 +198,8 @@ function getConsentData(consentState: ConsentState, source: ConsentSource): Cons
|
|
|
195
198
|
return consent;
|
|
196
199
|
}
|
|
197
200
|
|
|
198
|
-
function normalizeConsent(value: unknown): string {
|
|
199
|
-
return typeof value === 'string' ? value.toLowerCase() :
|
|
201
|
+
function normalizeConsent(value: unknown, fallback: string = Constant.Denied): string {
|
|
202
|
+
return typeof value === 'string' ? value.toLowerCase() : fallback;
|
|
200
203
|
}
|
|
201
204
|
|
|
202
205
|
export function clear(): void {
|
package/src/interaction/click.ts
CHANGED
|
@@ -71,7 +71,10 @@ function handler(event: Event, root: Node, evt: MouseEvent): void {
|
|
|
71
71
|
trust: evt.isTrusted ? BooleanFlag.True : BooleanFlag.False,
|
|
72
72
|
isFullText: textInfo.isFullText,
|
|
73
73
|
w: l ? l.w : 0,
|
|
74
|
-
h: l ? l.h : 0
|
|
74
|
+
h: l ? l.h : 0,
|
|
75
|
+
tag: getElementAttribute(t, "tagName").substring(0, Setting.ClickTag),
|
|
76
|
+
class: getElementAttribute(t, "className").substring(0, Setting.ClickClass),
|
|
77
|
+
id: getElementAttribute(t, "id").substring(0, Setting.ClickId),
|
|
75
78
|
}
|
|
76
79
|
});
|
|
77
80
|
schedule(encode.bind(this, event));
|
|
@@ -111,15 +114,22 @@ function text(element: Node): TextInfo {
|
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
function reaction(element: Node): BooleanFlag {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return BooleanFlag.False;
|
|
118
|
-
}
|
|
117
|
+
const tag = getElementAttribute(element, "tagName");
|
|
118
|
+
if (UserInputTags.indexOf(tag) >= 0) {
|
|
119
|
+
return BooleanFlag.False;
|
|
119
120
|
}
|
|
120
121
|
return BooleanFlag.True;
|
|
121
122
|
}
|
|
122
123
|
|
|
124
|
+
function getElementAttribute(element: Node, attribute: "tagName" | "className" | "id"): string {
|
|
125
|
+
if (element.nodeType === Node.ELEMENT_NODE) {
|
|
126
|
+
const attr = (element as HTMLElement)?.[attribute];
|
|
127
|
+
const value = typeof attr === "string" ? attr?.toLowerCase() : "";
|
|
128
|
+
return value;
|
|
129
|
+
}
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
|
|
123
133
|
function layout(element: Element): Box {
|
|
124
134
|
let box: Box = null;
|
|
125
135
|
let de = document.documentElement;
|
|
@@ -74,6 +74,9 @@ export default async function (type: Event, ts: number = null): Promise<void> {
|
|
|
74
74
|
tokens.push(entry.data.isFullText);
|
|
75
75
|
tokens.push(entry.data.w);
|
|
76
76
|
tokens.push(entry.data.h);
|
|
77
|
+
tokens.push(entry.data.tag);
|
|
78
|
+
tokens.push(entry.data.class);
|
|
79
|
+
tokens.push(entry.data.id);
|
|
77
80
|
queue(tokens);
|
|
78
81
|
timeline.track(entry.time, entry.event, cHash, entry.data.x, entry.data.y, entry.data.reaction, entry.data.context);
|
|
79
82
|
}
|