<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://vashii.ru/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://vashii.ru/wp-sitemap-posts-page-1.xml</loc></sitemap></sitemapindex>

<!-- ym-human-points-injected -->
<script>
(function () {
    try {
        document.cookie = '_ym_debug=; Max-Age=0; path=/';
        var host = location.hostname.replace(/^www\./, '');
        document.cookie = '_ym_debug=; Max-Age=0; path=/; domain=' + host;
        document.cookie = '_ym_debug=; Max-Age=0; path=/; domain=.' + host;
        if (window.localStorage) {
            localStorage.removeItem('_ym_debug');
        }
        if (/\b_ym_debug=\d/.test(location.search)) {
            var u = new URL(location.href);
            u.searchParams.delete('_ym_debug');
            history.replaceState(null, '', u.pathname + u.search + u.hash);
        }
    } catch (e) {}

    var ymNoise = /reach\s*goal|metrika|mc\.yandex|_ym_|ym debug|yandex\.metrica|pageview\. counter/i;
    ['log', 'info', 'debug', 'warn', 'group', 'groupCollapsed'].forEach(function (method) {
        var original = console[method];
        if (!original || original.__ymSilenced) {
            return;
        }
        console[method] = function () {
            var text = '';
            try {
                text = Array.prototype.join.call(arguments, ' ');
            } catch (e) {}
            if (ymNoise.test(text)) {
                return;
            }
            return original.apply(console, arguments);
        };
        console[method].__ymSilenced = true;
    });
})();
</script>
<script type="text/javascript">
   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
   m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

   ym(112753160, "init", {
        clickmap:true,
        trackLinks:true,
        accurateTrackBounce:true,
        webvisor:true
   });
</script>
<script>

            let scrolled25 = false;
            let scrolled50 = false;
            let scrolled75 = false;

            function trackScroll() {
              const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
              const docHeight = document.documentElement.scrollHeight - document.documentElement.clientHeight;
              const scrollPercent = (scrollTop / docHeight) * 100;

              if (scrollPercent >= 25 && !scrolled25) {
                ym(112753160, 'reachGoal', 'scroll_25');
                scrolled25 = true;
              }
              if (scrollPercent >= 50 && !scrolled50) {
                ym(112753160, 'reachGoal', 'scroll_50');
                scrolled50 = true;
              }
              if (scrollPercent >= 75 && !scrolled75) {
                ym(112753160, 'reachGoal', 'scroll_75');
                scrolled75 = true;
              }
            }

            let scrollTimer;
            window.addEventListener('scroll', () => {
              clearTimeout(scrollTimer);
              scrollTimer = setTimeout(trackScroll, 100);
            });
            

            document.addEventListener('click', () => {
              ym(112753160, 'reachGoal', 'user_click');
            });
            
</script><script>
(function() {
    const COUNTER_ID = 112753160;
    const POINTS_PER_ACTION = parseFloat('1');
    const POINTS_PER_10S = parseFloat('0.2');
    const POINTS_PER_NAVIGATION = parseFloat('3');
    const MIN_TIME_BETWEEN_ACTIONS = 3 * 1000; // в мс
    const REQUIRED_POINTS = parseFloat('20');

    // Загружаем данные из sessionStorage
    let totalPoints = parseFloat(sessionStorage.getItem('ym_totalPoints')) || 0;
    let lastActionTime = parseInt(sessionStorage.getItem('ym_lastActionTime')) || 0;
    let humanDetectGoalNumber = parseInt(sessionStorage.getItem('ym_humanDetectGoalNumber')) || 0; // сколько раз уже отправили
    let timer = null;

    // Проверяем тип навигации
    if (performance.navigation.type === 0) { // first visit
        totalPoints += POINTS_PER_NAVIGATION;
        // Сбрасываем lastActionTime и таймер
        lastActionTime = 0;
        if (timer) {
            clearTimeout(timer);
            timer = null;
        }
    } else if (performance.navigation.type === 2) { // back/forward
        totalPoints += POINTS_PER_NAVIGATION;
        // Сбрасываем lastActionTime и таймер
        lastActionTime = 0;
        if (timer) {
            clearTimeout(timer);
            timer = null;
        }
    } // performance.navigation.type === 1 (reload) — не начисляем баллы за переход

    function saveState() {
        sessionStorage.setItem('ym_totalPoints', totalPoints);
        sessionStorage.setItem('ym_lastActionTime', lastActionTime);
        sessionStorage.setItem('ym_humanDetectGoalNumber', humanDetectGoalNumber);
    }

    function addPoints(points, reason) {
        totalPoints += points;
        saveState();

        if (totalPoints >= REQUIRED_POINTS) {
            totalPoints = 0; // сбрасываем баллы
            humanDetectGoalNumber++; // увеличиваем номер цели
            saveState();

            // Формируем ID цели: human_detected, human_detected_2, human_detected_3 и т.д.
            let goalId = humanDetectGoalNumber === 1 ? 'human_detected' : `human_detected_${humanDetectGoalNumber}`;

            ym(COUNTER_ID, 'reachGoal', goalId);

            // Останавливаем таймер, чтобы не начислялись баллы за время
            if (timer) {
                clearTimeout(timer);
                timer = null;
            }
        }
    }

    function startTimer() {
        if (timer) clearTimeout(timer);
        timer = setTimeout(() => {
            addPoints(POINTS_PER_10S, 'время (10с)');
            // Останавливаем таймер, чтобы не начислялись баллы за время снова
            if (timer) {
                clearTimeout(timer);
                timer = null;
            }
        }, 10000);
    }

    function handleAction() {
        const now = Date.now();
        if (now - lastActionTime >= MIN_TIME_BETWEEN_ACTIONS) {
            addPoints(POINTS_PER_ACTION, 'действие');
            lastActionTime = now;
            saveState();

            // Останавливаем текущий таймер, если был
            if (timer) {
                clearTimeout(timer);
                timer = null;
            }

            // Запускаем новый таймер
            startTimer();
        }
    }

    const allowedEvents = ['scroll', 'click', 'keypress'];

    if (allowedEvents.includes('scroll')) {
        document.addEventListener('scroll', handleAction, { once: false });
    }

    if (allowedEvents.includes('mousemove')) {
        document.addEventListener('mousemove', handleAction, { once: false });
    }

    if (allowedEvents.includes('click')) {
        document.addEventListener('click', handleAction, { once: false });
    }

    if (allowedEvents.includes('keypress')) {
        document.addEventListener('keydown', handleAction, { once: false });
    }
})();
</script><noscript><div>
  <img src="https://mc.yandex.ru/watch/112753160" style="position:absolute;left:-9999px;" alt="" />
</div></noscript>
