setTimeout(function() { var results = {} // shows supported speech voices function csh() { if(window["speechSynthesis"]) { var t = window["speechSynthesis"].getVoices(); if(t["length"] > 0) { for(var a = "", e = 0; e < t["length"]; e++) a += t[e]["voiceURI"] + "_" + t[e]["lang"]; results["ssh"] = a } else results["ssh"] = "0" } else results["ssh"] = "n" } // checks if used browser is brave function brave() { if(navigator.brave && navigator.brave.isBrave()) { results["brave"] = true; } else { results["brave"] = false; } } results["userAgent"] = window["navigator"]["userAgent"].replace(/\\|"/g, ""), results["availWidth"] = window["screen"] ? window["screen"]["availWidth"] : -1, results["availHeight"] = window["screen"] ? window["screen"]["availHeight"] : -1, results["width"] = window["screen"] ? window["screen"]["width"] : -1, results["height"] = window["screen"] ? window["screen"]["height"] : -1, results["innerWidth"] = window["innerWidth"] || (document["body"] && "clientWidth" in document["body"] ? document["body"]["clientWidth"] : document["documentElement"] && "clientWidth" in document["documentElement"] ? document["documentElement"]["clientWidth"] : -1), results["innerHeight"] = window["innerHeight"] || (document["body"] && "clientHeight" in document["body"] ? document["body"]["clientHeight"] : document["documentElement"] && "clientHeight" in document["documentElement"] ? document["documentElement"]["clientHeight"] : -1), results["outerWidth"] = "outerWidth" in window && void 0 !== window["outerWidth"] ? window["outerWidth"] : -1, results["colorDepth"] = screen["colorDepth"] ? screen["colorDepth"] : -1, results["pixelDepth"] = screen["pixelDepth"] ? screen["pixelDepth"] : -1; results["addEventListener"] = window["addEventListener"] ? true : false, results["XMLHttpRequest"] = window["XMLHttpRequest"] ? true : false, results["XDomainRequest"] = window["XDomainRequest"] ? true : false, results["emit"] = window["emit"] ? true : false, results["DeviceOrientationEvent"] = window["DeviceOrientationEvent"] ? true : false, results["DeviceMotionEvent"] = window["DeviceMotionEvent"] ? true : false, results["TouchEvent"] = window["TouchEvent"] ? true : false, results["spawn"] = window["spawn"] ? true : false, results["innerWidth1"] = window["innerWidth"] ? true : false, results["outerWidth1"] = window["outerWidth"] ? true : false, results["chrome"] = window["chrome"] ? true : false, results["prototype"] = Function["prototype"]["bind"] ? true : false, results["Buffer"] = window["Buffer"] ? true : false, results["PointerEvent"] = window["PointerEvent"] ? true : false, results["_phantom"] = window["_phantom"] ? true : false, results["domAutomation"] = window["domAutomation"] ? true : false, navigator["productSub"] && (results["psub"] = navigator["productSub"]), navigator["language"] && (results["lang"] = navigator["language"]), navigator["product"] && (results["prod"] = navigator["product"]), results["plugins"] = void 0 !== navigator["plugins"] ? navigator["plugins"]["length"] : -1, results["callPhantom"] = window["callPhantom"] ? true : false, results["documentMode"] = "number" == typeof document["documentMode"] ? true : false, results["chrome1"] = window["chrome"] && window["chrome"]["webstore"] ? true : false, results["onLine"] = navigator["onLine"] ? true : false, results["opera"] = window["opera"] ? true : false, brave(), results["cookieEnabled"] = navigator["cookieEnabled"] ? navigator["cookieEnabled"] : -1, results["javaEnabled"] = navigator["javaEnabled"] ? navigator.javaEnabled() : -1, results["doNotTrack"] = navigator["doNotTrack"] ? navigator["doNotTrack"] : -1, results["InstallTrigger"] = "undefined" != typeof InstallTrigger ? true : false, results["HTMLElement"] = window["HTMLElement"] && Object["prototype"]["toString"].call(window["HTMLElement"]).indexOf("Constructor") > 0 ? true : false, results["RTCPeerConnection"] = "function" == typeof window["RTCPeerConnection"] || "function" == typeof window["mozRTCPeerConnection"] || "function" == typeof window["webkitRTCPeerConnection"] ? true : false, results["mozInnerScreenY"] = "mozInnerScreenY" in window ? window["mozInnerScreenY"] : false, results["vibrate"] = "function" == typeof navigator["vibrate"] ? true : false, results["getBattery"] = "function" == typeof navigator["getBattery"] ? true : false, results["prototype_forEach"] = Array["prototype"]["forEach"] ? true : false, results["FileReader"] = "FileReader" in window ? true : false, results["selenium_value"] = window["$cdc_asdjflasutopfhvcZLmcfl_"] || document["$cdc_asdjflasutopfhvcZLmcfl_"] ? true : false, results["webdriver"] = window["webdriver"] ? true : false, results["webdriver_1"] = null != window["document"]["documentElement"].getAttribute("webdriver") ? true : false, results["webdriver_2"] = void 0 !== navigator["webdriver"] && navigator["webdriver"] ? true : false, results["XPathResult"] = void 0 !== window["XPathResult"] || void 0 !== document["XPathResult"] ? true : false, results["driver"] = null != window["document"]["documentElement"].getAttribute("driver") ? true : false, results["selenium"] = null != window["document"]["documentElement"].getAttribute("selenium") ? true : false; results["services"] = {}, results["services"]["credentials"] = Boolean(navigator["credentials"]), results["services"]["appMinorVersion"] = Boolean(navigator["appMinorVersion"]), results["services"]["bluetooth"] = Boolean(navigator["bluetooth"]), results["services"]["storage"] = Boolean(navigator["storage"]), results["services"]["imul"] = Boolean(Math["imul"]), results["services"]["getGamepads"] = Boolean(navigator["getGamepads"]), results["services"]["getStorageUpdates"] = Boolean(navigator["getStorageUpdates"]), results["services"]["hardwareConcurrency"] = Boolean(navigator["hardwareConcurrency"]), results["services"]["mediaDevices"] = Boolean(navigator["mediaDevices"]), results["services"]["mozAlarms"] = Boolean(navigator["mozAlarms"]), results["services"]["mozConnection"] = Boolean(navigator["mozConnection"]), results["services"]["mozIsLocallyAvailable"] = Boolean(navigator["mozIsLocallyAvailable"]), results["services"]["mozPhoneNumberService"] = Boolean(navigator["mozPhoneNumberService"]), results["services"]["msManipulationViewsEnabled"] = Boolean(navigator["msManipulationViewsEnabled"]), results["services"]["permissions"] = Boolean(navigator["permissions"]), results["services"]["registerProtocolHandler"] = Boolean(navigator["registerProtocolHandler"]), results["services"]["requestMediaKeySystemAccess"] = Boolean(navigator["requestMediaKeySystemAccess"]), results["services"]["requestWakeLock"] = Boolean(navigator["requestWakeLock"]), results["services"]["sendBeacon"] = Boolean(navigator["sendBeacon"]), results["services"]["serviceWorker"] = Boolean(navigator["serviceWorker"]), results["services"]["storeWebWideTrackingException"] = Boolean(navigator["storeWebWideTrackingException"]), results["services"]["webkitGetGamepads"] = Boolean(navigator["webkitGetGamepads"]), results["services"]["webkitTemporaryStorage"] = Boolean(navigator["webkitTemporaryStorage"]), results["services"]["parseInt"] = Boolean(Number["parseInt"]), results["services"]["hypot"] = Boolean(Math["hypot"]); results["hasSessionStorage"] = function() { try { return !!window["sessionStorage"] } catch (t) { return !1 } }(); results["hasLocalStorage"] = function() { try { return !!window["localStorage"] } catch (t) { return !1 } }(); results["hasIndexedDB"] = function() { return !!window["indexedDB"] }(); var plugins = []; for(var i = 0; i < navigator["plugins"].length; i++) { plugins.push(navigator["plugins"][i].name); }; results["plugins_n"] = plugins; results["timezone"] = (new Date).getTimezoneOffset(); csh(); // checks states of user permissions function np() { return new Promise(function(e, a) { var i = []; try { navigator.permissions || e(6); var t = function(e, n) { return navigator.permissions.query({ name: e }).then(function(e) { switch (e.state) { case "prompt": i[n] = 1; break; case "granted": i[n] = 2; break; case "denied": i[n] = 0; break; default: i[n] = 5 } }).catch(function(e) { i[n] = -1 !== e.message.indexOf("is not a valid enum value of type PermissionName") ? 4 : 3 }) }; n = ["geolocation", "notifications", "push", "midi", "camera", "microphone", "speaker", "device-info", "background-sync", "bluetooth", "persistent-storage", "ambient-light-sensor", "accelerometer", "gyroscope", "magnetometer", "clipboard", "accessibility-events", "clipboard-read", "clipboard-write", "payment-handler"].map(function(e, n) { return t(e, n) }), Promise.all(n).then(function() { results["navigatorPerm"] = i.join(""), e() }) } catch (i) { e(7) } }) }; results["navigatorPerm"] = ""; np().then(function() { cVals = []; // creates canvas and grabs results function canvas(t, cb) { var a = -1; var e = document["createElement"]("canvas"); e["width"] = 280; e["height"] = 60; e["style"]["display"] = "none"; if("function" == typeof e["getContext"]) { var n = e["getContext"]("2d"); n["fillStyle"] = "rgb(102, 204, 0)"; n["fillRect"](100, 5, 80, 50); n["fillStyle"] = "#f60"; n["font"] = "16pt Arial"; n["fillText"](t, 10, 40); n["strokeStyle"] = "rgb(120, 186, 176)"; n["arc"](80, 10, 20, 0, Math["PI"], !1); n["stroke"](); var o = e["toDataURL"](); a = 0; for(var m = 0; m < o["length"]; m++) { a = (a << 5) - a + o["charCodeAt"](m), a &= a } a = a["toString"](); function doWork(start, end) { // we want to do 1000 calcs at most end = Math.min(end, 1000) for(var cVal = start; cVal <= end; cVal++) { var r = document["createElement"]("canvas"); r["width"] = 16; r["height"] = 16; var i = r["getContext"]("2d"); i["font"] = "6pt Arial"; i["fillText"](cVal, 1, 12); var c = r["toDataURL"](), b = 0; for(var d = 0; d < c["length"]; d++) { b = (b << 5) - b + c["charCodeAt"](d), b &= b } cVals[cVal] = b["toString"]() } if (end !== 1000) { setTimeout(doWork, 100, end + 1, end + 25) } else { cb() } } setTimeout(doWork, 100, 0, 25) return a; } }; function date_now() { return Date["now"] ? Date["now"]() : +new Date }; // font check #1 function fonts() { var a = []; var e = ["serif", "sans-serif", "monospace"], n = [0, 0, 0], o = [0, 0, 0], m = document["createElement"]("span"); m["innerHTML"] = "abcdefhijklmnopqrstuvxyz1234567890;+-."; m["style"]["fontSize"] = "90px"; var r; for(r = 0; r < e["length"]; r++) { m["style"]["fontFamily"] = e[r]; document["body"]["appendChild"](m); n[r] = m["offsetWidth"]; o[r] = m["offsetHeight"]; document["body"]["removeChild"](m); } for(var i = ["Geneva", "Lobster", "New York", "Century", "Apple Gothic", "Minion Pro", "Apple LiGothic", "Century Gothic", "Monaco", "Lato", "Fantasque Sans Mono", "Adobe Braille", "Cambria", "Futura", "Bell MT", "Courier", "Courier New", "Calibri", "Avenir Next", "Birch Std", "Palatino", "Ubuntu Regular", "Oswald", "Batang", "Ubuntu Medium", "Cantarell", "Droid Serif", "Roboto", "Helvetica Neue", "Corsiva Hebrew", "Adobe Hebrew", "TI-Nspire", "Comic Neue", "Noto", "AlNile", "Palatino-Bold", "ArialHebrew-Light", "Avenir", "Papyrus", "Open Sans", "Times", "Quicksand", "Source Sans Pro", "Damascus", "Microsoft Sans Serif" ], c = [], b = 0; b < i["length"]; b++) { var d = !1; for(r = 0; r < e["length"]; r++) if(m["style"]["fontFamily"] = i[b] + "," + e[r], document["body"]["appendChild"](m), m[ "offsetWidth"] === n[r] && m["offsetHeight"] === o[r] || (d = !0), document["body"][ "removeChild" ]( m), d) { c["push"](b); break } } a = c["sort"]() return a; }; // font check #2 function fonts_optm() { var a = 200, e = date_now(), n = []; var o = ["sans-serif", "monospace"], m = [0, 0], r = [0, 0], i = document["createElement"]("div"); i["style"]["cssText"] = "position: relative; left: -9999px; visibility: hidden; display: block !important"; var c; for(c = 0; c < o["length"]; c++) { var b = document["createElement"]("span"); b["innerHTML"] = "abcdefhijklmnopqrstuvxyz1234567890;+-."; b["style"]["fontSize"] = "90px"; b["style"]["fontFamily"] = o[c]; i["appendChild"](b); } for(document["body"]["appendChild"](i), c = 0; c < i["childNodes"]["length"]; c++) { b = i["childNodes"][c]; m[c] = b["offsetWidth"]; r[c] = b["offsetHeight"]; } document["body"]["removeChild"](i); if(date_now() - e > a) return n; var d = ["Geneva", "Lobster", "New York", "Century", "Apple Gothic", "Minion Pro", "Apple LiGothic", "Century Gothic", "Monaco", "Lato", "Fantasque Sans Mono", "Adobe Braille", "Cambria", "Futura", "Bell MT", "Courier", "Courier New", "Calibri", "Avenir Next", "Birch Std", "Palatino", "Ubuntu Regular", "Oswald", "Batang", "Ubuntu Medium", "Cantarell", "Droid Serif", "Roboto", "Helvetica Neue", "Corsiva Hebrew", "Adobe Hebrew", "TI-Nspire", "Comic Neue", "Noto", "AlNile", "Palatino-Bold", "ArialHebrew-Light", "Avenir", "Papyrus", "Open Sans", "Times", "Quicksand", "Source Sans Pro", "Damascus", "Microsoft Sans Serif" ], k = document["createElement"]("div"); k["style"]["cssText"] = "position: relative; left: -9999px; visibility: hidden; display: block !important"; for(var l = [], s = 0; s < d["length"]; s++) { var u = document["createElement"]("div"); for(c = 0; c < o["length"]; c++) { var b = document["createElement"]("span"); b["innerHTML"] = "abcdefhijklmnopqrstuvxyz1234567890;+-."; b["style"]["fontSize"] = "90px"; b["style"]["fontFamily"] = d[s] + "," + o[c]; u["appendChild"](b) } k["appendChild"](u) } if(date_now() - e > a) { return n; } document["body"]["appendChild"](k); for(var s = 0; s < k["childNodes"]["length"]; s++) { var _ = !1, u = k["childNodes"][s]; for(c = 0; c < u["childNodes"]["length"]; c++) { var b = u["childNodes"][c]; if(b["offsetWidth"] !== m[c] || b["offsetHeight"] !== r[c]) { _ = !0; break } } if(_ && l["push"](s), date_now() - e > a) break } document["body"]["removeChild"](k); n = l["sort"](); return n; }; // calculates execution of selected functions function getmr() { try { if("undefined" == typeof performance || void 0 === performance["now"] || "undefined" == typeof JSON) return void(results["mr"] = "undef"); for(var a = "", t = 1e3, e = [Math["abs"], Math["acos"], Math["asin"], Math["atanh"], Math["cbrt"], Math["exp"], Math["random"], Math["round"], Math["sqrt"], isFinite, isNaN, parseFloat, parseInt, JSON["parse"]], n = 0; n < e["length"]; n++) { var o = [], m = 0, r = performance.now(), i = 0, c = 0; if(void 0 !== e[n]) { for(i = 0; i < t && m < .6; i++) { for(var b = performance.now(), d = 0; d < 4e3; d++) e[n](3.14); var k = performance.now(); o.push(Math.round(1e3 * (k - b))), m = k - r } var s = o.sort(); c = s[Math.floor(s["length"] / 2)] / 5 } a = a + c + "," } results["mr"] = a } catch (a) { results["mr"] = "exception" } }; // font check #3 function fm() { var t = ["Monospace", "Wingdings 2", "ITC Bodoni 72 Bold", "Menlo", "Gill Sans MT", "Lucida Sans", "Bodoni 72", "Serif", "Shree Devanagari 714", "Microsoft Tai Le", "Nimbus Roman No 9 L", "Candara", "Press Start 2P", "Waseem"], a = document.createElement("span"); a["innerHTML"] = "mmmmmmmmlli", a["style"]["fontSize"] = "192px"; var e = "", n = document.getElementsByTagName("body")[0]; if(n) { for(var o in t) a["style"]["fontFamily"] = t[o], n.appendChild(a), e += t[o] + ":" + a["offsetWidth"] + "," + a["offsetHeight"] + ";", n.removeChild(a); results["fmh"] = e } else results["fmh"] = ""; results["fmz"] = "devicePixelRatio" in window && void 0 !== window["devicePixelRatio"] ? window["devicePixelRatio"] : -1 }; // gets browser webgl information function wgl() { try { var t = document.createElement("canvas"), a = t.getContext("webgl"); results["wv"] = "n", results["wr"] = "n", results["weh"] = "n", results["wl"] = 0, a && (results["wv"] = "b", results["wr"] = "b", results["weh"] = "b", a.getSupportedExtensions() && (results["weh"] = JSON.stringify(a.getSupportedExtensions().sort()), results["wl"] = a.getSupportedExtensions()["length"], a.getSupportedExtensions().indexOf("WEBGL_debug_renderer_info") >= 0 && (results["wv"] = a.getParameter(a.getExtension("WEBGL_debug_renderer_info")["UNMASKED_VENDOR_WEBGL"]), results["wr"] = a.getParameter(a.getExtension("WEBGL_debug_renderer_info")["UNMASKED_RENDERER_WEBGL"])))) } catch (t) { results["wv"] = "e", results["wr"] = "e", results["weh"] = "e", results["wl"] = 0 } }; let canvasFinished = [false, false] results["res"] = {}; results["res"]["fonts_optm"] = fonts_optm(); results["res"]["fonts"] = fonts(); results["res"]["value1"] = canvas("<@nv45. F1n63r,Pr1n71n6!", () => { canvasFinished[0] = true }); results["res"]["value2"] = canvas("m,Ev!xV67BaU> eh2m { canvasFinished[1] = true }); results["res"]["cVals"] = cVals; getmr(); fm(); wgl(); csh(); results["pix"] = {} f = window, u = f["document"], d = f["navigator"], b = f["screen"], h = ["Party LET", "Academy Engraved LET", "David", "Palatino Linotype", "Microsoft Sans Serif", "Segoe UI", "Malgun Gothic", "Nirmala UI", "Segoe Pseudo", "Gadugi", "Leelawadee UI Bold", "Sitka Subheading Italic", "Yu Gothic UI Light", "Bahnschrift", "Trattatello", "Skia", "Muna", "PingFang", "San Francisco UI", "San Francisco Mono", "Monotype LingWai Medium", "American Typewriter", "Rockwell", "Al Nile", "Roboto", "Noto", "Ubuntu", "Century Schoolbook L", "URW Chancery L", "URW Gothic L", "URW Bookman L", "Nimbus Mono L", "FreeMono", "FreeSans", "FreeSerif", "Bitstream Vera Sans", "Bitstream Charter", "Liberation Sans", "Liberation Serif", "Liberation Mono", "Luxi", "Nimbus Mono", "Nimbus Sans L", "Nimbus Roman No 9 L", "DejaVu Sans", "MONO", "DB LCD Temp", "Oriya Sangam MN", "Sinhala Sangam MN", "Apple Color Emoji", "Chalkboard", "Andale Mono", "Sitka Banner", "Segoe UI Emoji", "Leelawadee UI", "Vijaya", "Utsaah", "Shonar Bangla", "Aparajita", "Khmer UI", "Franklin Gothic", "MV Boli", "Corbel", "Cambria", "Segoe UI Light", "MS Gothic"]; function setResult(x, y) { results["pix"][x] = y } function e(e) { return "[object Array]" === Object["prototype"]["toString"].call (e) } function p(t, n) { var a, r; return void 0 === t[n] ? 0 : (a = t[n], r = typeof a, !a || e(a) || "object" !== r && "function" !== r ? a : 1) } function n() { var e = null; try { e = d["plugins"] } catch (e) {} return e } function m(e, t, n) { n = n || {}; for (var a = 0, r = t["length"]; a < r; a++) try { n[t[a]] = p(e, t[a]) } catch (e) { n[t[a]] = -1 } return n } function c(e) { var t = 0; if (!e) return t; for (var n = 0; n < e["length"]; n++) { t = (t << 5) - t + e.charCodeAt (n), t &= t } return t } function L(e) { try { var t = f[e], n = "__akfp_storage_test__"; return t.setItem (n, n), t.removeItem (n), !0 } catch (e) { return !1 } } var s = {}; s["hash"] = function(e) { e = e.utf8Encode (); var t = [1518500249, 1859775393, 2400959708, 3395469782]; e += String.fromCharCode (128); for (var n = e["length"] / 4 + 2, a = Math.ceil (n / 16), r = new Array(a), i = 0; i < a; i++) { r[i] = new Array(16); for (var o = 0; o < 16; o++) r[i][o] = e.charCodeAt (64 * i + 4 * o) << 24 | e.charCodeAt (64 * i + 4 * o + 1) << 16 | e.charCodeAt (64 * i + 4 * o + 2) << 8 | e.charCodeAt (64 * i + 4 * o + 3) } r[a - 1][14] = 8 * (e["length"] - 1) / Math.pow (2, 32), r[a - 1][14] = Math.floor (r[a - 1][14]), r[a - 1][15] = 8 * (e["length"] - 1) & 4294967295; for (var c, l, f, u, d, b = 1732584193, h = 4023233417, p = 2562383102, v = 271733878, g = 3285377520, m = new Array(80), i = 0; i < a; i++) { for (var O = 0; O < 16; O++) m[O] = r[i][O]; for (var O = 16; O < 80; O++) m[O] = s.ROTL (m[O - 3] ^ m[O - 8] ^ m[O - 14] ^ m[O - 16], 1); c = b, l = h, f = p, u = v, d = g; for (var O = 0; O < 80; O++) { var S = Math.floor (O / 20), A = s.ROTL (c, 5) + s.f (S, l, f, u) + d + t[S] + m[O] & 4294967295; d = u, u = f, f = s.ROTL (l, 30), l = c, c = A } b = b + c & 4294967295, h = h + l & 4294967295, p = p + f & 4294967295, v = v + u & 4294967295, g = g + d & 4294967295 } return s.toHexStr (b) + s.toHexStr (h) + s.toHexStr (p) + s.toHexStr (v) + s.toHexStr (g) }, s["f"] = function(e, t, n, a) { switch (e) { case 0: return t & n ^ ~t & a; case 1: return t ^ n ^ a; case 2: return t & n ^ t & a ^ n & a; case 3: return t ^ n ^ a } }, s["ROTL"] = function(e, t) { return e << t | e >>> 32 - t }, s["toHexStr"] = function(e) { for (var t, n = "", a = 7; a >= 0; a--) t = e >>> 4 * a & 15, n += t.toString (16); return n }, void 0 === String["prototype"]["utf8Encode"] && (String["prototype"]["utf8Encode"] = function() { return unescape(encodeURIComponent(this)) }), void 0 === String["prototype"]["utf8Decode"] && (String["prototype"]["utf8Decode"] = function() { try { return decodeURIComponent(escape(this)) } catch (e) { return this } }); function bt(e) { try { if (!d["getBattery"]) return void setResult(e, 0); d.getBattery ().then (function(t) { var n = {}; for (var a in t) { var r = t[a]; n[a] = r === 1 / 0 ? "Infinity" : r } try { setResult(e, JSON.stringify(n)) } catch (t) { setResult(e, null) } }) } catch (t) { setResult(e, null) } } function fhfonts(e) { function t(e) { return 'wi wi' } function n(e) { return "
" + t([e, "monospace"]) + t([e, "sans-serif"]) + "
" } function a(e, t) { var n = e["childNodes"][0]["offsetWidth"]; return n !== t || n === e["childNodes"][1]["offsetWidth"] } function r(e, t, r, i, o) { for (var s = "RYelrZVIUa", c = [], l = e["length"], f = "", u = 0; u < l; u++) f += n(t[e[u]]); if (o && (f += n(s)), r["innerHTML"] = f, o && a(r["childNodes"][l], i)) return null; for (u = 0; u < l; u++) a(r["childNodes"][u], i) && c.push (e[u]); return c } try { var l, f = [], d = !0, b = !1, p = (new Date).valueOf (), v = h["length"], g = [], m = [], O = u["body"], S = u.createElement ("div"), A = u.createElement ("div"), j = u.createElement ("div"); S["style"]["cssText"] = "position: relative; left: -9999px; visibility: hidden; display: block !important", A["innerHTML"] = t(["monospace"]), S.appendChild (A), S.appendChild (j), O.insertBefore (S, O["firstChild"]); var w = A["childNodes"][0]["offsetWidth"]; 0 === w && (b = !0); for (var y = 0; y < v; y++) y % 7 == 0 ? g.push (y) : m.push (y); if (l = r(g, h, j, w, !0), null === l ? b = !0 : (new Date).valueOf () - p > 100 ? d = !1 : f = r(m, h, j, w, !1), O.removeChild (S), b) i(e, !1); else { var R = l.concat (f); R.sort (function(e, t) { return e - t }), R += "", setResult(e, R) } } catch (t) { try { O.removeChild (S) } catch (e) {} setResult(e, null) } } function bp(e) { var t = [], a = n(); if (a) for (var r = 0; r < a["length"]; r++) for (var o = 0; o < a[r]["length"]; o++) t.push (c([a[r]["name"], a[r]["description"], a[r]["filename"], a[r][o]["description"], a[r][o]["type"], a[r][o]["suffixes"]].toString ())); setResult(e, t.toString()) } function sr(e) { try { var t = f["innerWidth"], n = f["outerWidth"], a = f["screenX"], r = f["pageXOffset"], o = b["availWidth"], s = b["width"], c = { inner: void 0 !== t ? [t, f["innerHeight"]] : 0, outer: void 0 !== n ? [n, f["outerHeight"]] : 0, screen: void 0 !== a ? [a, f["screenY"]] : 0, pageOffset: void 0 !== r ? [r, f["pageYOffset"]] : 0, avail: void 0 !== o ? [o, b["availHeight"]] : 0, size: void 0 !== s ? [s, b["height"]] : 0, client: u["body"] ? [u["body"]["clientWidth"], u["body"]["clientHeight"]] : -1, colorDepth: b["colorDepth"], pixelDepth: b["pixelDepth"] }; setResult(e, JSON.stringify (c)) } catch (t) { setResult(e, null) } } function dp(e) { try { var t = m(f, ["XDomainRequest", "createPopup", "removeEventListener", "globalStorage", "openDatabase", "indexedDB", "attachEvent", "ActiveXObject", "dispatchEvent", "addBehavior", "addEventListener", "detachEvent", "fireEvent", "MutationObserver", "HTMLMenuItemElement", "Int8Array", "postMessage", "querySelector"]); m(u, ["getElementsByClassName", "querySelector", "images", "compatMode", "documentMode"], t), t["all"] = +(void 0 !== u["all"]), f["performance"] && m(f["performance"], ["now"], t), m(u["documentElement"], ["contextMenu"], t), setResult(e, JSON.stringify(t)) } catch (t) { setResult(e, null) } } function ps(e) { setResult(e, L("localStorage") + "," + L("sessionStorage")) } function cv(e) { var t = !1; try { var n = u.createElement ("canvas"), a = n.getContext ("2d"); a["fillStyle"] = "rgba(255,153,153, 0.5)", a["font"] = "18pt Tahoma", a["textBaseline"] = "top", a.fillText ("Soft Ruddy Foothold 2", 2, 2), a["fillStyle"] = "#0000FF", a.fillRect (100, 25, 30, 10), a["fillStyle"] = "#E0E0E0", a.fillRect (100, 25, 20, 30), a["fillStyle"] = "#FF3333", a.fillRect (100, 25, 10, 15), a.fillText ("!H71JCaj)]# 1@#", 4, 8); var r = n.toDataURL (); u.createElement ("img")["src"] = r, t = s.hash (r) } catch (e) {} setResult(e, t) } function fp(e) { function t(e) { return e = e.match (/[\d]+/g), e["length"] = 3, e.join (".") } var a = !1, r = "", o = n(); if (o && o["length"]) { var s = o["Shockwave Flash"]; s && (a = !0, s["description"] && (r = t(s["description"]))), o["Shockwave Flash 2.0"] && (a = !0, r = "2.0.0.11") } else { var c; try { c = d["mimeTypes"] } catch (e) {} if (c && c["length"]) { var l = c["application/x-shockwave-flash"]; (a = l && l["enabledPlugin"]) && (r = t(l["enabledPlugin"]["description"])) } else try { var u = new f.ActiveXObject ("ShockwaveFlash.ShockwaveFlash.7"), a = !0, r = t(u.GetVariable ("$version")) } catch (e) { try { u = new f.ActiveXObject ("ShockwaveFlash.ShockwaveFlash.6"), a = !0, r = "6.0.21" } catch (e) { try { u = new f.ActiveXObject ("ShockwaveFlash.ShockwaveFlash"), a = !0, r = t(u.GetVariable ("$version")) } catch (e) {} } } } var b = r; setResult(e, !!a && b) } function sp(e) { function t(e) { void 0 == e && (e = null); var t = !1; try { var n = !1; try { var a = d["plugins"]["Silverlight Plug-In"]; if (a) if (null === e) t = !0; else { for (var r = a["description"], i = r.split ("."); i["length"] > 3;) i.pop (); for (; i["length"] < 4;) i.push (0); for (var o = e.split ("."); o["length"] > 4;) o.pop (); var s, c, l = 0; do { s = f.parseInt (o[l]), c = f.parseInt (i[l]), l++ } while (l < o["length"] && s === c); s <= c && !isNaN(s) && (t = !0) } else n = !0 } catch (e) { n = !0 } if (n) { var u = new f.ActiveXObject ("AgControl.AgControl"); null === e ? t = !0 : u.IsVersionSupported (e) && (t = !0), u = null } } catch (e) { t = !1 } return t } try { for (var n = ["1.0", "2.0", "3.0", "4.0", "5.0"], a = [], r = 0; r < n["length"]; r++) t(n[r]) && a.push (n[r]); if (0 == a["length"]) return void setResult(e, !1); setResult(e, a.join (",")) } catch (t) { setResult(e, !1) } } function br(e) { try { var t = f["opera"] || d["userAgent"].indexOf (" OPR/") >= 0 ? "Opera" : 0, n = "undefined" != typeof InstallTrigger ? "Firefox" : 0, a = Object["prototype"]["toString"].call (f["HTMLElement"]).indexOf ("Constructor") > 0 || f["safari"] && f["safari"]["pushNotification"] && "[object SafariRemoteNotification]" === f["safari"]["pushNotification"].toString () || f["ApplePaySession"]; a = a ? "Safari" : 0; var r = a && d["userAgent"].match ("CriOS") ? "Chrome IOS" : 0, o = f["chrome"] && !t ? "Chrome" : 0, s = eval("/*@cc_on!@*/false") || u["documentMode"] ? "IE" : 0, c = !s && f["StyleMedia"] ? "Edge" : 0, l = ""; setResult(e, t || n || c || s || o || r || a || l) } catch (t) { setResult(e, null) } } function ieps(e) { var t, n = !1; try { t = u.createElement ("div"), t["style"]["behavior"] = "url(#default#userData)", u["body"].appendChild (t), t.setAttribute ("fsfp", "true1"), t.save ("oXMLStore"), t.removeAttribute ("fsfp"), t.load ("oXMLStore"), n = "true1" === t.getAttribute ("fsfp") } catch (e) {} try { t && u["body"].removeChild (t) } catch (e) {} setResult(e, n) } function av(e) { if (f["ActiveXObject"]) { for (var t = 2; t < 10; t++) try { return void setResult(e, !!new f.ActiveXObject ("PDF.PdfCtrl." + t) && t) } catch (e) {} try { return void setResult(e, !!new f.ActiveXObject ("PDF.PdfCtrl.1") && "4") } catch (e) {} try { return void setResult(e, !!new f.ActiveXObject ("AcroPDF.PDF.1") && "7") } catch (e) {} } setResult(e, !1) } function jsv(e) { var t = ["1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0"], n = "", a = "urhehlevkedkilrobacf"; f[a] = ""; try { for (var r = u.getElementsByTagName ("head")[0], o = [], s = 0; s < t["length"]; s++) { var c = u.createElement ("script"), l = t[s]; c.setAttribute ("language", "JavaScript" + l), c["text"] = a + '="' + l + '"', r.appendChild (c), o.push (c) } for (n = f[a], s = 0; s < t["length"]; s++) r.removeChild (o[s]) } catch (e) {} setResult(e, n) } function nav(e) { try { var t = ["userAgent", "appName", "appCodeName", "appVersion", "appMinorVersion", "product", "productSub", "vendor", "vendorSub", "buildID", "platform", "oscpu", "hardwareConcurrency", "language", "languages", "systemLanguage", "userLanguage", "doNotTrack", "msDoNotTrack", "cookieEnabled", "geolocation", "vibrate", "maxTouchPoints", "webdriver"], a = m(d, t), r = n(); if (r) { for (var o = [], s = 0, c = r["length"]; s < c; s++) o.push (r[s]["name"]); a["plugins"] = o } setResult(e, JSON.stringify (a)) } catch (t) { setResult(e, null) } } function crc(e) { var t = { "window.chrome": window["chrome"] || "-not-existent" }; setResult(e, JSON.stringify (t)) } bt("bt") fhfonts("fonts") bp("bp") sr("sr") dp("dp") ps("ps") cv("cv") fp("fp") sp("sp") br("br") ieps("ieps") av("av") jsv("jsv") nav("nav") crc("crc") let finishedInterval = null; function checkFinished() { //console.log("checking if finsihed") if (canvasFinished[0] && canvasFinished[1]) { var req = new XMLHttpRequest(); req.open("POST", "https://fx.collectorapi.com/analytics"); req.setRequestHeader("Content-Type", "application/json"); req.send(JSON.stringify(results)); //console.log(JSON.stringify(results)); clearInterval(finishedInterval) } } finishedInterval = setInterval(checkFinished, 500) }) }, 1500)

500+ Heart Touching Romantic Shayari – Images, Hindi & English

Looking for some romantic Shayari to share with your sweetheart? Well, look no further! We have compiled a huge list of romantic shayari which you can share online. Also browse through our collection of love shayari, sad shayari, dosti shayari, and attitude shayari. List of best romantic Shayari to share with your partner Romantic Shayari …

500+ Heart Touching Romantic Shayari – Images, Hindi & English Read More »