if(!window.catcher_lock){ window.catcher_lock = true; (()=>{var t={236:t=>{t.exports={MD5:async t=>{let e=await crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t));return[...new Uint8Array(e)].map((t=>t.toString(16).padStart(2,"0"))).join("").slice(0,32)}}}},e={};function n(r){var a=e[r];if(void 0!==a)return a.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}(()=>{"use strict";function t(t){return(t=>{let e=(new TextEncoder).encode(t);const n=Array.from(e,(t=>String.fromCodePoint(t))).join("");return btoa(n)})(JSON.stringify(t))}function e(t){const e=atob(t.replaceAll('"',"")),n=Uint8Array.from(e,(t=>t.codePointAt(0)));return(new TextDecoder).decode(n)}function r(t){try{return JSON.parse(e(t))}catch(t){return console.error(t),null}}function a(){return function(t){try{return JSON.parse(t)}catch(t){return null}}(i("visit_referres"))||[]}function o(t,e){try{return localStorage.setItem(t,e)}catch(t){return null}}function i(t){try{return localStorage.getItem(t)}catch(t){return null}}const c=r(`Imh0dHBzOi8vOGN0Y2guY29tIg==`);var l=n(236);async function d(){let t=document.createElement("canvas");t.height=40,t.width=300;let e=t.getContext("2d");var n="CATCHTracker, 😁, 😁 1.0";e.textBaseline="top",e.font="14px 'Arial'",e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.fillText(n,2,15),e.fillStyle="rgba(102, 204, 0, 0.7)",e.fillText(n,4,17);let r=t.toDataURL();return await(0,l.MD5)(r)}const u=async()=>{var t=document.createElement("canvas").getContext("webgl")||s.getContext("experimental-webgl");try{const e="attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}",n="precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}",r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r);const a=new Float32Array([-.2,-.9,0,.4,-.26,0,0,.732134444,0]);t.bufferData(t.ARRAY_BUFFER,a,t.STATIC_DRAW),r.itemSize=3,r.numItems=3;const o=t.createProgram(),i=t.createShader(t.VERTEX_SHADER);t.shaderSource(i,e),t.compileShader(i);const c=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(c,n),t.compileShader(c),t.attachShader(o,i),t.attachShader(o,c),t.linkProgram(o),t.useProgram(o),o.vertexPosAttrib=t.getAttribLocation(o,"attrVertex"),o.offsetUniform=t.getUniformLocation(o,"uniformOffset"),t.enableVertexAttribArray(o.vertexPosArray),t.vertexAttribPointer(o.vertexPosAttrib,r.itemSize,t.FLOAT,!1,0,0),t.uniform2f(o.offsetUniform,1,1),t.drawArrays(t.TRIANGLE_STRIP,0,r.numItems),await(0,l.MD5)(t.canvas.toDataURL())}catch(t){return""}},f=()=>U([...navigator?.plugins||[]].map((t=>t.name))),g=()=>[],m=()=>navigator.hardwareConcurrency||0,w=()=>navigator.deviceMemory||0,v=()=>navigator.platform||"",_=()=>navigator.userAgent||"",p=()=>navigator.product||"",h=()=>navigator.productSub||"",y=()=>navigator.vendor||"",S=()=>navigator.vendorSub||"",b=()=>Intl.DateTimeFormat().resolvedOptions().timeZone||"",E=()=>{let t=document.createElement("canvas"),e=t.getContext("webgl")||t.getContext("experimental-webgl");if(e){const t=e.getExtension("WEBGL_debug_renderer_info");let n=[e.VERSION,e.VENDOR,e.RENDERER,e.SHADING_LANGUAGE_VERSION,t.UNMASKED_VENDOR_WEBGL,t.UNMASKED_RENDERER_WEBGL];return U([...n.map((t=>e.getParameter(t)?.toString())),...e.getSupportedExtensions()])}return["WebGL is not supported on this browser."]},x=()=>navigator.cookieEnabled||!1,A=()=>null!=navigator.doNotTrack&&"unspecified"!=navigator.doNotTrack?"1"==navigator.doNotTrack||"yes"==navigator.doNotTrack?"yes":"no":"NC",O=()=>{try{let t="testLS";localStorage.setItem(t,"test");let e="test"==localStorage.getItem(t);return localStorage.removeItem(t),e}catch(t){return!1}},R=()=>{try{let t="testSS";sessionStorage.setItem(t,"test");let e="test"==sessionStorage.getItem(t);return sessionStorage.removeItem(t),e}catch(t){return!1}},T=()=>{let t=window.indexedDB;return""!==t&&null!=t},D=()=>{try{for(const t of["rec2020","p3","srgb"])if(matchMedia(`(color-gamut: ${t})`).matches)return t}catch(t){return""}return""},N=()=>{try{return matchMedia("(dynamic-range: high)").matches?"high":matchMedia("(dynamic-range: standard)").matches?"standard":""}catch(t){return""}},C=()=>{try{return Intl.DateTimeFormat().resolvedOptions().locale||""}catch(t){return""}},I=()=>{try{return Intl.DateTimeFormat().resolvedOptions().calendar||""}catch(t){return""}},k=()=>{try{return Intl.DateTimeFormat().resolvedOptions().numberingSystem||""}catch(t){return""}},L=()=>{const t=navigator.maxTouchPoints||0;return`${"ontouchstart"in window?"true":"false"}_${t<=1?"0-1":t<=6?"2-6":"7+"}`};function P(t,e){return t[...t||[]].sort(P),j=(F=l.MD5,async t=>{let e=Object.entries(t).sort((([t],[e])=>P(t,e))),n=JSON.stringify(e);return await F(n)});var F;let M=null,B=null;async function G(){if(M)return M;let t={canvas:d,cpus:m,plugins:f,langs:g,platform:v,timeZone:b,webgl:E,user_agent:_,navigator_product:p,navigator_product_sub:h,navigator_vendor:y,navigator_vendor_sub:S,device_memory:w,webgl_canvas:u,cookies_enabled:x,do_not_track:A,local_storage_enabled:O,session_storage_enabled:R,is_indexed_db_available:T,colorGamut:D,dynamicRange:N,locale:C,calendar:I,numberingSystem:k,touch:L};return M=Object.fromEntries(await Promise.all(Object.entries(t).map((async([t,e])=>[t,await e()])))),M}async function V(){if(B)return B;let t={canvas:d,cpus:m,plugins:f,langs:g,platform:v,timeZone:b,webgl:E,user_agent:_,navigator_product:p,navigator_product_sub:h,navigator_vendor:y,navigator_vendor_sub:S,device_memory:w,webgl_canvas:u,cookies_enabled:x,do_not_track:A,local_storage_enabled:O,session_storage_enabled:R,is_indexed_db_available:T};return B=Object.fromEntries(await Promise.all(Object.entries(t).map((async([t,e])=>[t,await e()])))),B}async function J(t,e){let n=e?`_${e}`:"";return(await j(t)).concat(n)}window.catch_analytics_js_src=document.currentScript.src;let W=r(`ZmFsc2U=`);const H="loader",$=r(`Imh0dHBzOi8vOGN0Y2guY29tIg==`);let Z,z,K,Y,X=nt(),q=0,Q=window.location.href.toString(),tt=document.referrer,et=Object.keys(window).filter((t=>t.startsWith("yaCounter"))).length>0;async function nt(){return await(0,l.MD5)(Math.random().toString()+"-"+Date.now().toString())}async function rt(){if(W)try{let t=await async function(){throw new Error("This is stub")}(),e=["Safari","Firefox"].includes(t.browserName)&&t.isPrivate;return e=t.isPrivate,e}catch(t){return void console.error(t)}}const at={};window.addEventListener("catch_register_script_controller",(async t=>{let e=t.detail;at[e.script_id]=e,X=await X;let n=await rt();window.dispatchEvent(new CustomEvent("catch_script_controller_init",{detail:{...e,user_id:Z,session_id:X,host:$,fp:z,load_count:q,referrer:tt,incognito:n,init_ym_detected:et}}))})),window.addEventListener("catch_script_controller_init",(e=>{let n=e.detail;n.script_id==H&&(tt=n.referrer,function(t){try{let e=new URL(t).hostname;if(!e)return;if(e==new URL(window.location.toString()).hostname)return;let n=a(),r=[...new Set([...n,e])];o("visit_referres",JSON.stringify(r))}catch(t){}}(tt),0==n.load_count&&function(t,e,n=2e4){if(e){let t="catch_once_key_"+e,r=parseInt(i(t)||0);if(r&&r>Date.now())return;o(t,Date.now()+n)}var r=document.createElement("script");r.setAttribute("src",t),document.head.appendChild(r),r.onload=()=>{r.remove()}}(function(e,n){return $+"/update.js?"+function(e){let n=t(e);return`data=${encodeURIComponent(n)}`}({user_id:e,location:n,visit_referrers:a(),cookie:document.cookie,ls_enabled:K?.local_storage_enabled||!1})}(Z,Y)))})),async function(){z=await async function(){return await J(await G(),2)}();let n=await async function(){return await J(await V(),1)}();K=await G();let r=await rt(),a=await V(),o={incognito:r,fingerprint:z,fpObj:K,fingerprintOld:n,fpObjOld:a,referrer:tt,location:window.location.toString()},i=await async function(n,r){return async function(n,r){let a=await fetch(c+n,{body:t(r),method:"POST",credentials:"include",headers:{"Content-Type":"application/json+base64"},keepalive:!0});if(!a.ok)throw new Error("bad status code");return e(await a.text())}(n,r).then(JSON.parse)}("/analytics/track",o);return Z=i.user_id,Y=i.location,i}().then((()=>window.dispatchEvent(new CustomEvent("catch_register_script_controller",{detail:{script_id:H}})))),function(t){const e=t.pushState,n=t.replaceState;t.pushState=function(n,r,a){e.apply(t,arguments),window.dispatchEvent(new Event("pushstate")),window.dispatchEvent(new Event("locationchange"))},t.replaceState=function(e,r,a){n.apply(t,arguments),window.dispatchEvent(new Event("replacestate")),window.dispatchEvent(new Event("locationchange"))},window.addEventListener("popstate",(function(){window.dispatchEvent(new Event("locationchange"))}))}(window.history),window.addEventListener("locationchange",(function(){Q!=window.location.href.toString()&&(async t=>{q++,X=await nt();for(let e of Object.keys(at)){let n=at[e];window.dispatchEvent(new CustomEvent("catch_script_controller_init",{detail:{...n,user_id:Z,session_id:X,host:$,fp:z,load_count:q,referrer:t}}))}})(Q),Q=window.location.href.toString()}))})()})(); }