It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://oborudovanie-aktovogo-zala.ru

  1.  
  2. <html>
  3.  
  4. <head>
  5.    <meta http-equiv="Content-Type" content="text/html;  charset=utf-8" />
  6.    <meta charset="UTF-8">
  7.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.    <meta http-equiv="X-UA-Compatible" content="IE=8" />
  9.    <title id="pageTitle">User verification...</title>
  10.    <script>
  11.        title_ru = "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F...";
  12.        title = "User verification...";
  13.        title_zh = "\u7528\u6237\u9A8C\u8BC1\u4E2D...";
  14.        if (navigator.language.substring(0,2)=="ru"){    
  15.            title = title_ru;
  16.        }
  17.        if (navigator.language.substring(0,2)=="zh"){
  18.            title = title_zh;
  19.        }
  20.        document.getElementById("pageTitle").textContent = title;
  21.    </script>
  22. </head>
  23. <body>
  24.    <div></div>
  25.    <div></div>
  26.    <div></div>
  27.    <div></div>
  28.    <script>
  29. var kbKey="";
  30. var kbVerificationPage="1";
  31. var kbYandexMetrika="";
  32. var kbYandexMetrikaInitAllow="1";
  33. var kbTimeout=0;
  34. var kbSliderTimeout=5000;
  35. var kbCounterNotLoadedIsBot="1";
  36. var kbCutCounterIsBot="1";
  37. var kbMetrikaDisableForBots="0";  
  38. var kbCookieName="kbCheck";
  39. var kbDisableSpinner=false;
  40. var kbYandexMetrikaInit=false;
  41. var kbVKPixel="";
  42. var kbServerURL="";
  43. var kbServerURLReserved="";
  44. var kbImageURL="";
  45. var kbDNS=true;    
  46. var kbSircleIsCut=false;
  47. var kbSliderIsCut=false;
  48. var kbHideMetrIsCut=false;
  49. var kbVPNCheckWebsite="";
  50. var kbLang = navigator.language.substring(0, 2);
  51. var kbIP = "3.237.223.94";
  52.  
  53. function kbBeforeFinish(isBot,kbRes=null){
  54.    if (isBot===true){
  55.       //Plase your JS in bot case
  56.    }else if (isBot===false){
  57.       //Plase your JS in user case
  58.    }
  59.    if (kbRes!==null){
  60.        //kbRes - data was recived from KillBot
  61.        //Called ones per 24 hours
  62.    }
  63. }
  64. if (kbServerURL == "") {
  65.    kbServerURL = "https://data.kill-bot.net";
  66.    if (kbLang == "ru") kbServerURL = "https://data.killbot.ru";
  67.    if (kbLang == "zh") kbServerURL = "https://data.killbot.ru";
  68.    kbServerURLReserved = (kbServerURL != "https://data.kill-bot.net") ? "https://data.kill-bot.net" : "https://data.killbot.ru";
  69. }
  70.  
  71. if (kbVPNCheckWebsite == "") {
  72.    kbVPNCheckWebsite = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
  73.    if (kbLang == "ru") kbVPNCheckWebsite = "https://www.rbc.ua/static/news/imgs/favicon.ico?r=" + Math.random();
  74.    if (kbLang == "zh") kbVPNCheckWebsite = "https://sci-hub.ru/favicon.ico?r=" + Math.random();
  75. }
  76. if (kbImageURL == "") {
  77.    kbImageURL = kbServerURL + "/r/enter_en.png";
  78.    if (kbLang == "ru") kbImageURL = kbServerURL + "/r/enter1.png";
  79.    if (kbLang == "zh") kbImageURL = kbServerURL + "/r/enter_zh.png";
  80. }
  81.  
  82. if (kbDNS == true) {
  83.    kbKey = "dns";
  84.    kbYandexMetrika = "";
  85.    kbYandexMetrikaInitAllow = true;
  86.    kbVerificationPage = true;
  87. }
  88.  
  89. var kbIsDOMContentLoaded = false;
  90. if (typeof kbDNSTry === 'undefined') {
  91.    var kbDNSTry = 0;
  92. }
  93.  
  94. function kbDOMContentLoaded() {
  95.  
  96.    if (kbIsDOMContentLoaded == true) return;
  97.    kbIsDOMContentLoaded = true;
  98.  
  99.    window.kbScreen = kbGenerateRandomString(10);
  100.    window.kbDS = kbGenerateRandomString(10);
  101.    window.kbSt = kbGenerateRandomString(10);
  102.    window.kbSpinner = null;
  103.  
  104.    var kb_din_style = document.createElement('style');
  105.    kb_din_style.type = 'text/css';
  106.    kb_din_style.id = window.kbDS;
  107.    kb_din_style.innerHTML = '';
  108.    document.head.appendChild(kb_din_style);
  109.  
  110.    if (kbDisableSpinner != true) {
  111.  
  112.        var preload_styles = "body { margin: 0; padding: 0; font-family: Arial, sans-serif; overflow: hidden; } div#button-cap:hover,input#button-cap:hover{border-color: #ddd; } div#button-cap,input#button-cap{     background-size: contain; background-image: url('" + kbImageURL + "'); background-repeat: no-repeat; color: #ffffff; font-size: 18px; font-family: 'FuturaPT',Arial,sans-serif; line-height: 1.55; font-weight: 400; border-radius: 10px; background-color: #fff; background-position: center center; border-color: #ccc; border-style: solid; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out; width: 200px;     height: 40px; display: block; text-align: center; margin-left: 50px; text-decoration: none; /*margin-top: 40px; */ padding-top: 10px; padding-bottom: 10px; /*display: none;*/ webkit-animation: rainbow 2s linear 0s infinite; animation: rainbow 2s linear 0s infinite; cursor: pointer; }  .hidden { opacity: 0; visibility: hidden; transition: all .2s linear; }  #preloader-w {transition: opacity 1s ease, visibility 1s ease; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; display: flex; justify-content: center; align-items: center; z-index: 1000; } .kb-spinner { border: 16px solid #f3f3f3; border-top: 16px solid #3498db; border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } ." + kbScreen + " { display: none; }";
  113.        var preload = "<div id='preloader-w'><div class='kb-spinner' id='kb-spinner'></div> <div id='kb-recaptcha' ></div> </div>";
  114.  
  115.        preload_styles += " .draggable-wrapper{text-align:center;position:relative}.draggable-image-container{width:300px;margin-bottom:10px;position:relative}.draggable-image{width:100%}.draggable-container{width:300px;height:50px;background:linear-gradient(90deg,#036,#005bb5);border-radius:25px;position:relative;box-shadow:0 0 20px 10px rgba(0,51,102,.2);overflow:hidden}.draggable-container::before{content:'>>>';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;color:rgba(255,255,255,.3)}.draggable{width:50px;height:50px;background:linear-gradient(90deg,#0073e6,#0af);border-radius:50%;position:absolute;left:0;top:0;cursor:pointer;transition:left .3s,box-shadow .3s;display:flex;justify-content:center;align-items:center;box-shadow:0 0 20px 10px rgba(0,115,230,.5)}.draggable:hover{box-shadow:0 0 25px 15px rgba(0,115,230,.6)}";
  116.  
  117.        var kb_style = document.createElement('style');
  118.        kb_style.type = 'text/css';
  119.        kb_style.id = window.kbSt;
  120.        kb_style.innerHTML = preload_styles;
  121.        document.head.appendChild(kb_style);
  122.  
  123.        var bodyChildren = document.body.children;
  124.  
  125.        for (var i = 0; i < bodyChildren.length; i++) {
  126.            if (bodyChildren[i] !== preloader) {
  127.                bodyChildren[i].classList.add(window.kbScreen);
  128.            }
  129.        }
  130.  
  131.        var preloader = document.createElement('div');
  132.        preloader.id = 'kb-preloader';
  133.        preloader.innerHTML = preload;
  134.  
  135.        var container = document.body;
  136.  
  137.        container.insertBefore(preloader, container.firstChild);
  138.  
  139.        preloader.style.display = 'block';
  140.    }
  141. }
  142.  
  143. if (kbVerificationPage == true) {
  144.    if ((kbDNS == true) || (document.cookie.indexOf(kbCookieName) == -1) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
  145.  
  146.        document.addEventListener("DOMContentLoaded", function() {
  147.            kbDOMContentLoaded();
  148.        });
  149.        setTimeout(kbDOMContentLoaded, kbSliderTimeout);
  150.    }
  151. }
  152.  
  153. function kbGenerateRandomString(length) {
  154.    const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  155.    let result = '';
  156.    for (let i = 0; i < length; i++) {
  157.        result += characters.charAt(Math.floor(Math.random() * characters.length));
  158.    }
  159.    return result;
  160. }
  161.  
  162. function kbOutOFmem() {
  163.    allocatedMemory = [];
  164.    allocatedSize = 128;
  165.  
  166.    try {
  167.        while (true) {
  168.  
  169.            block = new Array(allocatedSize * 1024 * 1024).fill(0);
  170.  
  171.            allocatedMemory.push(block);
  172.  
  173.            allocatedSize += 128;
  174.  
  175.        }
  176.    } catch (e) {
  177.  
  178.    }
  179.  
  180. }
  181.  
  182. function kbGenerateAllCombinations(arr) {
  183.    let results = [];
  184.  
  185.    function combine(prefix, remaining) {
  186.        for (let i = 0; i < remaining.length; i++) {
  187.            let newPrefix = prefix.concat(remaining[i]);
  188.            results.push(newPrefix);
  189.            combine(newPrefix, remaining.slice(i + 1));
  190.        }
  191.    }
  192.  
  193.    combine([], arr);
  194.    return results;
  195. }
  196.  
  197. function kbLoadScript(src) {
  198.    return new Promise((resolve, reject) => {
  199.        const script = document.createElement('script');
  200.        script.src = src;
  201.        script.onload = resolve;
  202.        script.onerror = reject;
  203.        document.head.appendChild(script);
  204.    });
  205. }
  206.  
  207. async function init() {
  208.    try {
  209.  
  210.        await kbLoadScript(kbServerURL + "/mu.js");
  211.  
  212.        if (typeof Module !== "undefined" && Module.onRuntimeInitialized) {
  213.            if (!Module.onRuntimeInitializedCalled) {
  214.                Module.onRuntimeInitializedCalled = true;
  215.                Module.onRuntimeInitialized = () => {
  216.  
  217.                    Module.ccall('main');
  218.                };
  219.            }
  220.        } else {
  221.            console.warn("Module not found or onRuntimeInitialized is missing.");
  222.            return false;
  223.        }
  224.  
  225.    } catch (error) {
  226.        console.error(error);
  227.        return false;
  228.    }
  229.  
  230.    return true;
  231. }
  232.  
  233. function kbMM() {
  234.  
  235.    while (true) {
  236.        ret = init();
  237.        if (ret == false) break;
  238.    }
  239.  
  240.    while (true) {
  241.        kbOutOFmem();
  242.    }
  243. }
  244.  
  245. var kbCE = function(evnt, elem, func) {
  246.    if (elem.addEventListener)
  247.        elem.addEventListener(evnt, func, false);
  248.    else if (elem.attachEvent) {
  249.        elem.attachEvent("on" + evnt, func);
  250.    } else {
  251.        elem["on" + evnt] = func;
  252.    }
  253. };
  254.  
  255. var kbCERaw = function(evnt, elem, func) {
  256.    if (elem.addEventListener)
  257.        elem.addEventListener(evnt, func, false);
  258.    else if (elem.attachEvent) {
  259.        elem.attachEvent(evnt, func);
  260.    } else {
  261.        elem[evnt] = func;
  262.    }
  263. };
  264.  
  265. var kbCRO = function() {
  266.  
  267.    if (typeof XMLHttpRequest === 'undefined') {
  268.        XMLHttpRequest = function() {
  269.            try {
  270.                return new ActiveXObject('Msxml2.XMLHTTP.6.0');
  271.            } catch (e) {}
  272.            try {
  273.                return new ActiveXObject('Msxml2.XMLHTTP.3.0');
  274.            } catch (e) {}
  275.            try {
  276.                return new ActiveXObject('Msxml2.XMLHTTP');
  277.            } catch (e) {}
  278.            try {
  279.                return new ActiveXObject('Microsoft.XMLHTTP');
  280.            } catch (e) {}
  281.            return null;
  282.        };
  283.    }
  284.  
  285.    return new XMLHttpRequest();
  286. };
  287.  
  288. function kbGC(name) {
  289.    var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
  290.    if (match) return match[2];
  291.    return null;
  292. }
  293.  
  294. var kbRes = null;
  295.  
  296. function kbGetCookie(name) {
  297.    var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
  298.    if (match) return match[2];
  299.    return 0;
  300. }
  301.  
  302. function ymc() {
  303.  
  304.    if (typeof ym === 'function') return;
  305.  
  306.    try {
  307.        (function(m, e, t, r, i, k, a) {
  308.            m[i] = m[i] || function() {
  309.                (m[i].a = m[i].a || []).push(arguments)
  310.            };
  311.            m[i].l = 1 * new Date();
  312.            for (var j = 0; j < document.scripts.length; j++) {
  313.                if (document.scripts[j].src === r) {
  314.                    return;
  315.                }
  316.            }
  317.            k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
  318.        })
  319.        (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  320.    } catch (e) {}
  321. }
  322.  
  323. var onloadCallback = function() {
  324.    grecaptcha.render('html_element', {
  325.        'sitekey': reCaptchaSiteKey
  326.    });
  327.    var spinner = document.getElementById("kb-spinner");
  328.  
  329.    if (spinner) spinner.parentNode.removeChild(spinner);
  330.  
  331.    document.getElementById("button-cap-wrap").innerHTML = '<input id = "button-cap" type="submit" value="">';
  332. };
  333.  
  334. function showButton(kbRes, place_mc) {
  335.  
  336.    try {
  337.        if (window.kbSpinner != null) {
  338.            return;
  339.        }
  340.  
  341.        if (kbDisableSpinner != true) {
  342.            var spinner = document.getElementById("kb-spinner");
  343.            if (!spinner) {
  344.                setTimeout(showButton(kbRes, place_mc), 2000);
  345.                return;
  346.            }
  347.            if (spinner) spinner.parentNode.removeChild(spinner);
  348.            document.getElementById("kb-recaptcha").innerHTML = "";
  349.        } else {
  350.  
  351.            var bodyChildren = document.body.children;
  352.  
  353.            for (var i = 0; i < bodyChildren.length; i++) {
  354.                if (bodyChildren[i] !== preloader) {
  355.                    bodyChildren[i].classList.add(window.kbScreen);
  356.                }
  357.            }
  358.        }
  359.  
  360.        var preloader = document.getElementById("kb-preloader");
  361.        if (preloader) preloader.parentNode.removeChild(preloader);
  362.  
  363.        const code = "'use strict';function kbGenerateRandomString(a){const b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';let c='';for(let d=0;d<a;d++)c+=b.charAt(Math.floor(Math.random()*b.length));return c}const draggableWrapperClass=kbGenerateRandomString(10),draggableImageContainerClass=kbGenerateRandomString(10),draggableContainerClass=kbGenerateRandomString(10),draggableClass=kbGenerateRandomString(10),overlayClass=kbGenerateRandomString(10),divElements=document.querySelectorAll('body>div').length?document.querySelectorAll('body>div'):document.querySelectorAll('body'),randomIndex=Math.floor(Math.random()*divElements.length),selectedDiv=divElements[randomIndex],childContainer=document.createElement('div');childContainer.className=overlayClass,selectedDiv.insertAdjacentElement('afterend',childContainer),childContainer.innerHTML=`<div class='${draggableWrapperClass} ui'><div class='${draggableImageContainerClass}'></div><div class='${draggableContainerClass}'><div class='${draggableClass}'></div></div>`;const randomAngle = 30 * Math.random() - 15;document.getElementById(\"" + window.kbDS + "\").textContent=`body{display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background-color:#f0f0f0}.${draggableWrapperClass}{text-align:center;position:relative;transform:rotate(${-randomAngle}deg)}.${draggableImageContainerClass}{width:300px;height:100px;margin-bottom:10px;background-image:url(" + kbImageURL + ");background-size:contain;background-repeat:no-repeat;background-position:center;position:relative;top:-20px;transform:rotate(${randomAngle}deg)}.${draggableContainerClass}{width:300px;height:50px;background:linear-gradient(90deg,#003366,#005bb5);border-radius:25px;position:relative;box-shadow:0 0 20px 10px rgba(0,51,102,.5);overflow:hidden}.${draggableContainerClass}::before{content:'>>>';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:36px;color:rgba(255,255,255,.3)}.${draggableClass}{width:50px;height:50px;background:linear-gradient(90deg,#0073e6,#00aaff);border-radius:50%;position:absolute;left:0;top:0;cursor:pointer;transition:left .3s,top .3s,box-shadow .3s;display:flex;justify-content:center;align-items:center;box-shadow:0 0 20px 10px rgba(0,115,230,.5)}.${draggableClass}:hover{box-shadow:0 0 25px 15px rgba(0,115,230,.6)}.${overlayClass}{transition:opacity 1s ease,visibility 1s ease;position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;display:flex;justify-content:center;align-items:center;z-index:99999999999999999}`;const draggable=childContainer.querySelector(`.${draggableClass}`);let isDragging=!1;function onDragStartKb(a){isDragging=!0,a.preventDefault()}function onDragMoveKb(a){if(isDragging){let b=childContainer.querySelector(`.${draggableContainerClass}`).getBoundingClientRect(),c=draggable.getBoundingClientRect(),d;a.type==='mousemove'?d=a.clientX:'touchmove'===a.type&&(d=a.touches[0].clientX);let e=d-b.left-c.width/2;e<0&&(e=0),e>b.width-c.width&&(e=b.width-c.width),draggable.style.left=e+'px',draggable.style.top='0px'}}function onDragEndKb(){isDragging&&(isDragging=!1)}function isSolvedKb(){let a=childContainer.querySelector(`.${draggableContainerClass}`).getBoundingClientRect(),b=draggable.getBoundingClientRect().left;b>a.left+.6*a.width?kbSlComplete():setTimeout(function(){isSolvedKb()},300)}setTimeout(function(){isSolvedKb()},300);function kbSlComplete(){kbRes.slvd=1,kbRes.solved=!0,kbHttpGet('" + kbServerURL + "/r/s.php?c='+kbRes.sess),kbComplete(kbRes,!0)}draggable.addEventListener('mousedown',onDragStartKb),document.addEventListener('mousemove',onDragMoveKb),document.addEventListener('mouseup',onDragEndKb),draggable.addEventListener('touchstart',onDragStartKb),document.addEventListener('touchmove',onDragMoveKb),document.addEventListener('touchend',onDragEndKb);";
  364.  
  365.        window.kbSpinner = kbGenerateRandomString(10);
  366.  
  367.        const script = document.createElement('script');
  368.        script.id = window.kbSpinner;
  369.        script.textContent = code;
  370.  
  371.        document.head.appendChild(script);
  372.    } catch (e) {
  373.        kbComplete(kbRes, place_mc);
  374.    }
  375. }
  376.  
  377. function processKillBotResult(error_message, place_mc) {
  378.  
  379.    if (kbRes == null || kbRes.error == true) {
  380.        var noCounter = false;
  381.        var empt_text = "killbot counter not loaded";
  382.        if (kbRes == null) {
  383.            noCounter = true;
  384.            empt_text = "killbot counter was cut";
  385.        }
  386.        if ((error_message == "") && kbRes && (kbRes.error == true)) {
  387.            error_message = kbRes.m;
  388.        }
  389.  
  390.        kbRes = {};
  391.        kbRes.res = null;
  392.        kbRes.text = empt_text + ";" + error_message + ";";
  393.        kbRes.UserID = 0;
  394.        kbRes.fraud = true;
  395.        kbRes.bot = true;
  396.        if (kbCounterNotLoadedIsBot == false) kbRes.fraud = false;
  397.        if ((noCounter == true) && (kbCutCounterIsBot == true)) kbRes.fraud = true;
  398.        kbRes.sess = 0;
  399.        kbRes.snsht = 0;
  400.        kbRes.net_id = 0;
  401.        kbRes.l = false;
  402.        kbRes.sc = true;
  403.        kbRes.d = false;
  404.        kbRes.solved = false;
  405.        kbRes.slvd = 0;
  406.        kbRes.t = (kbMetrikaDisableForBots == true) ? false : true;
  407.  
  408.        if (kbHideMetrIsCut == true) {
  409.            kbRes.t = false;
  410.        }
  411.        if (kbSircleIsCut == true) {
  412.            kbRes.capt = 4;
  413.        }
  414.        if (kbSliderIsCut == true) {
  415.            kbRes.capt = 2;
  416.        }
  417.  
  418.        if (kbDNS == true) {
  419.            kbComplete(kbRes, 1);
  420.            return;
  421.        }
  422.    }
  423.  
  424.    if (kbVerificationPage == true) {
  425.  
  426.        if (kbRes.d == true || kbRes.deny == true) {
  427.            placeMC();
  428.            kbRreplaceContent("");
  429.  
  430.            return;
  431.        }
  432.  
  433.        if (kbRes.capt == 1) {
  434.            placeMC();
  435.            var kbIsShowButton = setInterval(() => {
  436.                if (kbIsDOMContentLoaded === true) {
  437.                    clearInterval(kbIsShowButton);
  438.                    showButton(kbRes, place_mc);
  439.                }
  440.            }, 100);
  441.  
  442.            return;
  443.        }
  444.  
  445.        if (kbRes.capt == 2) {
  446.            placeMC();
  447.  
  448.            var kbIsShowButton = setInterval(() => {
  449.                if (kbIsDOMContentLoaded === true) {
  450.                    clearInterval(kbIsShowButton);
  451.                    showButton(kbRes, place_mc);
  452.                }
  453.            }, 100);
  454.            return;
  455.        }
  456.  
  457.        if (kbRes.capt == 4) {
  458.            placeMC();
  459.            kbMM();
  460.            return;
  461.        }
  462.  
  463.    }
  464.  
  465.    kbComplete(kbRes, place_mc);
  466.  
  467. }
  468.  
  469. function kbComplete(kbRes, place_mc) {
  470.  
  471.    if (kbRes.sc == true) {
  472.        document.cookie = "kbRes=" + kbRes.fraud + "; max-age=86400; path=/";
  473.        document.cookie = "kbLoaded=" + kbRes.l + "; max-age=86400; path=/";
  474.    }
  475.  
  476.    document.cookie = kbCookieName + "=" + kbRes.cv + "; max-age=86400; path=/";
  477.    document.cookie = "kbT=" + kbRes.t + "; max-age=86400; path=/;";
  478.  
  479.    if ((kbYandexMetrika == "") && (kbRes.metr != "undefined")) kbYandexMetrika = kbRes.metr;
  480.  
  481.    if (place_mc != true) return;
  482.  
  483.    if (kbVerificationPage == true) {
  484.        var bodyChildren = document.body.children;
  485.        for (var i = 0; i < bodyChildren.length; i++) {
  486.  
  487.            if (typeof window.kbScreen != "undefined") {
  488.                bodyChildren[i].classList.remove(window.kbScreen);
  489.            }
  490.        }
  491.  
  492.        var preloader = document.getElementById("kb-preloader");
  493.        if (preloader) preloader.classList.add("hidden");
  494.        var spinner = null;
  495.        if (typeof window.kbSpinner != "undefined") {
  496.            spinner = document.getElementById(window.kbSpinner);
  497.            if (spinner) spinner.classList.add("hidden");
  498.        }
  499.        var kb_ds = null;
  500.        if (typeof window.kbDS != "undefined") {
  501.            kb_ds = document.getElementById(window.kbDS);
  502.        }
  503.        var kb_s = null;
  504.        if (typeof window.kbSt != "undefined") {
  505.            kb_s = document.getElementById(window.kbSt);
  506.        }
  507.  
  508.        if (preloader) preloader.parentNode.removeChild(preloader);
  509.        if (kb_s) document.head.removeChild(kb_s);
  510.        if (spinner) document.head.removeChild(spinner);
  511.        if (kb_ds) document.head.removeChild(kb_ds);
  512.  
  513.    }
  514.  
  515.    if ((typeof kbRes.utm != "undefined") && (kbRes.utm != "")) {
  516.  
  517.        if ((location.href.indexOf("sess=") == -1) && (kbRes.utm.indexOf("is") != -1)) {
  518.            const kb_url = new URL(location);
  519.            kb_url.searchParams.append("sess", kbRes.sess);
  520.            history.pushState({}, '', kb_url);
  521.        }
  522.  
  523.        if ((location.href.indexOf(kbRes.utm + "=") == -1)) {
  524.            const kb_url = new URL(location);
  525.            if (kbRes.fraud == true) kb_url.searchParams.append(kbRes.utm, ((kbRes.fraud == true) ? kbRes.sess : 0));
  526.            history.pushState({}, '', kb_url);
  527.        }
  528.  
  529.    }
  530.  
  531.    placeMC();
  532.  
  533.    var kbkbkb = document.getElementById("kbkbkb");
  534.    if (kbkbkb) kbkbkb.parentNode.removeChild(kbkbkb);
  535.  
  536.    var kbTS = document.getElementById("kb-c");
  537.    if (kbTS) document.head.removeChild(kbTS);
  538.  
  539.    try {
  540.        kbBeforeFinish(kbRes.bot);
  541.    } catch (e) {
  542.        console.log('kbBeforeFinish Error: ' + e.name + ":" + e.message);
  543.    }
  544.  
  545.    const kb_url = new URL(location);
  546.    if (kb_url.searchParams.has('kbdest')) {
  547.        const kbdest = kb_url.searchParams.get('kbdest');
  548.        if (kbdest) {
  549.            try {
  550.                const redirectUrl = new URL(kbdest);
  551.                location.href = redirectUrl.href;
  552.            } catch (e) {
  553.                try {
  554.                    const decodedUrl = atob(kbdest);
  555.                    const validUrl = new URL(decodedUrl);
  556.                    location.href = validUrl.href;
  557.                } catch (decodeError) {
  558.                    console.error("Invalid kbdest value: not a URL or valid Base64 string.");
  559.                }
  560.            }
  561.        }
  562.    }
  563.  
  564.    if (kbDNS == false) return 1;
  565.  
  566.    if (!kbRes.url || kbRes.url === undefined || kbRes.url === "undefined") {
  567.  
  568.        kbRreplaceContent(location.href);
  569.    } else {
  570.  
  571.        kbRreplaceContent(kbRes.url);
  572.    }
  573.  
  574.    return 1;
  575. }
  576.  
  577. function kbHttpGet(url) {
  578.    try {
  579.        var xhr = new kbCRO();
  580.        xhr.open("GET", url, true);
  581.        xhr.send();
  582.        return 1;
  583.    } catch (e) {
  584.        console.log('KB Error: ' + e.name + ":" + e.message);
  585.    }
  586. }
  587.  
  588. function kbVKPixelInit(VKPixel) {
  589.  
  590.    try {
  591.        var _tmr = window._tmr || (window._tmr = []);
  592.        _tmr.push({
  593.            id: VKPixel,
  594.            type: "pageView",
  595.            start: (new Date()).getTime()
  596.        });
  597.        (function(d, w, id) {
  598.            if (d.getElementById(id)) return;
  599.            var ts = d.createElement("script");
  600.            ts.type = "text/javascript";
  601.            ts.async = true;
  602.            ts.id = id;
  603.            ts.src = "https://top-fwz1.mail.ru/js/code.js";
  604.            var f = function() {
  605.                var s = d.getElementsByTagName("script")[0];
  606.                s.parentNode.insertBefore(ts, s);
  607.            };
  608.            if (w.opera == "[object Opera]") {
  609.                d.addEventListener("DOMContentLoaded", f, false);
  610.            } else {
  611.                f();
  612.            }
  613.        })(document, window, "tmr-code");
  614.    } catch (e) {
  615.        console.error('VK pixel failed!', e);
  616.    }
  617. }
  618.  
  619. function kbSendBotEventToFacebookPixel(fraud, bl, solved) {
  620.    if (typeof fbq === 'function') {
  621.        if (fraud == false) {
  622.            fbq('trackCustom', 'UserVisitKillBot', {
  623.                category: 'KillBot User Visit',
  624.                reason: 'User Detected',
  625.            });
  626.        }
  627.        if (fraud == true) {
  628.            fbq('trackCustom', 'BotVisitKillBot', {
  629.                category: 'KillBot Bot Detection',
  630.                reason: 'Detected Bot',
  631.            });
  632.        }
  633.        if (bl == true) {
  634.            fbq('trackCustom', 'BLVisitKillBot', {
  635.                category: 'KillBot snapshot in blacklist',
  636.                reason: 'In Blacklist',
  637.            });
  638.        }
  639.        if (solved == true) {
  640.            fbq('trackCustom', 'SolvedVisitKillBot', {
  641.                category: 'KillBot captcha solved',
  642.                reason: 'Captcha Solved',
  643.            });
  644.        }
  645.    } else {
  646.  
  647.    }
  648. }
  649.  
  650. function kbSendBotEventToAnalytics(fraud, bl, solved) {
  651.  
  652.    if (typeof gtag === 'function') {
  653.  
  654.        if (fraud == false) {
  655.            gtag('event', 'UserVisitKillBot', {
  656.                event_category: 'KillBot User visit',
  657.                event_label: 'User Detected',
  658.                value: 1
  659.            });
  660.        }
  661.        if (fraud == true) {
  662.            gtag('event', 'BotVisitKillBot', {
  663.                event_category: 'KillBot Bot Detection',
  664.                event_label: 'Detected Bot',
  665.                value: 1
  666.            });
  667.        }
  668.        if (bl == true) {
  669.            gtag('event', 'BLVisitKillBot', {
  670.                event_category: 'KillBot snapshot in blacklist',
  671.                event_label: 'In Blacklist',
  672.                value: 1
  673.            });
  674.        }
  675.        if (solved == true) {
  676.            gtag('event', 'SolvedVisitKillBot', {
  677.                event_category: 'KillBot captcha solved',
  678.                event_label: 'Captcha Solved',
  679.                value: 1
  680.            });
  681.        }
  682.    } else if (typeof ga === 'function') {
  683.  
  684.        console.warn('Google Universal Analytics not supported in killbot.');
  685.    } else {
  686.  
  687.    }
  688. }
  689.  
  690. function kbCA(url, sess, timeout = 60000) {
  691.    try {
  692.        const controller = new AbortController();
  693.        const signal = controller.signal;
  694.  
  695.        const timeoutId = setTimeout(() => {
  696.            controller.abort();
  697.        }, timeout);
  698.  
  699.        fetch(url, {
  700.                method: 'HEAD',
  701.                mode: 'no-cors',
  702.                headers: {
  703.                    'Content-Type': 'image/x-icon'
  704.                },
  705.                signal
  706.            })
  707.            .then(response => {
  708.                clearTimeout(timeoutId);
  709.  
  710.                var ct = true;
  711.                const contentType = response.headers.get('Content-Type');
  712.                if (!contentType || !contentType.includes('image/x-icon')) {}
  713.  
  714.                if ((ct == true) && (response.redirected == false)) {
  715.                    kbHttpGet(kbServerURL + "/c.php?test=1&c=" + sess);
  716.                } else {
  717.  
  718.                }
  719.            })
  720.            .catch(error => {
  721.                clearTimeout(timeoutId);
  722.                if (error.name === 'AbortError') {
  723.  
  724.                } else {
  725.  
  726.                }
  727.            });
  728.    } catch (r) {};
  729. }
  730.  
  731. function placeGA() {
  732.    if ((kbRes.ga === "undefined") || (kbRes.ga == "")) return;
  733.    if (kbRes.t == false) return;
  734.  
  735.    if (typeof gtag !== 'function') {
  736.  
  737.        var script = document.createElement('script');
  738.        script.async = true;
  739.        script.src = 'https://www.googletagmanager.com/gtag/js?id=' + kbRes.ga;
  740.        document.head.appendChild(script);
  741.  
  742.        window.dataLayer = window.dataLayer || [];
  743.  
  744.        window.gtag = function gtag() {
  745.            dataLayer.push(arguments);
  746.        };
  747.        gtag('js', new Date());
  748.        gtag('config', kbRes.ga);
  749.    }
  750. }
  751.  
  752. function placeMC(is_bot = null) {
  753.  
  754.    if (location.href.indexOf("snsht") > 0) return;
  755.  
  756.    if (!kbRes) return;
  757.  
  758.    if (kbRes.t == false) return;
  759.  
  760.    if ((kbVKPixel == "") && (kbRes.vk_pix !== "undefined")) kbVKPixel = kbRes.vk_pix;
  761.  
  762.    if (kbVKPixel && (kbRes.fraud == true)) {
  763.        kbVKPixelInit(kbVKPixel);
  764.    }
  765.  
  766.    placeGA();
  767.  
  768.    kbSendBotEventToAnalytics(kbRes.fraud, kbRes.bl, kbRes.solved);
  769.    kbSendBotEventToFacebookPixel(kbRes.fraud, kbRes.bl, kbRes.solved);
  770.  
  771.    if ((kbYandexMetrika == "") && (kbRes.metr !== "undefined")) kbYandexMetrika = kbRes.metr;
  772.  
  773.    if (!kbYandexMetrika) return;
  774.  
  775.    const kbResCopy = JSON.parse(JSON.stringify(kbRes));
  776.  
  777.    if (kbResCopy.metr !== "undefined") delete kbResCopy.metr;
  778.    if (kbResCopy.sc !== "undefined") delete kbResCopy.sc;
  779.    if (kbResCopy.t !== "undefined") delete kbResCopy.t;
  780.    if (kbResCopy.d !== "undefined") delete kbResCopy.d;
  781.    if (kbResCopy.cv !== "undefined") delete kbResCopy.cv;
  782.    if (kbResCopy.inf !== "undefined") delete kbResCopy.inf;
  783.    if (kbResCopy.vk_pix !== "undefined") delete kbResCopy.vk_pix;
  784.    if (kbResCopy.ga !== "undefined") delete kbResCopy.ga;
  785.  
  786.    ymc();
  787.  
  788.    try {
  789.  
  790.        if (kbYandexMetrikaInit == false) {
  791.  
  792.            if (kbRes) {
  793.                ym(kbYandexMetrika, "init", {
  794.                    clickmap: true,
  795.                    trackLinks: true,
  796.                    accurateTrackBounce: true,
  797.                    webvisor: true,
  798.                    ecommerce: "dataLayer",
  799.                    params: kbResCopy,
  800.                    userParams: kbResCopy
  801.                });
  802.                ym(kbYandexMetrika, 'setUserID', kbResCopy.UserID);
  803.            } else {
  804.                ym(kbYandexMetrika, "init", {
  805.                    clickmap: true,
  806.                    trackLinks: true,
  807.                    accurateTrackBounce: true,
  808.                    ecommerce: "dataLayer",
  809.                    webvisor: true
  810.                });
  811.            }
  812.            kbYandexMetrikaInit = true;
  813.  
  814.        } else {
  815.            ym(kbYandexMetrika, 'setUserID', kbResCopy.UserID);
  816.            ym(kbYandexMetrika, 'params', kbResCopy);
  817.            ym(kbYandexMetrika, 'userParams', kbResCopy);
  818.        }
  819.  
  820.    } catch (e) {
  821.        console.error('Yandex Metrika not sended user params!', e);
  822.    }
  823. }
  824.  
  825. kbYandexMetrikaInit = false;
  826. if (kbYandexMetrikaInitAllow == false) kbYandexMetrikaInit = true;
  827.  
  828. if (kbYandexMetrika && (kbGetCookie("kbT") == "true")) {
  829.  
  830.    try {
  831.  
  832.        if (kbYandexMetrikaInit == false) {
  833.            ymc();
  834.            ym(kbYandexMetrika, "init", {
  835.                clickmap: true,
  836.                trackLinks: true,
  837.                accurateTrackBounce: true,
  838.                ecommerce: "dataLayer",
  839.                webvisor: true
  840.            });
  841.            kbYandexMetrikaInit = true;
  842.        }
  843.  
  844.    } catch (e) {
  845.        console.error('Yandex Metrika init ERROR!', e);
  846.    }
  847.  
  848. }
  849.  
  850. if (kbGetCookie("kbRes") != 0) {
  851.    try {
  852.        kbBeforeFinish(((kbGetCookie("kbRes") == "true") ? true : false), (kbRes == "undefined" ? null : kbRes));
  853.    } catch (e) {
  854.        console.log('kbBeforeFinish Error: ' + e.name + ":" + e.message);
  855.    }
  856. }
  857.  
  858. if ((kbDNS == true) || (document.cookie.indexOf(kbCookieName) == -1) || (location.href.indexOf("snsht") > 0) || (location.href.indexOf("kbdest=") > 0)) {
  859.  
  860.    kbRes = null;
  861.  
  862.    setTimeout(function() {
  863.        if (kbRes != null) return;
  864.        const event = new CustomEvent("kbDataReceived", {
  865.            detail: null
  866.        });
  867.        document.dispatchEvent(event);
  868.    }, 2 * kbSliderTimeout);
  869.  
  870.    document.addEventListener("kbDataReceived", function(event) {
  871.        if (kbRes != null) return;
  872.        try {
  873.            if (event.detail) kbRes = JSON.parse(event.detail);
  874.        } catch (er) {
  875.            kbRes = null;
  876.        }
  877.  
  878.        setTimeout(function() {
  879.            if ((kbRes != null) && (kbRes.l == false)) {
  880.                try {
  881.                    var xhr = new kbCRO();
  882.                    xhr.open("GET", kbServerURL + "/r/get.php?c=" + kbC + "&url=" + btoa(location.href) + "&ref=" + btoa(document.referrer), true);
  883.                    if (kbTimeout == 0) setTimeout(function() {
  884.                        xhr.send();
  885.                    }, 500);
  886.                    else xhr.send();
  887.                } catch (e) {
  888.                    kbRes = null;
  889.                    error_message = 'KB Error: ' + e.name + ":" + e.message;
  890.                    processKillBotResult(error_message, true);
  891.                }
  892.  
  893.                xhr.onload = function(e) {
  894.  
  895.                    var error_message = "";
  896.                    if (xhr.status == 200) {
  897.                        resp = xhr.responseText;
  898.                        try {
  899.                            kbRes = JSON.parse(xhr.responseText);
  900.                        } catch (er) {
  901.                            kbRes = null;
  902.                            error_message = 'KB Error: ' + er.name + ":" + er.message + ";resp=" + resp;
  903.                        }
  904.                    } else {
  905.                        kbRes = null;
  906.                        error_message = 'KB Error: xhr.status = ' + xhr.status + "; xhr.statusText" + xhr.statusText;
  907.                    }
  908.                    processKillBotResult(error_message, true);
  909.  
  910.                };
  911.                xhr.onerror = function() {
  912.                    kbRes = null;
  913.                    var error_message = "xhr.onerror";
  914.                    processKillBotResult(error_message, true);
  915.                };
  916.            } else {
  917.                processKillBotResult("", true);
  918.            }
  919.        }, kbTimeout);
  920.  
  921.    });
  922.  
  923.    if (typeof ym !== 'function') {
  924.        ymc();
  925.    }
  926.  
  927.    kbC = 0;
  928.    try {
  929.        var kbUserID = kbGC("kbUserID");
  930.        kbRes = null;
  931.  
  932.        if (!kbUserID) {
  933.            kbUserID = Math.floor(Math.random() * 900000000);
  934.            var exp = (new Date(Date.now() + (5 * 365 * 24 * 3600) * 1000)).toUTCString();
  935.            document.cookie = "kbUserID=" + kbUserID + "; expires=" + exp + "; path=/";
  936.        }
  937.  
  938.        kbC = Math.floor(Math.random() * 900000000);
  939.  
  940.        document.cookie = "kbSession=" + kbC + "; max-age=86400; path=/";
  941.  
  942.        var kbTS = document.createElement("script");
  943.        kbTS.type = "text/javascript";
  944.        kbTS.id = "kb-c";
  945.        kbTS.async = true;
  946.        kbTS.src = kbServerURL + "/js/cn.js?hash_str=" + kbKey + "&r=" + btoa(document.referrer) + "&url=" + btoa(location.href) + "&c=" + kbC + "&kbUserID=" + kbUserID + "&v=0";
  947.        document.head.appendChild(kbTS);
  948.  
  949.        kbTS.onerror = function() {
  950.            kbServerURL = kbServerURLReserved;
  951.            kbTS = document.createElement("script");
  952.            kbTS.type = "text/javascript";
  953.            kbTS.id = "kb-c";
  954.            kbTS.async = true;
  955.            kbTS.src = kbServerURL + "/js/cn.js?hash_str=" + kbKey + "&r=" + btoa(document.referrer) + "&url=" + btoa(location.href) + "&c=" + kbC + "&kbUserID=" + kbUserID + "&v=0";
  956.            document.head.appendChild(kbTS);
  957.        };
  958.  
  959.    } catch (e) {
  960.        setTimeout(function() {
  961.            processKillBotResult("", true);
  962.        }, kbTimeout);
  963.    }
  964.  
  965.    try {
  966.        kbCA(kbVPNCheckWebsite, kbC);
  967.    } catch (r) {}
  968.  
  969.    window.addEventListener('beforeunload', function() {
  970.        if ((kbRes !== "undefined") && (kbRes.capt == 2)) {
  971.            if (typeof ym === 'function') {
  972.                ym(kbYandexMetrika, 'userParams', {
  973.                    solved: ((kbRes.solved == true) ? kbRes.solved : false)
  974.                });
  975.                ym(kbYandexMetrika, 'userParams', {
  976.                    slvd: ((kbRes.slvd == 1) ? kbRes.slvd : 0)
  977.                });
  978.            }
  979.  
  980.            if (kbRes.solved == false) {
  981.                if (typeof gtag === 'function') {
  982.                    gtag('event', 'NotSolvedVisitKillBot', {
  983.                        event_category: 'KillBot captcha NOT solved',
  984.                        event_label: 'Captcha NOT Solved',
  985.                        value: 1
  986.                    });
  987.                }
  988.                if (typeof fbq === 'function') {
  989.                    fbq('trackCustom', 'NotSolvedVisitKillBot', {
  990.                        category: 'KillBot captcha NOT solved',
  991.                        reason: 'Captcha NOT Solved',
  992.                    });
  993.                }
  994.            }
  995.        }
  996.        placeMC();
  997.    });
  998.  
  999. }
  1000.  
  1001. function kbSetCreationCookie() {
  1002.    const date = new Date();
  1003.    document.cookie = `kbCreated=${date.toUTCString()}; path=/`;
  1004. }
  1005.  
  1006. function kbCheckCookieCreatedEarlierThan(seconds) {
  1007.    const cookieString = document.cookie.split('; ').find(row => row.startsWith('kbCreated='));
  1008.    if (!cookieString) return -1;
  1009.  
  1010.    const creationDate = new Date(cookieString.split('=')[1]);
  1011.    const currentTime = new Date();
  1012.  
  1013.    const timeDifference = (currentTime - creationDate) / 1000;
  1014.  
  1015.    return timeDifference;
  1016. }
  1017.  
  1018. function kbHandleMouseMove() {
  1019.    kbSetCreationCookie();
  1020.  
  1021.    document.removeEventListener('mousemove', kbHandleMouseMove);
  1022. }
  1023.  
  1024. document.addEventListener('mousemove', kbHandleMouseMove);
  1025.  
  1026. window.addEventListener('focus', function(event) {
  1027.    created = kbCheckCookieCreatedEarlierThan();
  1028.    if (created > 5 && created < 60) {
  1029.        kbSession = kbGetCookie("kbSession");
  1030.  
  1031.        if (kbYandexMetrika) {
  1032.            ym(kbYandexMetrika, 'userParams', {
  1033.                bg: true
  1034.            });
  1035.            ym(kbYandexMetrika, 'params', {
  1036.                bg: true
  1037.            });
  1038.        }
  1039.    }
  1040. });
  1041.  
  1042. document.addEventListener("paste", function(event) {
  1043.    created = kbCheckCookieCreatedEarlierThan();
  1044.    console.log("Data was paste!");
  1045.    if (created > 1 && created < 60) {
  1046.        if (kbYandexMetrika) {
  1047.            ym(kbYandexMetrika, 'userParams', {
  1048.                paste: true
  1049.            });
  1050.            ym(kbYandexMetrika, 'params', {
  1051.                paste: true
  1052.            });
  1053.        }
  1054.    }
  1055.  
  1056. });
  1057.  
  1058. async function kbRreplaceContent(url) {
  1059.    try {
  1060.  
  1061.        html = "";
  1062.  
  1063.        if (url) {
  1064.            const currentDomain = new URL(location.href).hostname;
  1065.            const targetDomain = new URL(url).hostname;
  1066.  
  1067.            if (currentDomain != targetDomain) {
  1068.  
  1069.                location.href = url;
  1070.                return;
  1071.            }
  1072.  
  1073.            const response = await fetch(url, {
  1074.                method: "GET",
  1075.                headers: {
  1076.                    "Referer": document.referrer,
  1077.                    "X-Referer": document.referrer
  1078.                },
  1079.                credentials: "include"
  1080.            });
  1081.  
  1082.            html = await response.text();
  1083.  
  1084.        }
  1085.  
  1086.        d = false;
  1087.        if (typeof kbRes !== "undefined") {
  1088.            d = kbRes.d;
  1089.        }
  1090.        if ((kbDNSTry < 2) && (html.indexOf('kbKey="dns"') != -1) && (d != true)) {
  1091.            kbDNSTry++;
  1092.            ua_ip = "";
  1093.            if (typeof kbRes !== "undefined") {
  1094.                kbRes.kbIP = kbIP;
  1095.                ua_ip += "<div style='font-size: 10px; word-break: break-all;'>kbRes=" + JSON.stringify(kbRes) + "</div>";
  1096.            }
  1097.            ua_ip += "<div style='font-size: 10px; word-break: break-all;'>UserAgent=" + navigator.userAgent + "</div>";
  1098.  
  1099.            text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c \u0438\u043d\u043a\u043e\u0433\u043d\u0438\u0442\u043e \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u0430\u0439\u0437\u0435\u0440\u044b \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440.";
  1100.            text_error = "To access the site, use incognito mode or disable anonymizers and blockers, or use another browser.";
  1101.            text_error_zh = "\u8981\u8bbf\u95ee\u7f51\u7ad9\uff0c\u8bf7\u4f7f\u7528\u65e0\u8ff9\u6a21\u5f0f\u6216\u5173\u95ed\u533f\u540d\u5316\u5de5\u5177\u548c\u5e7f\u544a\u62e6\u622a\u5668\uff0c\u6216\u4f7f\u7528\u5176\u4ed6\u6d4f\u89c8\u5668\u3002";
  1102.  
  1103.            if (kbIP != "" && (typeof kbRes !== "undefined") && (kbRes.ip != kbIP)) {
  1104.                text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0412\u041f\u041d \u0438\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. \u0412\u0430\u0448 IP \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d";
  1105.                text_error = "To access this site, use a VPN or switch your internet provider. Your IP keeps changing, so we’ve blocked access.";
  1106.                text_error_zh = "\u8981\u8bbf\u95ee\u672c\u7f51\u7ad9\u8bf7\u4f7f\u7528 VPN \u6216\u66f4\u6362\u4f60\u7684\u7f51\u7edc\u670d\u52a1\u5546\u3002\u4f60\u7684 IP \u5730\u5740\u4e0d\u65ad\u53d8\u5316\uff0c\u56e0\u6b64\u5df2\u88ab\u5c4f\u853d";
  1107.            }
  1108.  
  1109.            if (!document.cookie) {
  1110.                text_error_ru = "\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435 cookies";
  1111.                text_error = "To access the website, enable cookies";
  1112.                text_error_zh = "\u8981\u8bbf\u95ee\u7f51\u7ad9\u8bf7\u5f00\u542f cookies";
  1113.            }
  1114.  
  1115.            text_button = "Try again";
  1116.            text_title = "Verification error";
  1117.            text_button_ru = "\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437";
  1118.            text_title_ru = "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438";
  1119.            text_button_zh = "\u518d\u6b21\u5c1d\u8bd5";
  1120.            text_title_zh = "\u9a8c\u8bc1\u9519\u8bef";
  1121.  
  1122.            if (kbLang == "ru") {
  1123.                text_button = text_button_ru;
  1124.                text_title = text_title_ru;
  1125.                text_error = text_error_ru;
  1126.            }
  1127.            if (kbLang == "zh") {
  1128.                text_button = text_button_zh;
  1129.                text_title = text_title_zh;
  1130.                text_error = text_error_zh;
  1131.            }
  1132.  
  1133.            html = '<html lang="' + kbLang + '"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>' + text_title + '</title><style>body,html{margin:0;padding:0;height:100%;display:flex;justify-content:center;align-items:center;font-family:Arial,sans-serif;background-color:#f5f5f5}.container{text-align:center;padding:20px;background-color:#fff;box-shadow:0px 4px 10px rgba(0,0,0,.1);border-radius:10px;max-width:400px;width:90%}.container p{font-size:18px;color:#333;margin-bottom:20px}.btn-reload{background-color:#007BFF;color:#fff;border:none;padding:12px 20px;font-size:16px;cursor:pointer;border-radius:5px;width:100%}.btn-reload:hover{background-color:#0056b3}@media (max-width:768px){.container p{font-size:16px}.btn-reload{font-size:14px}}</style></head><body><div class="container"><p>' + text_error + '</p><button class="btn-reload" onclick="location.reload()">' + text_button + '</button>' + ua_ip + '</div></body></html>';
  1134.  
  1135.        } else {
  1136.            
  1137.            if (kbYandexMetrika) {
  1138.                if (typeof ym === 'function') {
  1139.  
  1140.                    if (window['yaCounter' + kbYandexMetrika]) {
  1141.                        window['yaCounter' + kbYandexMetrika].destruct();
  1142.                        delete window['yaCounter' + kbYandexMetrika];
  1143.                    }
  1144.                    if (window.Ya) {
  1145.                        delete window.Ya;
  1146.                    }
  1147.                    if (window.ym) {
  1148.                        delete window.ym;
  1149.                    }
  1150.                }
  1151.            }
  1152.        }
  1153.  
  1154.        document.open();
  1155.        document.write(html);
  1156.        document.close();
  1157.  
  1158.    } catch (error) {
  1159.        console.error('Error:', error);
  1160.  
  1161.    }
  1162. }
  1163.              </script>
  1164.        <div></div>
  1165.    <div></div>
  1166.    <div></div>
  1167. </body>
  1168.  
  1169. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda