{ "version": 3, "sources": ["../../s.ts"], "sourcesContent": ["\uFEFFconst uuid4 = () => {\r\n const ho = (n, p) => n.toString(16).padStart(p, 0); /// Return the hexadecimal text representation of number `n`, padded with zeroes to be of length `p`\r\n const data = crypto.getRandomValues(new Uint8Array(16)); /// Fill the buffer with random data\r\n data[6] = (data[6] & 0xf) | 0x40; /// Patch the 6th byte to reflect a version 4 UUID\r\n data[8] = (data[8] & 0x3f) | 0x80; /// Patch the 8th byte to reflect a variant 1 UUID (version 4 UUIDs are)\r\n const view = new DataView(data.buffer); /// Create a view backed by a 16-byte buffer\r\n return `${ho(view.getUint32(0), 8)}-${ho(view.getUint16(4), 4)}-${ho(view.getUint16(6), 4)}-${ho(view.getUint16(8), 4)}-${ho(view.getUint32(10), 8)}${ho(view.getUint16(14), 4)}`; /// Compile the canonical textual form from the array data\r\n};\r\n\r\nif (document.readyState === \"complete\") { doEverything(); } else {\r\n document.addEventListener(\"DOMContentLoaded\", function () {\r\n doEverything();\r\n });\r\n}\r\n\r\nfunction doEverything() {\r\n var testpage = \"http://localhost:5287/res/testpane.html\"; //this is used for debugging purposes\r\n //don't report stats on localhost\r\n if (location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\" || location.hostname === \"\") {\r\n //unless we are on our debugger page\r\n if (location.href != testpage)\r\n return;\r\n }\r\n\r\n var loadTimeMS = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;\r\n var uid = uuid4();\r\n var deviceType = dType();\r\n var ref = (document.referrer ?? \"\").replace(/https?:\\/\\//,\"\");\r\n ref = ref.replace(/\\?.*$/,\"\");\r\n ref = ref.replace(/#.*$/,\"\");\r\n var data = { deviceType: deviceType, uid: uid, referrer: ref, pathname: window.location.pathname, loadTimeMS: loadTimeMS, isVisible:true };\r\n var msg = JSON.stringify(data);\r\n var msg2send = { method: \"post\", body: msg, headers: { 'Content-Type': 'application/json' }, keepalive: true };\r\n\r\n var ep = \"https://stats.isotropic.us/api/postData\";\r\n if (location.href == testpage) //for testing\r\n ep = \"http://localhost:5287/api/postData\";\r\n\r\n var upd = () => fetch(ep, msg2send);\r\n document.addEventListener('visibilitychange', function () {\r\n if (document.visibilityState == 'hidden') {\r\n data.isVisible = false;\r\n msg = JSON.stringify(data);\r\n msg2send = { method: \"post\", body: msg, headers: { 'Content-Type': 'application/json' }, keepalive: true };\r\n upd();\r\n } else if (document.visibilityState == 'visible') {\r\n data.isVisible = true;\r\n msg = JSON.stringify(data);\r\n msg2send = { method: \"post\", body: msg, headers: { 'Content-Type': 'application/json' }, keepalive: true };\r\n upd();\r\n }\r\n });\r\n setInterval(upd, 60 * 1000);\r\n upd();\r\n}\r\n\r\n\r\nfunction dType(): \"tablet\" | \"mobile\" | \"desktop\" {\r\n const ua = navigator.userAgent;\r\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\r\n return \"tablet\";\r\n }\r\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\r\n return \"mobile\";\r\n }\r\n return \"desktop\";\r\n};"], "mappings": ";;AAAC,MAAM,QAAQ,MAAM;AACjB,UAAM,KAAK,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,CAAC;AACjD,UAAM,OAAO,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC;AACtD,SAAK,KAAM,KAAK,KAAK,KAAO;AAC5B,SAAK,KAAM,KAAK,KAAK,KAAQ;AAC7B,UAAM,OAAO,IAAI,SAAS,KAAK,MAAM;AACrC,WAAO,GAAG,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,UAAU,EAAE,GAAG,CAAC;AAAA,EAClL;AAEA,MAAI,SAAS,eAAe,YAAY;AAAE,iBAAa;AAAA,EAAG,OAAO;AAC7D,aAAS,iBAAiB,oBAAoB,WAAY;AACtD,mBAAa;AAAA,IACjB,CAAC;AAAA,EACL;AAEA,0BAAwB;AAfxB;AAgBI,QAAI,WAAW;AAEf,QAAI,SAAS,aAAa,eAAe,SAAS,aAAa,eAAe,SAAS,aAAa,IAAI;AAEpG,UAAI,SAAS,QAAQ;AACjB;AAAA,IACR;AAEA,QAAI,aAAa,OAAO,YAAY,OAAO,2BAA2B,OAAO,YAAY,OAAO;AAChG,QAAI,MAAM,MAAM;AAChB,QAAI,aAAa,MAAM;AACvB,QAAI,MAAO,gBAAS,aAAT,YAAqB,IAAI,QAAQ,eAAc,EAAE;AAC5D,UAAM,IAAI,QAAQ,SAAQ,EAAE;AAC5B,UAAM,IAAI,QAAQ,QAAO,EAAE;AAC3B,QAAI,OAAO,EAAE,YAAwB,KAAU,UAAU,KAAK,UAAU,OAAO,SAAS,UAAU,YAAwB,WAAU,KAAK;AACzI,QAAI,MAAM,KAAK,UAAU,IAAI;AAC7B,QAAI,WAAW,EAAE,QAAQ,QAAQ,MAAM,KAAK,SAAS,EAAE,gBAAgB,mBAAmB,GAAG,WAAW,KAAK;AAE7G,QAAI,KAAK;AACT,QAAI,SAAS,QAAQ;AACjB,WAAK;AAET,QAAI,MAAM,MAAM,MAAM,IAAI,QAAQ;AAClC,aAAS,iBAAiB,oBAAoB,WAAY;AACtD,UAAI,SAAS,mBAAmB,UAAU;AACtC,aAAK,YAAY;AACjB,cAAM,KAAK,UAAU,IAAI;AACzB,mBAAW,EAAE,QAAQ,QAAQ,MAAM,KAAK,SAAS,EAAE,gBAAgB,mBAAmB,GAAG,WAAW,KAAK;AACzG,YAAI;AAAA,MACR,WAAW,SAAS,mBAAmB,WAAW;AAC9C,aAAK,YAAY;AACjB,cAAM,KAAK,UAAU,IAAI;AACzB,mBAAW,EAAE,QAAQ,QAAQ,MAAM,KAAK,SAAS,EAAE,gBAAgB,mBAAmB,GAAG,WAAW,KAAK;AACzG,YAAI;AAAA,MACR;AAAA,IACJ,CAAC;AACD,gBAAY,KAAK,KAAK,GAAI;AAC1B,QAAI;AAAA,EACR;AAGA,mBAAkD;AAC9C,UAAM,KAAK,UAAU;AACrB,QAAI,mDAAmD,KAAK,EAAE,GAAG;AAC7D,aAAO;AAAA,IACX,WACS,sGAAsG,KAAK,EAAE,GAAG;AACrH,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;", "names": [] }