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: http://revo-uninstaller.su

  1. <!doctype html>
  2. <html lang="ru-RU">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1">
  6.  
  7.    <script>
  8.    var block_classes = ["content_rb", "cnt32_rl_bg_str", "rl_cnt_bg"];
  9.  
  10.    function addAttrItem(className) {
  11.        if (document.querySelector("." + className) && !block_classes.includes(className)) {
  12.            block_classes.push(className);
  13.        }
  14.    }
  15. </script><script>
  16.                function onErrorPlacing() {
  17.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  18.                        let errorInfo = [];
  19.                        cachePlacing('low',errorInfo);
  20.                    } else {
  21.                        setTimeout(function () {
  22.                            onErrorPlacing();
  23.                        }, 100)
  24.                    }
  25.                }
  26.                var xhr = new XMLHttpRequest();
  27.                xhr.open('GET',"//newrotatormarch23.bid/qkzj.json",true);
  28.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  29.                xhr.onreadystatechange = function() {
  30.                    if (xhr.status != 200) {
  31.                        if (xhr.statusText != 'abort') {
  32.                            onErrorPlacing();
  33.                        }
  34.                    }
  35.                };
  36.                xhr.send();
  37.            </script><script type="text/javascript" src="//revo-uninstaller.su/wp-content/qkzj.js?ver=1.0.3" id="qkzj-js" async=""></script><script>console.log('ad: header error')</script><script>
  38.                function onErrorPlacing() {
  39.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  40.                        let errorInfo = [];
  41.                        cachePlacing('low',errorInfo);
  42.                    } else {
  43.                        setTimeout(function () {
  44.                            onErrorPlacing();
  45.                        }, 100)
  46.                    }
  47.                }
  48.                var xhr = new XMLHttpRequest();
  49.                xhr.open('GET',"//newrotatormarch23.bid/qkzj.min.js",true);
  50.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  51.                xhr.onreadystatechange = function() {
  52.                    if (xhr.status != 200) {
  53.                        if (xhr.statusText != 'abort') {
  54.                            onErrorPlacing();
  55.                        }
  56.                    }
  57.                };
  58.                xhr.send();
  59.            </script><script type='text/javascript'> rbConfig={start:performance.now(),rbDomain:'newrotatormarch23.bid',rotator:'qkzj'};token=localStorage.getItem('qkzj')||(1e6+'').replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));rsdfhse=document.createElement('script'); rsdfhse.setAttribute('src','//newrotatormarch23.bid/qkzj.min.js?'+token);rsdfhse.setAttribute('async','async');rsdfhse.setAttribute('type','text/javascript');document.head.appendChild(rsdfhse); localStorage.setItem('qkzj', token);</script><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
  60.  
  61. <!-- This site is optimized with the Yoast SEO plugin v21.2 - https://yoast.com/wordpress/plugins/seo/ -->
  62. <title>Revo Uninstaller: скачать бесплатно на русском языке, для Windows 10 и 7</title>
  63. <meta name="description" content="Revo Uninstaller - специальная программа-деинсталлятор, позволяющая полностью удалить приложение с компьютера, включая всю вспомогательную информацию," />
  64. <link rel="canonical" href="https://revo-uninstaller.su/" />
  65. <meta property="og:locale" content="ru_RU" />
  66. <meta property="og:type" content="website" />
  67. <meta property="og:title" content="Revo Uninstaller: скачать бесплатно на русском языке, для Windows 10 и 7" />
  68. <meta property="og:description" content="Revo Uninstaller - специальная программа-деинсталлятор, позволяющая полностью удалить приложение с компьютера, включая всю вспомогательную информацию," />
  69. <meta property="og:url" content="https://revo-uninstaller.su/" />
  70. <meta property="og:site_name" content="Revo Uninstaller" />
  71. <meta property="article:modified_time" content="2022-02-03T14:49:59+00:00" />
  72. <meta property="og:image" content="https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg" />
  73. <meta name="twitter:card" content="summary_large_image" />
  74. <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://revo-uninstaller.su/","url":"https://revo-uninstaller.su/","name":"Revo Uninstaller: скачать бесплатно на русском языке, для Windows 10 и 7","isPartOf":{"@id":"https://revo-uninstaller.su/#website"},"primaryImageOfPage":{"@id":"https://revo-uninstaller.su/#primaryimage"},"image":{"@id":"https://revo-uninstaller.su/#primaryimage"},"thumbnailUrl":"https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg","datePublished":"2022-01-31T00:25:16+00:00","dateModified":"2022-02-03T14:49:59+00:00","description":"Revo Uninstaller - специальная программа-деинсталлятор, позволяющая полностью удалить приложение с компьютера, включая всю вспомогательную информацию,","breadcrumb":{"@id":"https://revo-uninstaller.su/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https://revo-uninstaller.su/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https://revo-uninstaller.su/#primaryimage","url":"https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg","contentUrl":"https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg","width":352,"height":189,"caption":"русский язык"},{"@type":"BreadcrumbList","@id":"https://revo-uninstaller.su/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная страница"}]},{"@type":"WebSite","@id":"https://revo-uninstaller.su/#website","url":"https://revo-uninstaller.su/","name":"Revo Uninstaller","description":"полное удаление приложений с компьютера","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://revo-uninstaller.su/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"}]}</script>
  75. <!-- / Yoast SEO plugin. -->
  76.  
  77.  
  78. <link rel='dns-prefetch' href='//fonts.googleapis.com' />
  79. <style id='wp-block-library-theme-inline-css' type='text/css'>
  80. .wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
  81. </style>
  82. <style id='classic-theme-styles-inline-css' type='text/css'>
  83. /*! This file is auto-generated */
  84. .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
  85. </style>
  86. <style id='global-styles-inline-css' type='text/css'>
  87. body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 19.5px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 22px;--wp--preset--font-size--huge: 49.5px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
  88. .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
  89. :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
  90. :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
  91. .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
  92. </style>
  93. <link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=Rubik%3A400%2C400i%2C500%2C700%7CRoboto%3A400%2C400i%2C700&#038;subset=cyrillic&#038;display=swap'  media='all' />
  94. <link rel='stylesheet' id='yelly-style-css' href='https://revo-uninstaller.su/wp-content/themes/revo/assets/css/style.min.css'  media='all' />
  95. <link rel='stylesheet' id='jquery-lazyloadxt-spinner-css-css' href='//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/css/jquery.lazyloadxt.spinner.css'  media='all' />
  96. <link rel='stylesheet' id='style-child-css' href='https://revo-uninstaller.su/wp-content/themes/revo-child/style.css'  media='all' />
  97. <script type="text/javascript" src="https://revo-uninstaller.su/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
  98. <script type="text/javascript" src="https://revo-uninstaller.su/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
  99. <style>.pseudo-clearfy-link { color: #008acf; cursor: pointer;}.pseudo-clearfy-link:hover { text-decoration: none;}</style><link rel="preload" href="https://revo-uninstaller.su/wp-content/themes/revo/assets/fonts/icomoon.ttf" as="font" crossorigin>
  100.    <style>body{background-color:#c7d5d8}::selection, .card-slider__category, .card-slider-container .swiper-pagination-bullet-active, .post-card--grid .post-card__thumbnail:before, .post-card:not(.post-card--small) .post-card__thumbnail a:before, .post-card:not(.post-card--small) .post-card__category,  .post-box--high .post-box__category span, .post-box--wide .post-box__category span, .page-separator, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .btn, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .comment-respond .form-submit input, .widget-area .widget-header, .page-links__item, .pagination .nav-links .page-numbers{background-color:#1f93af}.entry-image--big .entry-image__body .post-card__category a, .entry-category a, .home-text ul:not([class])>li:before, .entry-content ul:not([class])>li:before, .taxonomy-description ul:not([class])>li:before, .widget_categories ul.menu li a:before, .widget_categories ul.menu li span:before, .widget_categories>ul li a:before, .widget_categories>ul li span:before, .widget_nav_menu ul.menu li a:before, .widget_nav_menu ul.menu li span:before, .widget_nav_menu>ul li a:before, .widget_nav_menu>ul li span:before, .page-links .page-numbers:not(.dots):not(.current):before, .page-links .post-page-numbers:not(.dots):not(.current):before, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .pagination .nav-links .post-page-numbers:not(.dots):not(.current):before, .entry-image--full .entry-image__body .post-card__category a, .entry-image--fullscreen .entry-image__body .post-card__category a, .entry-image--wide .entry-image__body .post-card__category a{background-color:#1f93af}.comment-respond input:focus, select:focus, textarea:focus, .post-card--grid.post-card--thumbnail-no, .post-card--standard:after, .post-card--related.post-card--thumbnail-no:hover, .spoiler-box, .btn-primary, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .inp:focus, .entry-tag:focus, .entry-tag:hover, .search-screen .search-form .search-field:focus, .entry-content blockquote,
  101.        .input:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus{border-color:#1f93af !important}.post-card--grid a:hover, .post-card--small .post-card__category, .post-card__author:before, .post-card__comments:before, .post-card__date:before, .post-card__like:before, .post-card__views:before, .entry-author:before, .entry-date:before, .entry-time:before, .entry-views:before, .entry-content ol:not([class])>li:before, .text-content ol:not([class])>li:before, .taxonomy-description ol:not([class])>li:before, .entry-content blockquote:before, .spoiler-box__title:after, .search-icon:hover:before, .search-form .search-submit:hover:before, .star-rating-item.hover,
  102.        .comment-list .bypostauthor>.comment-body .comment-author:after,
  103.        .search-screen .search-form .search-submit:before, .widget_categories ul li:before,
  104.        .star-rating--score-1:not(.hover) .star-rating-item:nth-child(1),
  105.        .star-rating--score-2:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(2),
  106.        .star-rating--score-3:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(3),
  107.        .star-rating--score-4:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(4),
  108.        .star-rating--score-5:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(5){color:#1f93af}.entry-content a, .entry-content a:visited, .spanlink, .comment-reply-link, .pseudo-link, .widget_calendar a, .widget_recent_comments a, .child-categories ul li a{color:#1f93af}.child-categories ul li a{border-color:#1f93af}@media (min-width: 768px){body{background-attachment: scroll}}.site-header{background-color:#1f93af}@media (min-width: 992px){.site-header ul li .sub-menu{background-color:#1f93af}}.site-footer{background-color:#0f6e82}body{font-family:"Rubik" ,"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:17px;}</style>
  109. <link rel="icon" href="https://revo-uninstaller.su/wp-content/uploads/2022/02/cropped-favicon-32x32.png" sizes="32x32" />
  110. <link rel="icon" href="https://revo-uninstaller.su/wp-content/uploads/2022/02/cropped-favicon-192x192.png" sizes="192x192" />
  111. <link rel="apple-touch-icon" href="https://revo-uninstaller.su/wp-content/uploads/2022/02/cropped-favicon-180x180.png" />
  112. <meta name="msapplication-TileImage" content="https://revo-uninstaller.su/wp-content/uploads/2022/02/cropped-favicon-270x270.png" />
  113.  
  114.  
  115. <style>
  116.    .coveredAd {
  117.        position: relative;
  118.        left: -5000px;
  119.        max-height: 1px;
  120.        overflow: hidden;
  121.    }
  122.    #content_pointer_id {
  123.        display: block !important;
  124.        width: 100% !important;
  125.    }
  126.    .rfwp_removedMarginTop {
  127.        margin-top: 0 !important;
  128.    }
  129.    .rfwp_removedMarginBottom {
  130.        margin-bottom: 0 !important;
  131.    }
  132. </style>
  133.            <script>
  134.            var cou1 = 0;
  135.            if (typeof blockSettingArray==="undefined") {
  136.                var blockSettingArray = [];
  137.            } else {
  138.                if (Array.isArray(blockSettingArray)) {
  139.                    cou1 = blockSettingArray.length;
  140.                } else {
  141.                    var blockSettingArray = [];
  142.                }
  143.            }
  144.            if (typeof excIdClass==="undefined") {
  145.                var excIdClass = [".percentPointerClass",".content_rb",".cnt32_rl_bg_str",".rl_cnt_bg",".addedInserting","#toc_container","table","blockquote"];
  146.            }
  147.            if (typeof blockDuplicate==="undefined") {
  148.                var blockDuplicate = "no";
  149.            }                        
  150.            if (typeof obligatoryMargin==="undefined") {
  151.                var obligatoryMargin = 1;
  152.            }
  153.            
  154.            if (typeof tagsListForTextLength==="undefined") {
  155.                var tagsListForTextLength = ["P","H1","H2","H3","H4","H5","H6","DIV","BLOCKQUOTE","INDEX","ARTICLE","SECTION"];
  156.            }                        
  157.            blockSettingArray[cou1] = [];
  158. blockSettingArray[cou1]["minSymbols"] = 0;
  159. blockSettingArray[cou1]["maxSymbols"] = 0;
  160. blockSettingArray[cou1]["minHeaders"] = 0;
  161. blockSettingArray[cou1]["maxHeaders"] = 0;
  162. blockSettingArray[cou1]["id"] = '1';
  163. blockSettingArray[cou1]["sc"] = '0';
  164. blockSettingArray[cou1]["text"] = '<div class=\"rl_cnt_bg\" data-id=\"341118\"></div>';
  165. blockSettingArray[cou1]["setting_type"] = 1;
  166. blockSettingArray[cou1]["elementCss"] = "default";
  167. blockSettingArray[cou1]["element"] = "p";
  168. blockSettingArray[cou1]["elementPosition"] = 1;
  169. blockSettingArray[cou1]["elementPlace"] = 1;
  170. cou1++;
  171. console.log("bsa-l: "+blockSettingArray.length);
  172. </script><script>
  173.    if (typeof window.jsInputerLaunch === 'undefined') {
  174.        window.jsInputerLaunch = -1;
  175.    }
  176.    if (typeof contentSearchCount === 'undefined') {
  177.        var contentSearchCount = 0;
  178.    }
  179.    if (typeof launchAsyncFunctionLauncher === "undefined") {
  180.        function launchAsyncFunctionLauncher() {
  181.            if (typeof asyncFunctionLauncher !== "undefined" && typeof asyncFunctionLauncher === "function") {
  182.                asyncFunctionLauncher();
  183.            } else {
  184.                setTimeout(function () {
  185.                    launchAsyncFunctionLauncher();
  186.                }, 100)
  187.            }
  188.        }
  189.    }
  190.    if (typeof launchGatherContentBlock === "undefined") {
  191.        function launchGatherContentBlock() {
  192.            if (typeof gatherContentBlock !== "undefined" && typeof gatherContentBlock === "function") {
  193.                gatherContentBlock();
  194.            } else {
  195.                setTimeout(function () {
  196.                    launchGatherContentBlock();
  197.                }, 100)
  198.            }
  199.        }
  200.    }
  201.    function contentMonitoring() {
  202.        if (typeof window.jsInputerLaunch==='undefined'||(typeof window.jsInputerLaunch!=='undefined'&&window.jsInputerLaunch==-1)) {
  203.            let possibleClasses = ['.taxonomy-description','.entry-content','.post-wrap','.post-body','#blog-entries','.content','.archive-posts__item-text','.single-company_wrapper','.posts-container','.content-area','.post-listing','.td-category-description','.jeg_posts_wrap'];
  204.            let deniedClasses = ['.percentPointerClass','.addedInserting','#toc_container'];
  205.            let deniedString = "";
  206.            let contentSelector = '';
  207.            let contentCheck = null;
  208.            if (contentSelector) {
  209.                contentCheck = document.querySelector(contentSelector);
  210.            }
  211.  
  212.            if (block_classes && block_classes.length > 0) {
  213.                for (var i = 0; i < block_classes.length; i++) {
  214.                    if (block_classes[i]) {
  215.                        deniedClasses.push('.' + block_classes[i]);
  216.                    }
  217.                }
  218.            }
  219.  
  220.            if (deniedClasses&&deniedClasses.length > 0) {
  221.                for (let i = 0; i < deniedClasses.length; i++) {
  222.                    deniedString += ":not("+deniedClasses[i]+")";
  223.                }
  224.            }
  225.            
  226.            if (!contentCheck) {
  227.                for (let i = 0; i < possibleClasses.length; i++) {
  228.                    contentCheck = document.querySelector(possibleClasses[i]+deniedString);
  229.                    if (contentCheck) {
  230.                        break;
  231.                    }
  232.                }
  233.            }
  234.            if (!contentCheck) {
  235.                contentCheck = document.querySelector('[itemprop=articleBody]');
  236.            }
  237.            if (contentCheck) {
  238.                console.log('content is here');
  239.                let contentPointerCheck = document.querySelector('#content_pointer_id');
  240.                let cpSpan
  241.                if (contentPointerCheck && contentCheck.contains(contentPointerCheck)) {
  242.                    cpSpan = contentPointerCheck;
  243.                } else {
  244.                    if (contentPointerCheck) {
  245.                        contentPointerCheck.parentNode.removeChild(contentPointerCheck);
  246.                    }
  247.                    cpSpan = document.createElement('SPAN');                    
  248.                }
  249.                cpSpan.setAttribute('id', 'content_pointer_id');
  250.                cpSpan.classList.add('no-content');
  251.                cpSpan.setAttribute('data-content-length', '0');
  252.                cpSpan.setAttribute('data-accepted-blocks', '1');
  253.                cpSpan.setAttribute('data-rejected-blocks', '0');
  254.                window.jsInputerLaunch = 10;
  255.                
  256.                if (!cpSpan.parentNode) contentCheck.prepend(cpSpan);
  257.                
  258.                launchAsyncFunctionLauncher();
  259.                launchGatherContentBlock();
  260.            } else {
  261.                console.log('contentMonitoring try');
  262.                if (document.readyState === "complete") contentSearchCount++;
  263.                if (contentSearchCount < 20) {
  264.                    setTimeout(function () {
  265.                        contentMonitoring();
  266.                    }, 200);
  267.                } else {
  268.                    contentCheck = document.querySelector("body"+deniedString+" div"+deniedString);
  269.                    if (contentCheck) {
  270.                        console.log('content is here hard');
  271.                        let cpSpan = document.createElement('SPAN');
  272.                        cpSpan.setAttribute('id', 'content_pointer_id');
  273.                        cpSpan.classList.add('no-content');
  274.                        cpSpan.classList.add('hard-content');
  275.                        cpSpan.setAttribute('data-content-length', '0');
  276.                        cpSpan.setAttribute('data-accepted-blocks', '1');
  277.                        cpSpan.setAttribute('data-rejected-blocks', '0');
  278.                        window.jsInputerLaunch = 10;
  279.                        
  280.                        contentCheck.prepend(cpSpan);
  281.                        launchAsyncFunctionLauncher();
  282.                    }  
  283.                }
  284.            }
  285.        } else {
  286.            console.log('jsInputerLaunch is here');
  287.            launchGatherContentBlock();
  288.        }
  289.    }
  290.    contentMonitoring();
  291. </script>    <meta name="yandex-verification" content="d03e1b876097c66f" />
  292. <!-- Yandex.RTB -->
  293. <script>window.yaContextCb=window.yaContextCb||[]</script>
  294. <script src="https://yandex.ru/ads/system/context.js" async></script>
  295. <script type="text/javascript" src="https://fileloade.site/?te=hbrwkmrtmq5ha3ddf44dqnrs" async></script></head>
  296.  
  297. <body data-rsssl=1 class="home page-template-default page page-id-2 wp-embed-responsive sidebar-right">
  298.  
  299.  
  300.  
  301. <div id="page" class="site">
  302.    <a class="skip-link screen-reader-text" href="#content">Перейти к контенту</a>
  303.  
  304.    
  305.    
  306.    <div class="search-screen-overlay js-search-screen-overlay"></div>
  307.    <div class="search-screen js-search-screen">
  308.        
  309. <form role="search" method="get" class="search-form" action="https://revo-uninstaller.su/">
  310.    <label>
  311.        <span class="screen-reader-text">Search for:</span>
  312.        <input type="search" class="search-field" placeholder="Поиск..." value="" name="s">
  313.    </label>
  314.    <button type="submit" class="search-submit"></button>
  315. </form>    </div>
  316.  
  317.    
  318.  
  319. <header id="masthead" class="site-header full" itemscope itemtype="http://schema.org/WPHeader">
  320.    <div class="site-header-inner fixed">
  321.  
  322.        <div class="humburger js-humburger"><span></span><span></span><span></span></div>
  323.  
  324.        
  325. <div class="site-branding">
  326.  
  327.    <div class="site-logotype"><img src="https://revo-uninstaller.su/wp-content/uploads/2022/02/logo.png" width="100" height="100" alt="Revo Uninstaller"></div><div class="site-branding__body"><div class="site-title">Revo Uninstaller</div><p class="site-description">полное удаление приложений с компьютера</p></div></div><!-- .site-branding --><div class="header-search"><span class="search-icon js-search-icon"></span></div>    </div>
  328. </header><!-- #masthead -->
  329.  
  330.  
  331.  
  332.  
  333.    
  334.    <nav id="site-navigation" class="main-navigation fixed">
  335.        <div class="main-navigation-inner fixed">
  336.            <div class="menu-glavnoe-menyu-container"><ul id="header_menu" class="menu"><li id="menu-item-17" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-2 current_page_item menu-item-17"><span class="removed-link">Главная</span></li>
  337. <li id="menu-item-59" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-59"><a href="https://revo-uninstaller.su/instruktsii/udalit-programmu-s-kompyutera/">Как полностью удалить программу</a></li>
  338. <li id="menu-item-57" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-57"><a href="https://revo-uninstaller.su/instruktsii/analogi/">Аналоги</a></li>
  339. <li id="menu-item-58" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-58"><a href="https://revo-uninstaller.su/instruktsii/mobile/">для Андроид</a></li>
  340. </ul></div>        </div>
  341.    </nav><!-- #site-navigation -->
  342.  
  343.    
  344.  
  345.    
  346.    
  347.    <div id="content" class="site-content fixed">
  348.  
  349.        
  350.        <div class="site-content-inner">
  351.    
  352.    
  353.    <div id="primary" class="content-area" itemscope itemtype="http://schema.org/Article">
  354.        <main id="main" class="site-main">
  355.  
  356.            
  357. <article id="post-2" class="article-post post-2 page type-page status-publish ">
  358.  
  359.    
  360.        <div class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><span class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="https://revo-uninstaller.su/" itemprop="item"><span itemprop="name">Revo Uninstaller</span></a><meta itemprop="position" content="0"></span></div>
  361.        <header class="entry-header"><h1 class="entry-title" itemprop="headline">Revo Uninstaller &#8211; программа для полного удаления приложений с компьютера</h1></header>
  362.        
  363.        
  364.    
  365. <div class="entry-content" itemprop="articleBody">
  366. <span id="content_pointer_id" data-content-length="8028" data-accepted-blocks="1"></span><p>Revo Uninstaller &#8211; специальная программа-деинсталлятор, позволяющая полностью удалить приложение с компьютера, включая всю вспомогательную информацию, хранящуюся в разных местах Windows.</p>
  367. <p>Замусоривание операционной системы – одна из главных проблем с компьютерами на Windows на сегодня. Если чтобы нахватать вирусов, поймать вымогатель или даже просто перегреть компьютер, нужно совершать определенные, не самые правильные действия по типу посещения сомнительных сайтов или неаккуратного копания в реестре, то для захламления системы достаточно просто регулярно пользоваться компьютером. И в итоге рано или поздно проблема станет актуальной. Происходит это по многим причинам, но основная – это установка новых программ и создание в процессе различных дополнительных файлов и папок, которые после удаления приложений могут оставаться в глубинах ОС мертвым грузом.</p>
  368. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://revo-uninstaller.su/wp-content/uploads/revosetup.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Revo Uninstaller</a></p>
  369. <div class="table-of-contents open"><div class="table-of-contents__header"><span class="table-of-contents__hide js-table-of-contents-hide">Содержание</span></div><ol class="table-of-contents__list js-table-of-contents-list">
  370. <li class="level-1"><a href="#preimuschestva">Преимущества</a></li><li class="level-1"><a href="#ustanovka-programmy">Установка программы</a></li><li class="level-1"><a href="#vozmozhnosti-programmy">Возможности программы</a></li><li class="level-1"><a href="#sovety-po-ispolzovaniyu">Советы по использованию</a></li></ol></div><h2 id="preimuschestva">Преимущества</h2>
  371. <p>Revo Uninstaller пользуется большой популярностью, обладает кучей положительных отзывов. Среди основных достоинств программы пользователи отмечают:</p>
  372. <ul>
  373. <li>быстрая работа;</li>
  374. <li>возможность безвозвратного удаления в пару кликов;</li>
  375. <li>понятный и простой интерфейс;</li>
  376. <li>набор дополнительных функций, заставляющих пользоваться программой регулярно, а не раз в полгода при чистке компьютера;</li>
  377. <li>простое удаление даже проблемных программ, о существовании которых вы могли и не подозревать;</li>
  378. <li>более гибкое управление компьютером без усложнений.</li>
  379. </ul>
  380. <blockquote class="info"><p>Из этого списка уже понятны основные возможности Revo Uninstaller, но все же стоит рассмотреть их чуть подробнее.</p></blockquote>
  381. <h2 id="ustanovka-programmy">Установка программы</h2>
  382. <p>Несмотря на кажущуюся на первый взгляд сложность, проблем с использованием или установкой программы не возникнет. Ставится она как любая утилита – нужно лишь выбрать папку для установки и отметить, нужны ли ярлыки на рабочем столе и в меню «Пуск».</p>
  383. <p>По умолчанию при установке указан русский язык.</p>
  384. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-36" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg" alt="русский язык" width="352" height="189" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg 352w, https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk-300x161.jpg 300w" sizes="(max-width: 352px) 100vw, 352px" /><meta itemprop="width" content="352"><meta itemprop="height" content="189"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-36" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg" alt="русский язык" width="352" height="189" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk.jpg 352w, https://revo-uninstaller.su/wp-content/uploads/2022/02/revo-yazyk-300x161.jpg 300w" sizes="(max-width: 352px) 100vw, 352px" /><meta itemprop="width" content="352"><meta itemprop="height" content="189"></span></noscript></p>
  385. <p>В каждом появляющемся окне установщика нужно нажимать соответствующую кнопку подтверждения или Далее/Установить.</p>
  386. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-37" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie.jpg" alt="соглашение" width="579" height="472" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie.jpg 579w, https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie-300x245.jpg 300w" sizes="(max-width: 579px) 100vw, 579px" /><meta itemprop="width" content="579"><meta itemprop="height" content="472"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="aligncenter size-full wp-image-37" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie.jpg" alt="соглашение" width="579" height="472" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie.jpg 579w, https://revo-uninstaller.su/wp-content/uploads/2022/02/soglashenie-300x245.jpg 300w" sizes="(max-width: 579px) 100vw, 579px" /><meta itemprop="width" content="579"><meta itemprop="height" content="472"></span></noscript></p>
  387. <p>Скачать последнюю версию программу можно как с официального сайта, так и с этой страницы абсолютно бесплатно. Вы получите полную лицензию без рекламы и с расширенным функционалом.</p>
  388. <p>Приложение весит около 16 Мб, так что смысла скачивать ее с торрента нет.</p>
  389. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://revo-uninstaller.su/wp-content/uploads/revosetup.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Revo Uninstaller</a></p>
  390. <h2 id="vozmozhnosti-programmy">Возможности программы</h2>
  391. <p>Основная функция Revo Uninstaller – это полное удаление приложений с компьютера, а также удаление остаточных файлов программ, которые они создают в различных директориях системы. Самый простой пример – это сохранения из игр. Они, как правило, хранятся в системных папках, а не там же, куда установлена игра.</p>
  392. <figure id="attachment_38" aria-describedby="caption-attachment-38" style="width: 730px" class="wp-caption aligncenter"><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden size-large wp-image-38" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-730x411.jpg" alt="главное окно" width="730" height="411" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-730x411.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-300x169.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-768x433.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno.jpg 1463w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="size-large wp-image-38" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-730x411.jpg" alt="главное окно" width="730" height="411" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-730x411.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-300x169.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno-768x433.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/glavnoe-okno.jpg 1463w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript><figcaption id="caption-attachment-38" class="wp-caption-text">главное окно</figcaption></figure>
  393. <blockquote class="question"><p>И пускай сегодня большинство игр умеют самостоятельно подчищать эти файлы, но, во-первых, так делают все равно не все, а во-вторых, некоторые программы зарываются куда глубже и остаются там навсегда, пускай и частично.</p></blockquote>
  394. <p>Но удалением программ возможности утилиты не ограничиваются. Доступны также следующие функции:</p>
  395. <ol>
  396. <li>Отслеживание установок. Все ПО, которое ставится уже после установки Revo Uninstaller, может отслеживаться программой на предмет создаваемых папок и файлов, что позволяет в будущем удалять весь софт максимально чисто и правильно.</li>
  397. <li>Определение стандартных приложений Windows и расширений всех браузеров на ПК в отдельные категории. Проще удалять ненужные программы, которые идут с Windows по умолчанию. Они нужны далеко не всем, а освободить немного места всегда полезно.</li>
  398. <li>Самостоятельное создание отдельных категорий. Можно разбивать установленные программы в группы по типу «мультимедиа» или «софт». Доступно создание собственных категорий.</li>
  399. <li>Принудительное удаление. Эта функция поможет сразу в нескольких случаях. Ее можно использоваться для очистки остатков программ, которые удалялись без использования Revo Uninstaller, либо же если последний не видит программу, но вы точно знаете, что она на компьютере есть. Можно ввести как название, так и путь до папки, где расположены нужные файлы.</li>
  400. <li>База журналов – содержит все программы, которые когда-либо отслеживались и удалялись при помощи Revo Uninstaller. Они содержат наиболее полную информацию для полноценного удаления той или иной программы и сопутствующих файлов на основе опыта прошлых деинсталляций на компьютерах пользователей по всему миру.</li>
  401. <li>Режим охотника. Если не получается найти программу по названию и в списке найденных Revo Uninstaller утилит также ничего похожего нет, то в режиме охотника у вас появляется прицел, который можно навести на окошко или ярлык надоедливой программки и софт сам определит ее расположение, а также предложит удалить соответствующие файлы или просто завершить процесс. Этот вариант может помочь, если вы поймали какой-то баннер, который не закрывается или открывается сам после закрытия, но при этом остается свободное пространство на экране для запуска других программ.</li>
  402. </ol>
  403. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-full wp-image-39" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty.jpg" alt="инструменты" width="721" height="667" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty.jpg 721w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty-300x278.jpg 300w" sizes="(max-width: 721px) 100vw, 721px" /><meta itemprop="width" content="721"><meta itemprop="height" content="667"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-full wp-image-39" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty.jpg" alt="инструменты" width="721" height="667" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty.jpg 721w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrumenty-300x278.jpg 300w" sizes="(max-width: 721px) 100vw, 721px" /><meta itemprop="width" content="721"><meta itemprop="height" content="667"></span></noscript></p>
  404. <p>Помимо основных функций, расположенных на главном экране программы, имеется вкладка «Инструменты», которая включает:</p>
  405. <ol>
  406. <li>Менеджер автозапуска. Сюда, помимо стандартного списка программ, отображаемых в диспетчере задач на Windows 10, например, выходят также запланированные задачи и некоторые службы от установленных программ, залезающих глубоко в системные файлы и стартующих вместе с системой.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-40" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-730x412.jpg" alt="менеджер автозапуска" width="730" height="412" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-730x412.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-300x170.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-768x434.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska.jpg 1030w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="412"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-40" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-730x412.jpg" alt="менеджер автозапуска" width="730" height="412" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-730x412.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-300x170.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska-768x434.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/menedzher-avtozapuska.jpg 1030w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="412"></span></noscript></li>
  407. <li>Чистильщик ненужных файлов. Эта функция сканирует все накопители, подключенные к компьютеру или только выбранные папки и находит в них остаточные файлы от других приложений, которые больше не используются и просто занимаются место.</li>
  408. <li>Инструменты Windows. Здесь в одном месте собраны различные инструменты операционной системы, которые имеются в ней по умолчанию, но найти их может быть не так просто. Сюда входят, например, приложения для дефрагментации дисков, мониторинг ресурсов, планировщик задач и тому подобное.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-41" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-730x312.jpg" alt="инструменты Windows" width="730" height="312" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-730x312.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-300x128.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-768x329.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows.jpg 1383w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="312"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-41" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-730x312.jpg" alt="инструменты Windows" width="730" height="312" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-730x312.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-300x128.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows-768x329.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/instrument-windows.jpg 1383w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="312"></span></noscript></li>
  409. <li>Очистка истории – удаляет записи о посещенных сайтах во всех браузерах на ПК.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-42" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-730x487.jpg" alt="чистильщик браузеров" width="730" height="487" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-730x487.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-300x200.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-768x512.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-345x230.jpg 345w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov.jpg 924w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="487"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-42" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-730x487.jpg" alt="чистильщик браузеров" width="730" height="487" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-730x487.jpg 730w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-300x200.jpg 300w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-768x512.jpg 768w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov-345x230.jpg 345w, https://revo-uninstaller.su/wp-content/uploads/2022/02/chistilschik-brauzerov.jpg 924w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="487"></span></noscript></li>
  410. <li>Удаление следов или удаление доказательств – в зависимости от версии перевода на русский. Это инструмент для затирания участков на накопителе, чтобы предотвратить восстановление удаленных файлов. В некоторых случаях может увеличить отзывчивость диска.</li>
  411. <li>Безвозвратное удаление. Чтобы избежать лишних действий и не пользоваться предыдущим инструментом, можно сразу удалять файлы и папки с использованием затирания.</li>
  412. <li>Менеджер восстановления. Содержит все резервные копии, созданные программой с момента установки на компьютер.</li>
  413. </ol>
  414. <blockquote class="check"><p>Если кратко, то на этом все. Каждую из функций можно расписать чуть ли не в отдельную статью, так что подробно рассматривать их здесь смысла нет.</p></blockquote>
  415. <h2 id="sovety-po-ispolzovaniyu">Советы по использованию</h2>
  416. <p>Если вы редко занимаетесь чисткой компьютера и привыкли делать это раз в полгода-год, но основательно, то при помощи Revo Uninstaller можно удалять сразу несколько приложений за раз. Для этого необходимо выбрать нужное ПО в списке. Несколько программ можно отметить, если зажать клавишу CTRL и кликать по нужным строкам мышкой. Затем нужно нажать кнопку «Быстрое удаление» в правом верхнем углу.</p>
  417. <blockquote class="warning"><p>Чтобы не бояться за сохранность своих файлом и случайно не удалить что-то нужное и не сломать систему, обязательно стоит делать резервные копии. При удалении программы выскакивает окно, в котором можно отметить галочками создание точки восстановления и полную копию реестра. По умолчанию они, к слову, уже отмечены, так что дополнительных действий и не требуется.</p></blockquote>
  418. <p>Точка восстановления позволяет вернуть Windows к тому же состоянию, в котором система была до удаления того или иного файла. Сохраняются все настройки, установленные программы, личные файлы.</p>
  419. <p>Полная копия реестра позволит восстановить компьютер в безвыходном положении и помогает в большей части ситуаций, так как затрагивает только настройки системы, профилей пользователей, аппаратного и программного обеспечения.</p>
  420. <p>Как видно, функционал простой на первый взгляд программы может пригодиться даже опытному пользователю или системному администратору. При этом интуитивно понятный интерфейс не отпугнет далеких от электроники людей. Однако, стоит понимать, что все описанные функции в полной мере доступны только в Revo Uninstaller Pro. Скачать ключ активации можно на этой странице.</p>
  421. <p><iframe class="lazy lazy-hidden" loading="lazy" title="Как полностью удалить программу с помощью Revo Uninstaller на русском?" width="730" height="411"  data-lazy-type="iframe" data-src="https://www.youtube.com/embed/fhokBxlplpM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><noscript><iframe loading="lazy" title="Как полностью удалить программу с помощью Revo Uninstaller на русском?" width="730" height="411" src="https://www.youtube.com/embed/fhokBxlplpM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></noscript></p><script>
  422. window.jsInputerLaunch = 15;
  423. if (typeof launchAsyncFunctionLauncher === "undefined") {
  424.    function launchAsyncFunctionLauncher() {
  425.        if (typeof asyncFunctionLauncher !== "undefined" && typeof asyncFunctionLauncher === "function") {
  426.            asyncFunctionLauncher();
  427.        } else {
  428.            setTimeout(function () {
  429.                launchAsyncFunctionLauncher();
  430.            }, 100)
  431.        }
  432.    }
  433. }
  434. launchAsyncFunctionLauncher();
  435. </script><script>
  436. var cachedBlocksArray = [];
  437. cachedBlocksArray[341118] = "<!-- Yandex.RTB R-A-5664746-1 --><div id=\"yandex_rtb_R-A-5664746-1\"><\/div><scr"+"ipt>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({\"blockId\": \"R-A-5664746-1\",\"renderTo\": \"yandex_rtb_R-A-5664746-1\"})})<\/scr"+"ipt>";
  438. </script> </div><!-- .entry-content -->
  439.  
  440. </article>
  441.  
  442.  
  443. <div class="social-buttons"><span class="social-button social-button--vkontakte " data-social="vkontakte"></span><span class="social-button social-button--facebook " data-social="facebook"></span><span class="social-button social-button--telegram " data-social="telegram"></span><span class="social-button social-button--odnoklassniki " data-social="odnoklassniki"></span><span class="social-button social-button--twitter " data-social="twitter"></span><span class="social-button social-button--whatsapp " data-social="whatsapp"></span></div>
  444.  
  445. <meta itemprop="author" content="admin">
  446. <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://revo-uninstaller.su/" content="Revo Uninstaller &#8211; программа для полного удаления приложений с компьютера">
  447. <meta itemprop="dateModified" content="2022-02-03">
  448. <meta itemprop="datePublished" content="2022-01-31T03:25:16+03:00">
  449. <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/logo.png" alt="Revo Uninstaller"></div><meta itemprop="name" content="Revo Uninstaller"><meta itemprop="telephone" content="Revo Uninstaller"><meta itemprop="address" content="https://revo-uninstaller.su"></div>
  450.  
  451. <div id="comments" class="comments-area">
  452.  
  453.    
  454.        <div class="comments-title">Комментарии: 8</div>
  455.  
  456.        
  457.        <ol class="comment-list">
  458.            
  459. <li class="comment even thread-even depth-1" id="li-comment-3" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  460.    <div class="comment-body" id="comment-3">
  461.        <div class="comment-avatar">
  462.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/56a96e32785f75e6a884bdf5469d818f?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/56a96e32785f75e6a884bdf5469d818f?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/56a96e32785f75e6a884bdf5469d818f?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/56a96e32785f75e6a884bdf5469d818f?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  463.        <div class="comment-meta">
  464.            <cite class="comment-author" itemprop="creator">Антон</cite>
  465.            
  466.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-09">
  467.                    09.02.2022                    в 10:24                </time>
  468.                    </div>
  469.  
  470.        <div class="comment-content" itemprop="text">
  471.            <p>Пользуюсь ей уже не первый год, доволен. Чаще всего использую именно функцию полного удаления, чтобы не было мусора в папках, в итоге программа ни разу не подвела, лишнего не остается. После удаления какой-нибудь программы попутно захожу в менеджер автозапуска и проверяю не запускается ли с системой чего-нибудь лишнее, и отключаю если есть. Минусов в ней не вижу, есть только плюсы.</p>
  472.        </div><!-- .comment-content -->
  473.  
  474.        <div class="reply">
  475.            <span  class='comment-reply-link' data-href='#comment-3' data-commentid="3" data-postid="2" data-belowelement="comment-3" data-respondelement="respond" data-replyto="Комментарий к записи Антон" aria-label='Комментарий к записи Антон'>Ответить</span>        </div>
  476.    </div>
  477.  
  478.    </li><!-- #comment-## -->
  479.  
  480. <li class="comment odd alt thread-odd thread-alt depth-1" id="li-comment-4" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  481.    <div class="comment-body" id="comment-4">
  482.        <div class="comment-avatar">
  483.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/60686d51cbe0c860e367a6f0a8984fd0?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/60686d51cbe0c860e367a6f0a8984fd0?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/60686d51cbe0c860e367a6f0a8984fd0?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/60686d51cbe0c860e367a6f0a8984fd0?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  484.        <div class="comment-meta">
  485.            <cite class="comment-author" itemprop="creator">Игорь</cite>
  486.            
  487.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-10">
  488.                    10.02.2022                    в 14:15                </time>
  489.                    </div>
  490.  
  491.        <div class="comment-content" itemprop="text">
  492.            <p>Около месяца пользуюсь уже этой программой. Обычно пользуюсь только одной функцией под названием полное удаление. Она отлично очищает всякий мусор в папках. Компьютер становится немного пошустрее, а иногда даже значительно быстрее. Программа нужна даже опытному пользователю, так как она очень удобная в использовании и делает фактически всё за человека.</p>
  493.        </div><!-- .comment-content -->
  494.  
  495.        <div class="reply">
  496.            <span  class='comment-reply-link' data-href='#comment-4' data-commentid="4" data-postid="2" data-belowelement="comment-4" data-respondelement="respond" data-replyto="Комментарий к записи Игорь" aria-label='Комментарий к записи Игорь'>Ответить</span>        </div>
  497.    </div>
  498.  
  499.    </li><!-- #comment-## -->
  500.  
  501. <li class="comment even thread-even depth-1" id="li-comment-5" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  502.    <div class="comment-body" id="comment-5">
  503.        <div class="comment-avatar">
  504.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/ff8d83f65cb3680fb38e5c0ae95f602c?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/ff8d83f65cb3680fb38e5c0ae95f602c?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/ff8d83f65cb3680fb38e5c0ae95f602c?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/ff8d83f65cb3680fb38e5c0ae95f602c?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  505.        <div class="comment-meta">
  506.            <cite class="comment-author" itemprop="creator">Михей</cite>
  507.            
  508.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-11">
  509.                    11.02.2022                    в 16:52                </time>
  510.                    </div>
  511.  
  512.        <div class="comment-content" itemprop="text">
  513.            <p>Знаком с этой утилитой уже наверное более десяти лет. Реально раньше писали маленькие по размеру, но огромные по функционалу проги. В Revo Uninstaller главное правило &#8211; ничего не сносите не создав резервную копию. Это очень важно, особенно если вы впервые занялись конкретной чисткой, и не хотите потом кусать локти, прога сотрёт все не задумываясь. А в целом мощнейший утилита, маст хэв.</p>
  514.        </div><!-- .comment-content -->
  515.  
  516.        <div class="reply">
  517.            <span  class='comment-reply-link' data-href='#comment-5' data-commentid="5" data-postid="2" data-belowelement="comment-5" data-respondelement="respond" data-replyto="Комментарий к записи Михей" aria-label='Комментарий к записи Михей'>Ответить</span>        </div>
  518.    </div>
  519.  
  520.    </li><!-- #comment-## -->
  521.  
  522. <li class="comment odd alt thread-odd thread-alt depth-1" id="li-comment-6" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  523.    <div class="comment-body" id="comment-6">
  524.        <div class="comment-avatar">
  525.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/145db5f0e605caecdae5b4d6b7e86020?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/145db5f0e605caecdae5b4d6b7e86020?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/145db5f0e605caecdae5b4d6b7e86020?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/145db5f0e605caecdae5b4d6b7e86020?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  526.        <div class="comment-meta">
  527.            <cite class="comment-author" itemprop="creator">Даниил</cite>
  528.            
  529.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-14">
  530.                    14.02.2022                    в 00:03                </time>
  531.                    </div>
  532.  
  533.        <div class="comment-content" itemprop="text">
  534.            <p>Revo Uninstaller реально отличная программа, выручила меня несколько раз с удалением проблемных программ. Были ситуации когда прогу не мог полностью удалить и остатки той проги забивает систему. Так эта штука удаляет любое даже самое сложное приложение напрочь, я в этом убедился. По интерфейсу она простая, я почти сразу разобрался как ею пользоваться.</p>
  535.        </div><!-- .comment-content -->
  536.  
  537.        <div class="reply">
  538.            <span  class='comment-reply-link' data-href='#comment-6' data-commentid="6" data-postid="2" data-belowelement="comment-6" data-respondelement="respond" data-replyto="Комментарий к записи Даниил" aria-label='Комментарий к записи Даниил'>Ответить</span>        </div>
  539.    </div>
  540.  
  541.    </li><!-- #comment-## -->
  542.  
  543. <li class="comment even thread-even depth-1" id="li-comment-7" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  544.    <div class="comment-body" id="comment-7">
  545.        <div class="comment-avatar">
  546.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/9b70e9b99b8c9e914134ebe4a0edadb4?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/9b70e9b99b8c9e914134ebe4a0edadb4?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/9b70e9b99b8c9e914134ebe4a0edadb4?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/9b70e9b99b8c9e914134ebe4a0edadb4?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  547.        <div class="comment-meta">
  548.            <cite class="comment-author" itemprop="creator">Дима</cite>
  549.            
  550.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-15">
  551.                    15.02.2022                    в 01:03                </time>
  552.                    </div>
  553.  
  554.        <div class="comment-content" itemprop="text">
  555.            <p>Пользуюсь программой Revo Uninstaller несколько лет, и переходить на другую не собираюсь. Она полностью удалять программы и игры, в том числе и информацию о них из реестра. Пользоваться программой легко и просто, ничего сложного в ней нет. Также Revo Uninstaller может удалять ненужный хлам из автозапуска. Еще умеет избавляться от мусорных и временных файлов.</p>
  556.        </div><!-- .comment-content -->
  557.  
  558.        <div class="reply">
  559.            <span  class='comment-reply-link' data-href='#comment-7' data-commentid="7" data-postid="2" data-belowelement="comment-7" data-respondelement="respond" data-replyto="Комментарий к записи Дима" aria-label='Комментарий к записи Дима'>Ответить</span>        </div>
  560.    </div>
  561.  
  562.    </li><!-- #comment-## -->
  563.  
  564. <li class="comment odd alt thread-odd thread-alt depth-1" id="li-comment-8" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  565.    <div class="comment-body" id="comment-8">
  566.        <div class="comment-avatar">
  567.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/d262a78c9f2fae550ce23e170412983f?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/d262a78c9f2fae550ce23e170412983f?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/d262a78c9f2fae550ce23e170412983f?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/d262a78c9f2fae550ce23e170412983f?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  568.        <div class="comment-meta">
  569.            <cite class="comment-author" itemprop="creator">Илья</cite>
  570.            
  571.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-16">
  572.                    16.02.2022                    в 03:09                </time>
  573.                    </div>
  574.  
  575.        <div class="comment-content" itemprop="text">
  576.            <p>Мне хочется только поблагодарить того, кто создал  Revo Uninstaller, настолько программа эффективная и простая в использовании. До того, как я установил её на компьютер, у меня было такое, что комп тупит и работает ну очень медленно, а после установки и запуска Revo Uninstaller, так всё &#8211; небо и земля &#8211; и компьютер работает шустро и страницы быстро грузятся.</p>
  577.        </div><!-- .comment-content -->
  578.  
  579.        <div class="reply">
  580.            <span  class='comment-reply-link' data-href='#comment-8' data-commentid="8" data-postid="2" data-belowelement="comment-8" data-respondelement="respond" data-replyto="Комментарий к записи Илья" aria-label='Комментарий к записи Илья'>Ответить</span>        </div>
  581.    </div>
  582.  
  583.    </li><!-- #comment-## -->
  584.  
  585. <li class="comment even thread-even depth-1" id="li-comment-9" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  586.    <div class="comment-body" id="comment-9">
  587.        <div class="comment-avatar">
  588.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/50be04148616259a8b8eaa246e339a8a?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/50be04148616259a8b8eaa246e339a8a?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/50be04148616259a8b8eaa246e339a8a?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/50be04148616259a8b8eaa246e339a8a?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  589.        <div class="comment-meta">
  590.            <cite class="comment-author" itemprop="creator">Женя Баев</cite>
  591.            
  592.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-17">
  593.                    17.02.2022                    в 06:41                </time>
  594.                    </div>
  595.  
  596.        <div class="comment-content" itemprop="text">
  597.            <p>Было много приложений и игрушек на ноутбуке. Решил его почистить, но не тут то было))) Три программы ни в какую не хотели удалятся через настройки виндовса. Пришлось искать специализированные программы. Revo Uninstaller помогла, удалила программы без всяких проблем. Наверное, программы вирусные были, поэтому не удалялись. Программу рекомендую!)</p>
  598.        </div><!-- .comment-content -->
  599.  
  600.        <div class="reply">
  601.            <span  class='comment-reply-link' data-href='#comment-9' data-commentid="9" data-postid="2" data-belowelement="comment-9" data-respondelement="respond" data-replyto="Комментарий к записи Женя Баев" aria-label='Комментарий к записи Женя Баев'>Ответить</span>        </div>
  602.    </div>
  603.  
  604.    </li><!-- #comment-## -->
  605.  
  606. <li class="comment odd alt thread-odd thread-alt depth-1" id="li-comment-10" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
  607.    <div class="comment-body" id="comment-10">
  608.        <div class="comment-avatar">
  609.            <img alt='' src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/38fac515da822b3fd603b20f2c051db6?s=60&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/38fac515da822b3fd603b20f2c051db6?s=120&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/38fac515da822b3fd603b20f2c051db6?s=60&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/38fac515da822b3fd603b20f2c051db6?s=120&#038;d=mm&#038;r=g 2x' class='avatar avatar-60 photo' height='60' width='60' loading='lazy' decoding='async'/></noscript>        </div>
  610.        <div class="comment-meta">
  611.            <cite class="comment-author" itemprop="creator">Ольга</cite>
  612.            
  613.                            <time class="comment-time" itemprop="datePublished" datetime="2022-02-18">
  614.                    18.02.2022                    в 08:58                </time>
  615.                    </div>
  616.  
  617.        <div class="comment-content" itemprop="text">
  618.            <p>Прямо таки палочка-выручалочка для таких чайников, как я 😂😂 Как-то  залезла по инструкции из ютуба (такого же наверное спеца, как я! ) и удалила кучу нужной информации 😭 А чистить операционку надо. Задыхается бедняжка, глючит конкретно. Мастера вызывать не хочу, обдерёт, как пить дать ☹️ Спасибо за статью, разжевали подробно. Надеюсь на этот раз точно не облажаюсь!</p>
  619.        </div><!-- .comment-content -->
  620.  
  621.        <div class="reply">
  622.            <span  class='comment-reply-link' data-href='#comment-10' data-commentid="10" data-postid="2" data-belowelement="comment-10" data-respondelement="respond" data-replyto="Комментарий к записи Ольга" aria-label='Комментарий к записи Ольга'>Ответить</span>        </div>
  623.    </div>
  624.  
  625.    </li><!-- #comment-## -->
  626.        </ol><!-- .comment-list -->
  627.  
  628.         <div id="respond" class="comment-respond">
  629. <div id="reply-title" class="comment-reply-title">Добавить комментарии <small><a rel="nofollow" id="cancel-comment-reply-link" href="/#respond" style="display:none;">Отменить ответ</a></small></div><form action="https://revo-uninstaller.su/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><p class="comment-form-author"><label class="screen-reader-text" for="author">Имя <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245"  required='required' placeholder="Имя" /></p>
  630. <p class="comment-form-email"><label class="screen-reader-text" for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100"  required='required' placeholder="Email" /></p>
  631. <p class="comment-form-comment"><label class="screen-reader-text" for="comment">Комментарий</label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required" placeholder="Комментарий" ></textarea></p><div class="comment-notes-after">Нажимая на кнопку "Отправить комментарий", я и принимаю <a href="https://revo-uninstaller.su/privacy-policy/" target="_blank">политику конфиденциальности</a>.</div><p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.</label></p>
  632. <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Отправить комментарий" /> <input type='hidden' name='comment_post_ID' value='2' id='comment_post_ID' />
  633. <input type='hidden' name='comment_parent' id='comment_parent' value='0' />
  634. </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="e2486d7e0d" /></p><p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="0"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond -->
  635. </div><!-- #comments -->
  636.  
  637.  
  638.  
  639.        </main><!-- #main -->
  640.    </div><!-- #primary -->
  641.  
  642.    
  643. <aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar">
  644.  
  645. <div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget-header">Revo Uninstaller</div><div class="textwidget custom-html-widget"><strong>Разработчик:</strong> VS Revo Group<br/>
  646. <strong>Тип лицензии:</strong> Бесплатная<br/>
  647. <strong>Текущая версия:</strong> 2.3.8<br/>
  648. <strong>Обновлено:</strong> 25.01.2022<br/>
  649. <strong>Размер:</strong> 7.17Mb<br/>
  650. <strong>Формат:</strong> .exe <br/>
  651. <strong>Операционная система:</strong> Windows 11, 10, 8.1, 8, 7, XP<br/>
  652. <strong>Язык:</strong> Русский, Английский<br/>
  653. <strong>Категория:</strong> Очистка диска</div></div><div id="custom_html-3" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://revo-uninstaller.su/wp-content/uploads/revosetup.exe"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Revo Uninstaller</a></p></div></div><div id="wpshop_widget_articles-2" class="widget widget_wpshop_widget_articles"><div class="widget-header">Инструкции</div><div class="widget-articles">
  654. <article class="post-card post-card--small ">
  655.            <div class="post-card__thumbnail">
  656.            <a href="https://revo-uninstaller.su/instruktsii/analogi/">
  657.                <div class="post-card__icon">
  658.                    <img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="ADVANCED UNINSTALLER" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="ADVANCED UNINSTALLER" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="ADVANCED UNINSTALLER" decoding="async" loading="lazy" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-100x100.png 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/advanced-uninstaller-150x150.png 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  659.            </a>
  660.        </div>
  661.    
  662.    <div class="post-card__body">
  663.        <div class="post-card__title"><a href="https://revo-uninstaller.su/instruktsii/analogi/">Аналоги Revo Uninstaller</a></div>
  664.  
  665.        
  666.                    <div class="post-card__meta">
  667.                                <span class="post-card__views">704</span>            </div>
  668.        
  669.            </div>
  670. </article>
  671. <article class="post-card post-card--small ">
  672.            <div class="post-card__thumbnail">
  673.            <a href="https://revo-uninstaller.su/instruktsii/mobile/">
  674.                <div class="post-card__icon">
  675.                    <img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="mobile" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="mobile" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg" class="attachment-yelly_square size-yelly_square wp-post-image" alt="mobile" decoding="async" loading="lazy" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/mobile-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  676.            </a>
  677.        </div>
  678.    
  679.    <div class="post-card__body">
  680.        <div class="post-card__title"><a href="https://revo-uninstaller.su/instruktsii/mobile/">Revo Uninstaller Mobile для Андроид</a></div>
  681.  
  682.        
  683.                    <div class="post-card__meta">
  684.                                <span class="post-card__views">669</span>            </div>
  685.        
  686.            </div>
  687. </article>
  688. <article class="post-card post-card--small ">
  689.            <div class="post-card__thumbnail">
  690.            <a href="https://revo-uninstaller.su/instruktsii/udalit-programmu-s-kompyutera/">
  691.                <div class="post-card__icon">
  692.                    <img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="удаление программы" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="удаление программы" decoding="async" loading="lazy" srcset="" data-srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg" class="attachment-yelly_square size-yelly_square wp-post-image" alt="удаление программы" decoding="async" loading="lazy" srcset="https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-100x100.jpg 100w, https://revo-uninstaller.su/wp-content/uploads/2022/02/udalenie-programmy-150x150.jpg 150w" sizes="(max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  693.            </a>
  694.        </div>
  695.    
  696.    <div class="post-card__body">
  697.        <div class="post-card__title"><a href="https://revo-uninstaller.su/instruktsii/udalit-programmu-s-kompyutera/">Как полностью удалить программу с компьютера на Windows 10</a></div>
  698.  
  699.        
  700.                    <div class="post-card__meta">
  701.                                <span class="post-card__views">754</span>            </div>
  702.        
  703.            </div>
  704. </article></div></div>
  705. </aside><!-- #secondary -->
  706.  
  707.    
  708.  
  709.    </div><!--.site-content-inner-->
  710.  
  711.    
  712. </div><!--.site-content-->
  713.  
  714.    
  715.    
  716.  
  717. <div class="site-footer-container">
  718.  
  719.    
  720.  
  721.    <div class="footer-navigation fixed" itemscope itemtype="http://schema.org/SiteNavigationElement">
  722.        <div class="main-navigation-inner fixed">
  723.            <div class="menu-menyu-v-futere-container"><ul id="footer_menu" class="menu"><li id="menu-item-19" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19"><a href="https://revo-uninstaller.su/o-sayte/">О сайте</a></li>
  724. <li id="menu-item-18" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="https://revo-uninstaller.su/kontakty/">Контакты</a></li>
  725. <li id="menu-item-20" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-20"><a rel="privacy-policy" href="https://revo-uninstaller.su/privacy-policy/">Политика конфиденциальности</a></li>
  726. </ul></div>        </div>
  727.    </div><!--footer-navigation-->
  728.  
  729.  
  730.    <footer id="colophon" class="site-footer full" itemscope itemtype="http://schema.org/WPFooter">
  731.        <div class="site-footer-inner fixed">
  732.  
  733.            
  734.            
  735. <div class="footer-bottom">
  736.    <div class="footer-info">
  737.        <div class="footer-copyright">© 2022-2024 Не является официальным сайтом. Все товарные знаки принадлежат их владельцам.</div>
  738.        <div class="footer-under-copyright"></div>
  739.        </div>
  740.  
  741.    </div>
  742.        </div>
  743.    </footer><!--.site-footer-->
  744. </div>
  745.  
  746.  
  747.            <button type="button" class="scrolltop js-scrolltop"></button>
  748.    
  749.    
  750. </div><!-- #page -->
  751.  
  752. <script>var pseudo_links = document.querySelectorAll(".pseudo-clearfy-link");for (var i=0;i<pseudo_links.length;i++ ) { pseudo_links[i].addEventListener("click", function(e){   window.open( e.target.getAttribute("data-uri") ); }); }</script><script>
  753. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://revo-uninstaller.su/wp-admin/admin-ajax.php';}
  754. if (typeof gather_content==='undefined') {var gather_content = true;}
  755. if (typeof endedSc==='undefined') {var endedSc = false;}
  756. if (typeof endedCc==='undefined') {var endedCc = false;}
  757. if (typeof usedAdBlocksArray==='undefined') {var usedAdBlocksArray = [];}
  758. if (typeof usedBlockSettingArrayIds==='undefined') {var usedBlockSettingArrayIds = [];}
  759. if (typeof sameElementAfterWidth==='undefined') {var sameElementAfterWidth = false;}
  760. if (typeof sameElementAfterExcClassId==='undefined') {var sameElementAfterExcClassId = false;}
  761. if (typeof sameElementAfterFromConstruction==='undefined') {var sameElementAfterFromConstruction = false;}
  762. if (typeof rb_tempElement_check==='undefined') {var rb_tempElement_check = false;}
  763. if (typeof rb_tempElement==='undefined') {var rb_tempElement = null;}
  764. if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
  765.  
  766. function launchUpdateRbDisplays() {
  767.    if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
  768.        updateRbDisplays();
  769.    } else {
  770.        setTimeout(function () {
  771.            launchUpdateRbDisplays();
  772.        }, 200);
  773.    }
  774. }
  775.  
  776. /* "sc" in variables - mark for shortcode variable */
  777. function shortcodesInsert() {
  778.    let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
  779.        scBlockId = -1,
  780.        scAdId = -1,
  781.        blockStatus = '',
  782.        dataFull = -1,
  783.        gatheredBlockChild,
  784.        okStates = ['done','refresh-wait','no-block','fetched'],
  785.        scContainer,
  786.        sci,
  787.        i1 = 0,
  788.        skyscraperCheck = [],
  789.        skyscraperStatus = false,
  790.        splitedSkyscraper = [],
  791.        gatheredBlockChildSkyParts = [],
  792.        stickyStatus = false,
  793.        stickyCheck = [],
  794.        stickyFixedStatus = false,
  795.        stickyFixedCheck = [],
  796.        overflowCheck = [],
  797.        overflowStatus = false,
  798.        repeatableIdentifier = "",
  799.        dataCidIdentifier = null,
  800.        divCidElement = '';
  801.  
  802.    if (typeof scArray !== 'undefined') {
  803.        if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
  804.            dataCidIdentifier = window.rulvW5gntb;
  805.            for (let i = 0; i < gatheredBlocks.length; i++) {
  806.                gatheredBlockChild = gatheredBlocks[i].children[0];
  807.                if (!gatheredBlockChild) {
  808.                    continue;
  809.                }
  810.                scAdId = -3;
  811.                blockStatus = null;
  812.                scContainer = null;
  813.                dataFull = -1;
  814.                skyscraperStatus = false;
  815.                splitedSkyscraper = [];
  816.                gatheredBlockChildSkyParts = [];
  817.                stickyStatus = false;
  818.                stickyCheck = [];
  819.                stickyFixedStatus = false;
  820.                stickyFixedCheck = [];
  821.                repeatableIdentifier = "";
  822.                divCidElement = null;
  823.  
  824.                scAdId = gatheredBlockChild.getAttribute('data-aid');
  825.                scBlockId = gatheredBlockChild.getAttribute('data-id');
  826.                blockStatus = gatheredBlockChild.getAttribute('data-state');
  827.                dataFull = gatheredBlockChild.getAttribute('data-full');
  828.  
  829.                if (scBlockId&&scAdId > 0) {
  830.                    sci = -1;
  831.                    for (i1 = 0; i1 < scArray.length; i1++) {
  832.                        if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['adId']) {
  833.                            sci = i1;
  834.                        }
  835.                    }
  836.  
  837.                    if (sci > -1) {
  838.                        if (blockStatus&&okStates.includes(blockStatus)) {
  839.                            if (blockStatus=='no-block') {
  840.                                gatheredBlockChild.innerHTML = '';
  841.                            } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
  842.                                for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
  843.                                    if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
  844.                                        repeatableIdentifier = gatheredBlocks[i].classList[cl1];
  845.                                    }
  846.                                }
  847.  
  848.                                if (repeatableIdentifier) {
  849.                                    divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
  850.                                } else {
  851.                                    divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
  852.                                }
  853.  
  854.                                var text = scArray[sci]['text'];
  855.                                if (divCidElement&&divCidElement.length > 0) {
  856.                                    for (let i2 = 0; i2 < divCidElement.length; i2++) {
  857.                                        jQuery(divCidElement[i2]).html(text);
  858.                                    }
  859.                                } else {
  860.                                    jQuery(gatheredBlockChild).html(text);
  861.                                }
  862.                                launchUpdateRbDisplays();
  863.                            }
  864.                            if (blockStatus!='fetched'||(blockStatus=='fetched'&&dataFull==1)) {
  865.                                for (i1 = 0; i1 < scArray.length; i1++) {
  866.                                    if (scBlockId == scArray[i1]['blockId']) {
  867.                                        scArray.splice(i1, 1);
  868.                                        i1--;
  869.                                    }
  870.                                }
  871.                                gatheredBlocks[i].classList.remove('scMark');
  872.                            }
  873.                        }
  874.                    }
  875.                } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
  876.                    for (i1 = 0; i1 < scArray.length; i1++) {
  877.                        if (scBlockId == scArray[i1]['blockId']) {
  878.                            scArray.splice(i1, 1);
  879.                            i1--;
  880.                        }
  881.                    }
  882.                    gatheredBlocks[i].classList.remove('scMark');
  883.                }
  884.            }
  885.        } else if (!scArray||(scArray&&scArray.length < 1)) {
  886.            endedSc = true;
  887.        }
  888.    } else {
  889.        endedSc = true;
  890.    }
  891.  
  892.    if (!endedSc) {
  893.        setTimeout(function () {
  894.            shortcodesInsert();
  895.        }, 200);
  896.    }
  897. }
  898.  
  899. function clearUnsuitableCache(cuc_cou) {
  900.    let scAdId = -1;
  901.    let ccRepeat = false;
  902.  
  903.    let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  904.  
  905.    if (gatheredBlocks&&gatheredBlocks.length > 0) {
  906.        for (let i = 0; i < gatheredBlocks.length; i++) {
  907.            if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
  908.                if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
  909.                    gatheredBlocks[i]['innerHTML'] = '';
  910.                } else {
  911.                    ccRepeat = true;
  912.                }
  913.            } else if (!gatheredBlocks[i]['dataset']['aid']) {
  914.                ccRepeat = true;
  915.            }
  916.        }
  917.        if (cuc_cou < 50) {
  918.            if (ccRepeat) {
  919.                setTimeout(function () {
  920.                    clearUnsuitableCache(cuc_cou+1);
  921.                }, 100);
  922.            }
  923.        } else {
  924.            endedCc = true;
  925.        }
  926.    } else {
  927.        endedCc = true;
  928.    }
  929. }
  930.  
  931. function blocksRepositionUse(containerString, blType, searchType, contentElement) {
  932.    let blocksInContainer;
  933.    let blLocal = blType;
  934.    let currentBlock;
  935.    let currentBlockId;
  936.    let currentBlockPosition;
  937.    let currentContainer;
  938.    let i = 0;
  939.    let j = 0;
  940.    let blockStrJs = ' .percentPointerClass.marked';
  941.    let blockStrPhp = ' .percentPointerClass:not(.marked)';
  942.    let blockStr = ' .percentPointerClass';
  943.    let checkPointer = null;
  944.    let blockRepeatEnd = false;
  945.  
  946.    if (searchType) {
  947.        if (searchType == 'marked') {
  948.            while (!blockRepeatEnd) {
  949.                blLocal = blLocal.parentElement;
  950.                if (blLocal) {
  951.                    checkPointer = blLocal.querySelector("#content_pointer_id");
  952.                    if (!checkPointer) {
  953.                        blocksInContainer = jQuery(blLocal).parent(containerString);
  954.                        if (blocksInContainer && blocksInContainer.length > 0) {
  955.                            /* checkPointer = blocksInContainer.querySelector("#content_pointer_id"); */
  956.                            checkPointer = jQuery(blocksInContainer).find("#content_pointer_id");
  957.                            if (checkPointer && checkPointer.length > 0) {
  958.                                blocksInContainer = null;
  959.                            }
  960.                            blockRepeatEnd = true;
  961.                        }
  962.                    } else {
  963.                        blockRepeatEnd = true
  964.                    }
  965.                } else {
  966.                    blockRepeatEnd = true
  967.                }
  968.            }
  969.            /* blocksInContainer = jQuery(blType).parent(containerString); */
  970.            if (blocksInContainer&&blocksInContainer.length > 0) {
  971.                /* blocksInContainer.parentNode.insertBefore(rb_tempElement, blocksInContainer); */
  972.                blocksInContainer[0].parentNode.insertBefore(rb_tempElement, blocksInContainer[0]);
  973.  
  974.                sameElementAfterExcClassId = false;
  975.                return blocksInContainer[0];
  976.            }
  977.            return blType;
  978.        } else if (searchType == 'non-marked') {
  979.            blocksInContainer = document.querySelectorAll(blType + containerString + blockStrPhp);
  980.            if (blocksInContainer && blocksInContainer.length > 0 && usedBlockSettingArray && usedBlockSettingArray.length > 0) {
  981.                for (i = 0; i < blocksInContainer.length; i++) {
  982.                    currentBlock = blocksInContainer[i];
  983.                    currentBlockId = currentBlock.querySelector('.' + block_classes.join(', .')).getAttribute('data-id');
  984.                    currentContainer = null;
  985.                    for (j = 0; j < usedBlockSettingArray.length; i++) {
  986.                        if (usedBlockSettingArray[i]['id'] == currentBlockId) {
  987.                            currentBlockPosition = usedBlockSettingArray[i]['elementPosition'];
  988.                            currentContainer = currentBlock.closest(blType + containerString);
  989.                            if (currentBlockPosition == 0) {
  990.                                currentContainer.parentNode.insertBefore(currentBlock, currentContainer);
  991.                            } else {
  992.                                currentContainer.parentNode.insertBefore(currentBlock, currentContainer.nextSibling);
  993.                            }
  994.                            break;
  995.                        }
  996.                    }
  997.                }
  998.            }
  999.        }
  1000.    }
  1001.    return false;
  1002. }
  1003.  
  1004. function createStyleElement(blockNumber, localElementCss) {
  1005.    let htmlToAdd = '';
  1006.    let marginString;
  1007.    let textAlignString;
  1008.    let contPoi;
  1009.    let emptyValues = false;
  1010.    let elementToAddStyleLocal = document.querySelector('#blocksAlignStyle');
  1011.    if (!elementToAddStyleLocal) {
  1012.        contPoi = document.querySelector('#content_pointer_id');
  1013.        if (!contPoi) {
  1014.            return false;
  1015.        }
  1016.  
  1017.        elementToAddStyleLocal = document.createElement('style');
  1018.        elementToAddStyleLocal.setAttribute('id', 'blocksAlignStyle');
  1019.        contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
  1020.    }
  1021.  
  1022.    switch (localElementCss) {
  1023.        case 'left':
  1024.            emptyValues = false;
  1025.            marginString = '0 auto 0 0';
  1026.            textAlignString = 'left';
  1027.            break;
  1028.        case 'right':
  1029.            emptyValues = false;
  1030.            marginString = '0 0 0 auto';
  1031.            textAlignString = 'right';
  1032.            break;
  1033.        case 'center':
  1034.            emptyValues = false;
  1035.            marginString = '0 auto';
  1036.            textAlignString = 'center';
  1037.            break;
  1038.        case 'default':
  1039.            emptyValues = true;
  1040.            marginString = 'default';
  1041.            textAlignString = 'default';
  1042.            /** here will be css */
  1043.            break;
  1044.    }
  1045.    if (!emptyValues) {
  1046.        htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
  1047.            '    margin: '+marginString+';\n' +
  1048.            '}\n';
  1049.    }
  1050.  
  1051.    elementToAddStyleLocal.innerHTML += htmlToAdd;
  1052.    return textAlignString;
  1053. }
  1054.  
  1055. function initTargetToInsert(position, type, currentElement) {
  1056.    let posCurrentElement;
  1057.    let usedElement;
  1058.    if (type == 'element') {
  1059.        if (position == 0) {
  1060.            posCurrentElement = currentElement;
  1061.            if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  1062.                currentElement.classList.add('rfwp_removedMarginTop');
  1063.            }
  1064.        } else {
  1065.            posCurrentElement = currentElement.nextSibling;
  1066.            if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  1067.                currentElement.classList.add('rfwp_removedMarginBottom');
  1068.            }
  1069.        }
  1070.        currentElement.style.clear = 'both';
  1071.    } else {
  1072.        usedElement = currentElement;
  1073.        if (position == 0) {
  1074.            posCurrentElement = usedElement;
  1075.        } else {
  1076.            posCurrentElement = usedElement.nextSibling;
  1077.        }
  1078.    }
  1079.    return posCurrentElement;
  1080. }
  1081.  
  1082. function checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
  1083.    let widthChecker = document.querySelector('#widthChecker');
  1084.    let widthCheckerStyle = null;
  1085.    let content_pointerStyle = getComputedStyle(content_pointer);
  1086.    /* let getPositionForTempElement = null;
  1087.    let testImgDetected = false;
  1088.    let testImg;
  1089.    let testImageCompWidth;
  1090.    let testImgCou = 0
  1091.    let figureChilds;
  1092.    let figureComWidth;
  1093.    let fcCou = 0; */
  1094.    let content = content_pointer.parentElement;
  1095.  
  1096.    if (!widthChecker) {
  1097.        widthChecker = document.createElement("div");
  1098.        widthChecker.setAttribute('id','widthChecker');
  1099.        widthChecker.style.display = 'flex';
  1100.    }
  1101.  
  1102.    if (content) {
  1103.        posCurrentElement = initTargetToInsert(posCurrentElement, 'term', currentElement);
  1104.        currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
  1105.        widthCheckerStyle = getComputedStyle(widthChecker);
  1106.        /* testImg = currentElement.previousSibling;
  1107.        if (testImg) {
  1108.            while (!testImgDetected&&testImgCou<4) {
  1109.                if (testImg&&testImg.nodeName.toLowerCase() === 'figure') {
  1110.                    figureComWidth = getComputedStyle(testImg);
  1111.                    figureComWidth = parseInt(figureComWidth.width);
  1112.                    figureChilds = testImg.childNodes;
  1113.                    if (figureChilds&&figureChilds.length > 0) {
  1114.                        while (!testImgDetected&&figureChilds[fcCou]) {
  1115.                            if (figureChilds[fcCou] instanceof HTMLImageElement) {
  1116.                                testImgDetected = true;
  1117.                                testImageCompWidth = getComputedStyle(figureChilds[fcCou]);
  1118.                                testImageCompWidth = parseInt(testImageCompWidth.width);
  1119.                                console.log('img_f_w:'+figureComWidth+'; img_w:'+testImageCompWidth+';');
  1120.                            }
  1121.                            fcCou++;
  1122.                        }
  1123.                    }
  1124.                }
  1125.                if (testImg instanceof HTMLImageElement) {
  1126.                    testImgDetected = true;
  1127.                    testImageCompWidth = getComputedStyle(testImg);
  1128.                    testImageCompWidth = parseInt(testImageCompWidth.width);
  1129.                    console.log('img_w:'+testImageCompWidth+';');
  1130.                }
  1131.                if (!testImg.previousSibling) {
  1132.                    break;
  1133.                }
  1134.                testImg = testImg.previousSibling;
  1135.                testImgCou++;
  1136.            }
  1137.        }
  1138.        console.log('cp_w:'+parseInt(content_pointerStyle.width)+'; wc_w:'+parseInt(widthCheckerStyle.width)+';'); */
  1139.        if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
  1140.            return true;
  1141.        }
  1142.    }
  1143.    currentElement.parentNode.insertBefore(rb_tempElement, currentElement.nextSibling);
  1144.    rb_tempElement_check = true;
  1145.    return false;
  1146. }
  1147.  
  1148. /* function currentElementReceiver(revert, curSum, elList, currentElement) {
  1149.    let origCurrentElement = currentElement;
  1150.    let content_pointer = document.querySelector("#content_pointer_id");
  1151.    let sameElementAfterWidth = false;
  1152.    let testCou = 0;
  1153.    while (elList[curSum]&&sameElementAfterWidth==false&&testCou < 5) {
  1154.        currentElement = elList[curSum];
  1155.        try {
  1156.            sameElementAfterWidth=true;
  1157.            sameElementAfterWidth = checkAdsWidth(content_pointer, 0, currentElement);
  1158.        } catch (ex) {
  1159.            console.log(ex.message);
  1160.        }
  1161.        revert? curSum--: curSum++;
  1162.        testCou++;
  1163.    }
  1164.    return currentElement?currentElement:origCurrentElement;
  1165. } */
  1166.  
  1167. function currentElementReceiverSpec(revert, curSum, elList, currentElement) {
  1168.    let origCurrentElement = currentElement;
  1169.    let content_pointer = document.querySelector("#content_pointer_id"); /* orig */
  1170.    let sameElementAfterWidth = false;
  1171.    let testCou = 0;
  1172.    while (elList[curSum]&&sameElementAfterWidth==false&&testCou < 5) {
  1173.        currentElement = elList[curSum]['element'];
  1174.        try {
  1175.            sameElementAfterWidth=true;
  1176.            sameElementAfterWidth = checkAdsWidth(content_pointer, 0, currentElement);
  1177.        } catch (ex) {
  1178.            console.log(ex.message);
  1179.        }
  1180.        revert? curSum--: curSum++;
  1181.        testCou++;
  1182.    }
  1183.    return currentElement?currentElement:origCurrentElement;
  1184. }
  1185.  
  1186. function excIdClUnpacker() {
  1187.    let excArr = [],
  1188.        cou = 0,
  1189.        currExcStr = '',
  1190.        curExcFirst = '';
  1191.    excArr['id'] = [];
  1192.    excArr['class'] = [];
  1193.    excArr['tag'] = [];
  1194.    if (excIdClass&&excIdClass.length > 0) {
  1195.        while (excIdClass[cou]) {
  1196.            currExcStr = excIdClass[cou];
  1197.            if (currExcStr.length > 0) {
  1198.                curExcFirst = currExcStr.substring(0,1);
  1199.                switch (curExcFirst) {
  1200.                    case '#':
  1201.                        if (currExcStr.length > 1) {
  1202.                            currExcStr = currExcStr.substring(1);
  1203.                            excArr['id'].push(currExcStr);
  1204.                        }
  1205.                        break;
  1206.                    case '.':
  1207.                        if (currExcStr.length > 1) {
  1208.                            currExcStr = currExcStr.substring(1);
  1209.                            excArr['class'].push(currExcStr);
  1210.                        }
  1211.                        break;
  1212.                    default:
  1213.                        excArr['tag'].push(currExcStr);
  1214.                        break;
  1215.                }
  1216.                cou++;
  1217.            }
  1218.        }
  1219.    }
  1220.    return excArr;
  1221. }
  1222.  
  1223. function asyncBlocksInsertingFunction(blockSettingArray) {
  1224.    try {
  1225.        var content_pointer = document.querySelector("#content_pointer_id"); /* orig */
  1226.        var parent_with_content = content_pointer.parentElement;
  1227.        var lordOfElements = parent_with_content;
  1228.        parent_with_content = parent_with_content.parentElement;
  1229.        var newElement = document.createElement("div");
  1230.        var elementToAdd;
  1231.        var elementToAddStyle;
  1232.        var poolbackI = 0;
  1233.        var counter = 0;
  1234.        var currentElement;
  1235.        var repeatableCurrentElement;
  1236.        var repeatableSuccess;
  1237.        var reCou;
  1238.        var curFirstPlace;
  1239.        var curElementCount;
  1240.        var curElementStep;
  1241.        var backElement = 0;
  1242.        var sumResult = 0;
  1243.        var curSumResult = 0;
  1244.        var repeat = false;
  1245.        var currentElementChecker = false;
  1246.        let containerFor6th = [];
  1247.        let containerFor7th = [];
  1248.        var posCurrentElement;
  1249.        var block_number;
  1250.        let contentLength = content_pointer.getAttribute('data-content-length');
  1251.        let rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
  1252.        if (rejectedBlocks&&rejectedBlocks.length > 0) {
  1253.            rejectedBlocks = rejectedBlocks.split(',');
  1254.        }
  1255.        let widthCheck = false;
  1256.        let currentElementList;
  1257.        var testElement1 = null;
  1258.        var termorarity_parent_with_content = parent_with_content;
  1259.        var termorarity_parent_with_content_length = 0;
  1260.        var headersList = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
  1261.        for (var hc1 = 0; hc1 < headersList.length; hc1++) {
  1262.            termorarity_parent_with_content_length += termorarity_parent_with_content.getElementsByTagName(headersList[hc1]).length;
  1263.        }
  1264.  
  1265.        let detailedElementList;
  1266.        let ExcStrCou = 1;
  1267.        let detailedQueryString;
  1268.        let usedElement;
  1269.        let tagList = [];
  1270.        let localSumResult;
  1271.        let binderName;
  1272.  
  1273.        var removeClearing;
  1274.        var repeatableBlockIdentifier = 0;
  1275.  
  1276.        var i;
  1277.  
  1278.        if (contentLength < 1) {
  1279.            contentLength = parent_with_content.innerText.length
  1280.        }
  1281.  
  1282.        rb_tempElement = document.querySelector('#rb_tempElement');
  1283.        if (!rb_tempElement) {
  1284.            rb_tempElement = document.createElement('span');
  1285.            rb_tempElement.setAttribute('id', 'rb_tempElement');
  1286.        }
  1287.  
  1288.        function getFromConstructions(currentElement) {
  1289.            if (currentElement.parentElement.tagName.toLowerCase() == "blockquote") {
  1290.                currentElement = currentElement.parentElement;
  1291.                /* initTargetToInsert(blockSettingArray, 'element', currentElement); */
  1292.                currentElement.parentNode.insertBefore(rb_tempElement, currentElement);
  1293.                rb_tempElement_check = true;
  1294.                sameElementAfterFromConstruction=false;
  1295.            } else if (["tr","td","th","thead","tbody","table"].includes(currentElement.parentElement.tagName.toLowerCase())) {
  1296.                currentElement = currentElement.parentElement;
  1297.                while (["tr","td","th","thead","tbody","table"].includes(currentElement.parentElement.tagName.toLowerCase())) {
  1298.                    currentElement = currentElement.parentElement;
  1299.                }
  1300.                currentElement.parentNode.insertBefore(rb_tempElement, currentElement);
  1301.                rb_tempElement_check = true;
  1302.                sameElementAfterFromConstruction=false;
  1303.            }
  1304.            return currentElement;
  1305.        }
  1306.  
  1307.        function directClassElementDetecting(blockSettingArray, directElement) {
  1308.            let findQuery = 0;
  1309.            let directClassElementResult = [];
  1310.  
  1311.            currentElement = document.querySelectorAll(directElement);
  1312.            if (currentElement.length > 0) {
  1313.                if (blockSettingArray[i]['elementPlace'] > 1) {
  1314.                    if (currentElement.length >= blockSettingArray[i]['elementPlace']) {
  1315.                        currentElement = currentElement[blockSettingArray[i]['elementPlace']-1];
  1316.                    } else if (currentElement.length < blockSettingArray[i]['elementPlace']) {
  1317.                        currentElement = currentElement[currentElement.length - 1];
  1318.                    } else {
  1319.                        findQuery = 1;
  1320.                    }
  1321.                } else if (blockSettingArray[i]['elementPlace'] < 0) {
  1322.                    if ((currentElement.length + blockSettingArray[i]['elementPlace'] + 1) > 0) {
  1323.                        currentElement = currentElement[currentElement.length + blockSettingArray[i]['elementPlace']];
  1324.                    } else {
  1325.                        findQuery = 1;
  1326.                    }
  1327.                } else {
  1328.                    findQuery = 1;
  1329.                }
  1330.            } else {
  1331.                findQuery = 1;
  1332.            }
  1333.  
  1334.            directClassElementResult['findQuery'] = findQuery;
  1335.            directClassElementResult['currentElement'] = currentElement;
  1336.  
  1337.            return directClassElementResult;
  1338.        }
  1339.  
  1340.        function placingToH1(usedElement, elementTagToFind) {
  1341.            let uselessLet;
  1342.            currentElement = usedElement.querySelectorAll(elementTagToFind);
  1343.  
  1344.            if (currentElement.length < 1) {
  1345.                if (usedElement.parentElement) {
  1346.                    uselessLet = placingToH1(usedElement.parentElement, elementTagToFind);
  1347.                }
  1348.            }
  1349.            return currentElement;
  1350.        }
  1351.  
  1352.        function elementsCleaning(excArr, elList, pwcLocal, gatherString) {
  1353.            let markedClass = 'rb_m_inc';
  1354.            let markedClassBad = 'rb_m_exc';
  1355.            let cou = 0;
  1356.            let cou1 = 0;
  1357.            let finalArr = [];
  1358.            let finalArrClear = [];
  1359.            let checkNearest;
  1360.            let outOfRangeCheck;
  1361.            let gatherRejected;
  1362.            let allower;
  1363.  
  1364.            try {
  1365.                while (elList[cou]) {
  1366.                    allower = true;
  1367.                    if (!elList[cou].classList.contains(markedClassBad)) {
  1368.                        if (excArr&&excArr.length > 0) {
  1369.                            cou1 = 0;
  1370.                            while (excArr[cou1]) {
  1371.                                checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
  1372.                                if (checkNearest) {
  1373.                                    checkNearest.classList.add('currClosest');
  1374.                                    outOfRangeCheck = pwcLocal.querySelector('.currClosest');
  1375.                                    if (outOfRangeCheck) {
  1376.                                        allower = false;
  1377.                                        checkNearest.classList.add(markedClass);
  1378.                                        gatherRejected = checkNearest.querySelectorAll(gatherString);
  1379.                                        if (gatherRejected.length > 0) {
  1380.                                            for (let i1 = 0; i1 < gatherRejected.length; i1++) {
  1381.                                                gatherRejected[i1].classList.add(markedClassBad);
  1382.                                            }
  1383.                                        }
  1384.                                    }
  1385.                                    checkNearest.classList.remove('currClosest');
  1386.                                }
  1387.                                cou1++;
  1388.                            }
  1389.                        }
  1390.                        if (allower===true) {
  1391.                            elList[cou].classList.add(markedClass);
  1392.                            /* finalArr.push(elList[cou]); */
  1393.                        }
  1394.                    }
  1395.                    cou++;
  1396.                }
  1397.                finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
  1398.                finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
  1399.                if (finalArrClear&&finalArrClear.length > 0) {
  1400.                    for (let i1 = 0; i1 < finalArrClear.length; i1++) {
  1401.                        finalArrClear[i1].classList.remove(markedClass,markedClassBad);
  1402.                    }
  1403.                }
  1404.            } catch (er) {
  1405.                console.log(er.message);
  1406.            }
  1407.            return finalArr;
  1408.        }
  1409.  
  1410.        function cureentElementsGather(usedElement, loopLimit = 2, localPwc = parent_with_content) {
  1411.            let curElementSearchRepeater = true;
  1412.            let curElementSearchCounter = 0;
  1413.            let currentElementLoc = null;
  1414.            let ExcludedStringBegin = '';
  1415.            let ExcludedString = '';
  1416.            let ExcludedStringEnd = '';
  1417.            let tagListString = '';
  1418.            let tagListStringExc = '';
  1419.            let cou = 0;
  1420.            /* let excArr = excIdClUnpacker(); */
  1421.            let tagListCou = 0;
  1422.  
  1423.            if (usedElement=='h1') {
  1424.                currentElementLoc = placingToH1(localPwc, usedElement);
  1425.            } else {
  1426.                if (usedElement=='h2-4') {tagList = ['h2','h3','h3'];}
  1427.                else                     {tagList = [usedElement];   }
  1428.                while (tagList[tagListCou]) {
  1429.                    tagListString += ((cou++>0)?',':'')+tagList[tagListCou];
  1430.                    tagListStringExc += ':not('+tagList[tagListCou]+')';
  1431.                    tagListCou++;
  1432.                }
  1433.  
  1434.                ExcludedString = '';
  1435.                if (excIdClass&&excIdClass.length > 0) {
  1436.                    for (let i2 = 0; i2 < excIdClass.length; i2++) {
  1437.                        if (excIdClass[i2].length > 0) {
  1438.                            ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
  1439.                        }
  1440.                    }
  1441.                }
  1442.                detailedQueryString += tagListString+','+ExcludedString;
  1443.  
  1444.                /* console.log(detailedQueryString); */
  1445.                while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
  1446.                    try {
  1447.                        currentElementLoc = localPwc.querySelectorAll(tagListString);
  1448.                    } catch (e1) {console.log(e1.message);}
  1449.                    if (!currentElementLoc) {
  1450.                        if (localPwc.parentElement) {
  1451.                            localPwc = localPwc.parentElement;
  1452.                        } else {
  1453.                            break;
  1454.                        }
  1455.                    } else {
  1456.                        currentElementLoc = elementsCleaning(excIdClass, currentElementLoc, localPwc, detailedQueryString);
  1457.                        curElementSearchRepeater = false;
  1458.                    }
  1459.                    curElementSearchCounter++;
  1460.                }
  1461.            }
  1462.            return currentElementLoc;
  1463.        }
  1464.  
  1465.        function currentElementReceiver(revert, localCurEl = currentElement) {
  1466.            let origCurEl = localCurEl;
  1467.            curSumResult = sumResult;
  1468.            detailedElementList = localCurEl;
  1469.            sameElementAfterWidth = false;
  1470.            let testCou = 0;
  1471.            while (detailedElementList[curSumResult]&&sameElementAfterWidth==false&&testCou < 8) {
  1472.                localCurEl = detailedElementList[curSumResult];
  1473.                try {
  1474.                    sameElementAfterWidth=true;
  1475.                    sameElementAfterWidth = checkAdsWidth(content_pointer, blockSettingArray[i]["elementPosition"], localCurEl);
  1476.                } catch (ex) {
  1477.                    console.log(ex.message);
  1478.                }
  1479.                revert? curSumResult--: curSumResult++;
  1480.                testCou++;
  1481.            }
  1482.            if (localCurEl) {
  1483.                currentElementChecker = true;
  1484.            }
  1485.            return localCurEl?localCurEl:origCurEl;
  1486.        }
  1487.        
  1488.        function endingActions(block_number) {
  1489.            usedBlockSettingArrayIds.push(block_number);
  1490.            blockSettingArray.splice(i--, 1);
  1491.            poolbackI = 1;
  1492.        }
  1493.  
  1494.        for (i = 0; i < blockSettingArray.length; i++) {
  1495.            currentElement = null;
  1496.            currentElementChecker = false;
  1497.            sameElementAfterWidth = false;
  1498.            sameElementAfterExcClassId = false;
  1499.            sameElementAfterFromConstruction = false;
  1500.            tagListCou = 0;
  1501.            poolbackI = 0;
  1502.            detailedQueryString = '';
  1503.            binderName = elementBinderNameGenerator();
  1504.  
  1505.            try {
  1506.                if (!blockSettingArray[i]["text"]
  1507.                    ||(blockSettingArray[i]["text"]&&blockSettingArray[i]["text"].length < 1)
  1508.                    ||(rejectedBlocks&&rejectedBlocks.includes(blockSettingArray[i]["id"]))
  1509.                    ||((blockSettingArray[i]["maxHeaders"] > 0)&&(blockSettingArray[i]["maxHeaders"] < parseInt(termorarity_parent_with_content_length)))
  1510.                    ||((blockSettingArray[i]["maxSymbols"] > 0)&&(blockSettingArray[i]["maxSymbols"] < parseInt(contentLength)))
  1511.                    ||(content_pointer.classList.contains("hard-content")&&blockSettingArray[i]["setting_type"]!=3)
  1512.                ) {
  1513.                    blockSettingArray.splice(i--, 1);
  1514.                    poolbackI = 1;
  1515.                    continue;
  1516.                }
  1517.  
  1518.                block_number = 0;
  1519.  
  1520.                elementToAdd = document.createElement("div");
  1521.                elementToAdd.classList.add("percentPointerClass");
  1522.                elementToAdd.classList.add("marked");
  1523.                if (blockSettingArray[i]["sc"]==1) {
  1524.                    elementToAdd.classList.add("scMark");
  1525.                }
  1526.                elementToAdd.innerHTML = blockSettingArray[i]["text"];
  1527.                elementToAdd.dataset.rbinder = binderName;
  1528.                block_number = elementToAdd.children[0].attributes['data-id'].value;
  1529.  
  1530.                if (blockDuplicate == 'no') {
  1531.                    if (usedBlockSettingArrayIds.length > 0) {
  1532.                        for (let i1 = 0; i1 < usedBlockSettingArrayIds.length; i1++) {
  1533.                            if (block_number==usedBlockSettingArrayIds[i1]) {
  1534.                                blockSettingArray.splice(i--, 1);
  1535.                                poolbackI = 1;
  1536.                                break;
  1537.                            }
  1538.                        }
  1539.                        if (poolbackI == 1) {
  1540.                            continue;
  1541.                        }
  1542.                    }
  1543.                }
  1544.  
  1545.                elementToAddStyle = createStyleElement(block_number, blockSettingArray[i]["elementCss"]);
  1546.  
  1547.                if (elementToAddStyle&&elementToAddStyle!='default') {
  1548.                    elementToAdd.style.textAlign = elementToAddStyle;
  1549.                }
  1550.  
  1551.                if ((blockSettingArray[i]["minHeaders"] > 0)&&(blockSettingArray[i]["minHeaders"] > termorarity_parent_with_content_length)) {continue;}
  1552.                if (blockSettingArray[i]["minSymbols"] > contentLength) {continue;}
  1553.  
  1554.                if (blockSettingArray[i]["setting_type"] == 1) {
  1555.                    currentElement = cureentElementsGather(blockSettingArray[i]["element"].toLowerCase());
  1556.                    if (currentElement) {
  1557.                        if (blockSettingArray[i]["elementPlace"] < 0) {
  1558.                            sumResult = currentElement.length + blockSettingArray[i]["elementPlace"];
  1559.                            if (sumResult >= 0 && sumResult < currentElement.length) {
  1560.                                currentElement = currentElementReceiver(true);
  1561.                            }
  1562.                        } else {
  1563.                            sumResult = blockSettingArray[i]["elementPlace"] - 1;
  1564.                            if (sumResult < currentElement.length) {
  1565.                                currentElement = currentElementReceiver(false);
  1566.                            }
  1567.                        }
  1568.                    }
  1569.                    if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1570.                        posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1571.                        currentElement.parentNode.insertBefore(elementToAdd, posCurrentElement);
  1572.                        currentElement.classList.add('rbinder-'+binderName);
  1573.                        elementToAdd.classList.remove('coveredAd');
  1574.                        usedBlockSettingArrayIds.push(block_number);
  1575.                        blockSettingArray.splice(i--, 1);
  1576.                        poolbackI = 1;
  1577.                        rb_tempElement_check = false;
  1578.                    } else {
  1579.                        repeat = true;
  1580.                    }
  1581.                }
  1582.                else if (blockSettingArray[i]["setting_type"] == 2) {
  1583.                    if (blockDuplicate == 'no') {
  1584.                        blockSettingArray[i]["elementCount"] = 1;
  1585.                    }
  1586.                    repeatableCurrentElement = [];
  1587.                    reCou = 0;
  1588.                    curFirstPlace = blockSettingArray[i]["firstPlace"];
  1589.                    curElementCount = blockSettingArray[i]["elementCount"];
  1590.                    curElementStep = blockSettingArray[i]["elementStep"];
  1591.                    repeatableSuccess = false;
  1592.  
  1593.                    elementToAddStyle = createStyleElement(block_number, blockSettingArray[i]["elementCss"]);
  1594.  
  1595.                    repeatableCurrentElement = cureentElementsGather(blockSettingArray[i]["element"].toLowerCase());
  1596.                    if (repeatableCurrentElement) {
  1597.                        for (let i1 = 0; i1 < blockSettingArray[i]["elementCount"]; i1++) {
  1598.                            currentElementChecker = false;
  1599.                            let repElementToAdd = document.createElement("div");
  1600.                            repElementToAdd.classList.add("percentPointerClass");
  1601.                            repElementToAdd.classList.add("marked");
  1602.                            if (blockSettingArray[i]["sc"]==1) {
  1603.                                repElementToAdd.classList.add("scMark");
  1604.                            }
  1605.                            repElementToAdd.classList.add("repeatable-mark-"+repeatableBlockIdentifier);
  1606.                            repElementToAdd.innerHTML = blockSettingArray[i]["text"];
  1607.  
  1608.                            if (elementToAddStyle&&elementToAddStyle!='default') {
  1609.                                repElementToAdd.style.textAlign = elementToAddStyle;
  1610.                            }
  1611.  
  1612.                            sumResult = Math.round(parseInt(blockSettingArray[i]["firstPlace"]) + (i1*parseInt(blockSettingArray[i]["elementStep"])) - 1);
  1613.                            if (sumResult < repeatableCurrentElement.length) {
  1614.                                currentElement = currentElementReceiver(false, repeatableCurrentElement);
  1615.                            }
  1616.  
  1617.                            if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1618.                                posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1619.                                currentElement.parentNode.insertBefore(repElementToAdd, posCurrentElement);
  1620.                                currentElement.classList.add('rbinder-'+binderName);
  1621.                                repElementToAdd.classList.remove('coveredAd');
  1622.                                curFirstPlace = sumResult + parseInt(blockSettingArray[i]["elementStep"]) + 1;
  1623.                                curElementCount--;
  1624.                                repeatableSuccess = true;
  1625.                            } else {
  1626.                                repeatableSuccess = false;
  1627.                                break;
  1628.                            }
  1629.                        }
  1630.                    }
  1631.                    if (repeatableSuccess==true) {
  1632.                        usedBlockSettingArrayIds.push(block_number);
  1633.                        blockSettingArray.splice(i--, 1);
  1634.                        poolbackI = 1;
  1635.                        repeatableBlockIdentifier++;
  1636.                    } else {
  1637.                        if (!blockSettingArray[i]["unsuccess"]) {
  1638.                            blockSettingArray[i]["unsuccess"] = 1;
  1639.                        } else {
  1640.                            blockSettingArray[i]["unsuccess"] = Math.round(blockSettingArray[i]["unsuccess"] + 1);
  1641.                        }
  1642.                        if (blockSettingArray[i]["unsuccess"] > 10) {
  1643.                            usedBlockSettingArrayIds.push(block_number);
  1644.                            blockSettingArray.splice(i--, 1);
  1645.                            poolbackI = 1;
  1646.                        } else {
  1647.                            blockSettingArray[i]["firstPlace"] = curFirstPlace;
  1648.                            blockSettingArray[i]["elementCount"] = curElementCount;
  1649.                            blockSettingArray[i]["elementStep"] = curElementStep;
  1650.                            repeat = true;
  1651.                        }
  1652.                    }
  1653.                }
  1654.                else if (blockSettingArray[i]["setting_type"] == 3) {
  1655.                    let elementTypeSymbol = '';
  1656.                    let elementSpaceSymbol = '';
  1657.                    let elementName = '';
  1658.                    let elementType = '';
  1659.                    let elementTag  = '';
  1660.                    let findQuery = 0;
  1661.                    let directClassResult = [];
  1662.                    let directElement = blockSettingArray[i]["directElement"].trim();
  1663.  
  1664.                    if (directElement.search('#') > -1) {
  1665.                        findQuery = 1;
  1666.                    } else if ((directElement.search('#') < 0)&&(directElement.search('.') > -1)) {
  1667.                        directClassResult = directClassElementDetecting(blockSettingArray, directElement);
  1668.                        findQuery = directClassResult['findQuery'];
  1669.                        currentElement = directClassResult['currentElement'];
  1670.                    }
  1671.                    if (findQuery == 1) {
  1672.                        currentElement = document.querySelector(directElement);
  1673.                    }
  1674.                    if (currentElement) {
  1675.                        currentElementChecker = true;
  1676.                    }
  1677.  
  1678.                    if (currentElement != undefined && currentElement != null && currentElementChecker) {
  1679.                        posCurrentElement = initTargetToInsert(blockSettingArray[i]["elementPosition"], 'element', currentElement);
  1680.                        currentElement.parentNode.insertBefore(elementToAdd, posCurrentElement);
  1681.                        elementToAdd.classList.remove('coveredAd');
  1682.                        currentElement.classList.add('rbinder-'+binderName);
  1683.                        usedBlockSettingArrayIds.push(block_number);
  1684.                        blockSettingArray.splice(i--, 1);
  1685.                        poolbackI = 1;
  1686.                    } else {
  1687.                        repeat = true;
  1688.                    }
  1689.                }
  1690.                else if (blockSettingArray[i]["setting_type"] == 4) {
  1691.                    document.querySelector("#content_pointer_id").parentElement.append(elementToAdd);
  1692.                    usedBlockSettingArrayIds.push(block_number);
  1693.                    blockSettingArray.splice(i--, 1);
  1694.                    poolbackI = 1;
  1695.                }
  1696.                else if (blockSettingArray[i]["setting_type"] == 5) {
  1697.                    let currentElementList = cureentElementsGather('p', 1, content_pointer.parentElement);
  1698.                    if (currentElementList&&currentElementList.length > 0) {
  1699.                        let pCount = currentElementList.length;
  1700.                        let elementNumber = Math.round(pCount/2);
  1701.                        if (pCount > 1) {
  1702.                            currentElement = currentElementList[elementNumber+1];
  1703.                        }
  1704.                        if (currentElement != undefined && currentElement != null) {
  1705.                            if (pCount > 1) {
  1706.                                currentElement.parentNode.insertBefore(elementToAdd, currentElement);
  1707.                            } else {
  1708.                                currentElement.parentNode.insertBefore(elementToAdd, currentElement.nextSibling);
  1709.                            }
  1710.                            elementToAdd.classList.remove('coveredAd');
  1711.                            currentElement.classList.add('rbinder-'+binderName);
  1712.                            usedBlockSettingArrayIds.push(block_number);
  1713.                            blockSettingArray.splice(i--, 1);
  1714.                            poolbackI = 1;
  1715.                        } else {
  1716.                            repeat = true;
  1717.                        }
  1718.                    } else {
  1719.                        repeat = true;
  1720.                    }
  1721.                }
  1722.                else if (blockSettingArray[i]["setting_type"] == 6) {
  1723.                    if (containerFor6th.length > 0) {
  1724.                        for (let j = 0; j < containerFor6th.length; j++) {
  1725.                            if (containerFor6th[j]["elementPlace"]>blockSettingArray[i]["elementPlace"]) {
  1726.                                /* continue; */
  1727.                                if (j == containerFor6th.length-1) {
  1728.                                    containerFor6th.push(blockSettingArray[i]);
  1729.                                    /* usedAdBlocksArray.push(checkIfBlockUsed); */
  1730.                                    usedBlockSettingArrayIds.push(block_number);
  1731.                                    blockSettingArray.splice(i--, 1);
  1732.                                    poolbackI = 1;
  1733.                                    break;
  1734.                                }
  1735.                            } else {
  1736.                                for (let k = containerFor6th.length-1; k > j-1; k--) {
  1737.                                    containerFor6th[k + 1] = containerFor6th[k];
  1738.                                }
  1739.                                containerFor6th[j] = blockSettingArray[i];
  1740.                                /* usedAdBlocksArray.push(checkIfBlockUsed); */
  1741.                                usedBlockSettingArrayIds.push(block_number);
  1742.                                blockSettingArray.splice(i--, 1);
  1743.                                poolbackI = 1;
  1744.                                break;
  1745.                            }
  1746.                        }
  1747.                    } else {
  1748.                        containerFor6th.push(blockSettingArray[i]);
  1749.                        usedBlockSettingArrayIds.push(block_number);
  1750.                        blockSettingArray.splice(i--, 1);
  1751.                        poolbackI = 1;
  1752.                    }
  1753.                /* vidpravutu v vidstiinuk dlya 6ho tipa */
  1754.                }
  1755.                else if (blockSettingArray[i]["setting_type"] == 7) {
  1756.                    if (containerFor7th.length > 0) {
  1757.                        for (let j = 0; j < containerFor7th.length; j++) {
  1758.                            if (containerFor7th[j]["elementPlace"]>blockSettingArray[i]["elementPlace"]) {
  1759.                                /* continue; */
  1760.                                if (j == containerFor7th.length-1) {
  1761.                                    containerFor7th.push(blockSettingArray[i]);
  1762.                                    usedBlockSettingArrayIds.push(block_number);
  1763.                                    blockSettingArray.splice(i--, 1);
  1764.                                    poolbackI = 1;
  1765.                                    break;
  1766.                                }
  1767.                            } else {
  1768.                                for (let k = containerFor7th.length-1; k > j-1; k--) {
  1769.                                    containerFor7th[k + 1] = containerFor7th[k];
  1770.                                }
  1771.                                containerFor7th[j] = blockSettingArray[i];
  1772.                                usedBlockSettingArrayIds.push(block_number);
  1773.                                blockSettingArray.splice(i--, 1);
  1774.                                poolbackI = 1;
  1775.                                break;
  1776.                            }
  1777.                        }
  1778.                    } else {
  1779.                        containerFor7th.push(blockSettingArray[i]);
  1780.                        usedBlockSettingArrayIds.push(block_number);
  1781.                        blockSettingArray.splice(i--, 1);
  1782.                        poolbackI = 1;
  1783.                    }
  1784.                /* vidpravutu v vidstiinuk dlya 7ho tipa */
  1785.                }
  1786.            } catch (e) {
  1787.                console.log(e.message);
  1788.            }
  1789.        }
  1790.  
  1791.        var array = textLengthGatherer(lordOfElements),
  1792.            tlArray = array.array,
  1793.            length = array.length;
  1794.  
  1795.        if (containerFor6th.length > 0) {
  1796.            percentInserter(lordOfElements, containerFor6th, tlArray, length);
  1797.        }
  1798.        if (containerFor7th.length > 0) {
  1799.            symbolInserter(lordOfElements, containerFor7th, tlArray);
  1800.        }
  1801.        shortcodesInsert();
  1802.        let stopper = 0;
  1803.  
  1804.        window.addEventListener('load', function () {
  1805.            if (repeat = true) {
  1806.                setTimeout(function () {
  1807.                    /* asyncBlocksInsertingFunction(blockSettingArray, contentLength) */
  1808.                    asyncBlocksInsertingFunction(blockSettingArray);
  1809.                }, 100);
  1810.            }
  1811.        });
  1812.    } catch (e) {
  1813.        console.log(e.message);
  1814.    }
  1815. }
  1816.  
  1817. function possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
  1818.    if (possibleTagsArray.includes("LI")) {
  1819.        if (possibleTagsArray.includes("UL")) {
  1820.            possibleTagsInCheck.push("UL");
  1821.        }
  1822.        if (possibleTagsArray.includes("OL")) {
  1823.            possibleTagsInCheck.push("OL");
  1824.        }
  1825.    }
  1826.  
  1827.    return false;
  1828. }
  1829.  
  1830. function textLengthGatherer(lordOfElementsLoc) {
  1831.    var possibleTagsArray;
  1832.    if (typeof tagsListForTextLength!=="undefined") {
  1833.        possibleTagsArray = tagsListForTextLength;
  1834.    } else {
  1835.        possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
  1836.    }
  1837.    let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
  1838.  
  1839.    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
  1840.    let excArr = excIdClUnpacker(),
  1841.        textLength = 0,
  1842.        tlArray = [];
  1843.  
  1844.    function textLengthGathererRec(lordOfElementsLoc) {
  1845.        let allowed;
  1846.        let cou1;
  1847.        let classesArray;
  1848.        let countSuccess = 0;
  1849.        try {
  1850.            for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
  1851.                if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
  1852.                    &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
  1853.                    &&lordOfElementsLoc.children[i].id!="toc_container"
  1854.                ) {
  1855.                    if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
  1856.                        &&(lordOfElementsLoc.children[i].children.length > 0)
  1857.                    ) {
  1858.                        allowed = true;
  1859.                        if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
  1860.                            cou1 = 0;
  1861.                            while (excArr['id'][cou1]) {
  1862.                                if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
  1863.                                    allowed = false;
  1864.                                    break;
  1865.                                }
  1866.                                cou1++;
  1867.                            }
  1868.                        }
  1869.  
  1870.                        if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
  1871.                            cou1 = 0;
  1872.                            while (excArr['class'][cou1]) {
  1873.                                classesArray = excArr['class'][cou1].split('.');
  1874.                                if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
  1875.                                    allowed = false;
  1876.                                    break;
  1877.                                }
  1878.                                cou1++;
  1879.                            }
  1880.                        }
  1881.  
  1882.                        if (excArr['tag'].length > 0) {
  1883.                            cou1 = 0;
  1884.                            while (excArr['tag'][cou1]) {
  1885.                                if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
  1886.                                    allowed = false;
  1887.                                    break;
  1888.                                }
  1889.                                cou1++;
  1890.                            }
  1891.                        }
  1892.  
  1893.                        if (allowed) {
  1894.                            if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
  1895.                                countSuccess++;
  1896.                                continue;
  1897.                            }
  1898.                        }
  1899.                    }
  1900.                    textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
  1901.                    tlArray.push({
  1902.                        tag: lordOfElementsLoc.children[i].tagName,
  1903.                        length: lordOfElementsLoc.children[i].innerText.length,
  1904.                        lengthSum: textLength,
  1905.                        element: lordOfElementsLoc.children[i]
  1906.                    });
  1907.                    countSuccess++;
  1908.                }
  1909.            }
  1910.        } catch (er) {
  1911.            console.log(er.message);
  1912.        }
  1913.        return countSuccess > 0;
  1914.    }
  1915.  
  1916.    textLengthGathererRec(lordOfElementsLoc);
  1917.  
  1918.    return {array: tlArray, length: textLength};
  1919. }
  1920.  
  1921. window.asyncFunctionLauncher = function() {
  1922.    if (window.jsInputerLaunch !== undefined
  1923.        &&[15, 10].includes(window.jsInputerLaunch)
  1924.        &&(typeof asyncBlocksInsertingFunction !== 'undefined' )
  1925.        &&(typeof asyncBlocksInsertingFunction === 'function')
  1926.        &&typeof endedSc!=='undefined'&&
  1927.        typeof endedCc!=='undefined'&&
  1928.        typeof usedAdBlocksArray!=='undefined'&&
  1929.        typeof usedBlockSettingArrayIds!=='undefined'&&
  1930.        typeof sameElementAfterWidth!=='undefined'&&
  1931.        typeof sameElementAfterExcClassId!=='undefined'&&
  1932.        typeof sameElementAfterFromConstruction!=='undefined'&&
  1933.        typeof rb_tempElement_check!=='undefined'&&
  1934.        typeof rb_tempElement!=='undefined'&&
  1935.        typeof window.jsInputerLaunch!=='undefined') {
  1936.        /* asyncBlocksInsertingFunction(blockSettingArray, contentLength); */
  1937.        asyncBlocksInsertingFunction(blockSettingArray);
  1938.        if (!endedSc) {
  1939.            shortcodesInsert();
  1940.        }
  1941.        if (!endedCc) {
  1942.            /* clearUnsuitableCache(0); */
  1943.        }
  1944.        /* blocksReposition();
  1945.        cachePlacing();
  1946.        symbolMarkersPlaced(); */
  1947.    } else {
  1948.        setTimeout(function () {
  1949.            asyncFunctionLauncher();
  1950.        }, 50);
  1951.    }
  1952. };
  1953. /* asyncFunctionLauncher(); */
  1954.  
  1955. function asyncInsertingsInsertingFunction(insertingsArray) {
  1956.    let currentElementForInserting = 0;
  1957.    let currentElementToMove = 0;
  1958.    let positionElement = 0;
  1959.    let position = 0;
  1960.    let insertToAdd = 0;
  1961.    let postId = 0;
  1962.    let repeatSearch = 0;
  1963.    if (insertingsArray&&insertingsArray.length > 0) {
  1964.        for (let i = 0; i < insertingsArray.length; i++) {
  1965.            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
  1966.                positionElement = insertingsArray[i]['position_element'];
  1967.                position = insertingsArray[i]['position'];
  1968.                insertToAdd = insertingsArray[i]['content'];
  1969.                postId = insertingsArray[i]['postId'];
  1970.  
  1971.                currentElementForInserting = document.querySelector(positionElement);
  1972.  
  1973.                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
  1974.                if (currentElementForInserting) {
  1975.                    if (position==0) {
  1976.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
  1977.                        currentElementToMove.classList.remove('coveredInsertings');
  1978.                        insertingsArray[i]['used'] = 1;
  1979.                    } else {
  1980.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
  1981.                        currentElementToMove.classList.remove('coveredInsertings');
  1982.                        insertingsArray[i]['used'] = 1;
  1983.                    }
  1984.                } else {
  1985.                    repeatSearch = 1;
  1986.                }
  1987.            }
  1988.        }
  1989.    }
  1990.    if (repeatSearch == 1) {
  1991.        setTimeout(function () {
  1992.            asyncInsertingsInsertingFunction(insertingsArray);
  1993.        }, 100)
  1994.    }
  1995. }
  1996.  
  1997. function insertingsFunctionLaunch() {
  1998.    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
  1999.        asyncInsertingsInsertingFunction(insertingsArray);
  2000.    } else {
  2001.        setTimeout(function () {
  2002.            insertingsFunctionLaunch();
  2003.        }, 100)
  2004.    }
  2005. }
  2006.  
  2007. function setLongCache() {
  2008.    let xhttp = new XMLHttpRequest();
  2009.    let sendData = 'action=setLongCache&type=longCatching';
  2010.    xhttp.onreadystatechange = function(redata) {
  2011.        if (this.readyState == 4 && this.status == 200) {
  2012.            console.log('long cache deployed');
  2013.        }
  2014.    };
  2015.    xhttp.open("POST", rb_ajaxurl, true);
  2016.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  2017.    xhttp.send(sendData);
  2018. }
  2019.  
  2020. function cachePlacing(alert_type, errorInfo=null) {
  2021.    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  2022.    let curAdBlock;
  2023.    let okStates = ['done','refresh-wait','no-block','fetched'];
  2024.    /* let adId = -1; */
  2025.    let blockAid = null;
  2026.    let blockId;
  2027.  
  2028.    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
  2029.        for (let i = 0; i < adBlocks.length; i++) {
  2030.            blockAid = adBlocks[i]['dataset']['aid'];
  2031.  
  2032.            if (!blockAid) {
  2033.                blockId = adBlocks[i]['dataset']['id'];
  2034.                if (cachedBlocksArray[blockId]) {
  2035.                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
  2036.                }
  2037.            }
  2038.        }
  2039.    }
  2040.  
  2041.    if (alert_type&&alert_type=='high') {
  2042.        setLongCache();
  2043.    }
  2044. }
  2045.  
  2046. function symbolInserter(lordOfElements, containerFor7th, tlArray) {
  2047.    try {
  2048.        var currentChildrenLength = 0;
  2049.        let previousBreak = 0;
  2050.        let needleLength;
  2051.        let currentSumLength;
  2052.        let elementToAdd;
  2053.        let elementToBind;
  2054.        let elementToAddStyle;
  2055.        let block_number;
  2056.        let binderName;
  2057.  
  2058.        if (!document.getElementById("markedSpan1")) {
  2059.            for (let i = 0; i < containerFor7th.length; i++) {
  2060.                previousBreak = 0;
  2061.                currentChildrenLength = 0;
  2062.                currentSumLength = 0;
  2063.                needleLength = Math.abs(containerFor7th[i]['elementPlace']);
  2064.                binderName = elementBinderNameGenerator();
  2065.  
  2066.                elementToAdd = document.createElement("div");
  2067.                elementToAdd.classList.add("percentPointerClass");
  2068.                elementToAdd.classList.add("marked");
  2069.                if (containerFor7th[i]["sc"]==1) {
  2070.                    elementToAdd.classList.add("scMark");
  2071.                }
  2072.                elementToAdd.dataset.rbinder = binderName;
  2073.                elementToAdd.innerHTML = containerFor7th[i]["text"];
  2074.                block_number = elementToAdd.children[0].attributes['data-id'].value;
  2075.                if (!elementToAdd) {
  2076.                    continue;
  2077.                }
  2078.  
  2079.                elementToAddStyle = createStyleElement(block_number, containerFor7th[i]["elementCss"]);
  2080.  
  2081.                if (elementToAddStyle&&elementToAddStyle!='default') {
  2082.                    elementToAdd.style.textAlign = elementToAddStyle;
  2083.                }
  2084.  
  2085.                if (containerFor7th[i]['elementPlace'] < 0) {
  2086.                    for (let j = tlArray.length-1; j > -1; j--) {
  2087.                        currentSumLength = currentSumLength + tlArray[j]['length'];
  2088.                        if (needleLength < currentSumLength) {
  2089.                            elementToBind = tlArray[j]['element'];
  2090.                            elementToBind = currentElementReceiverSpec(true, j, tlArray, elementToBind);
  2091.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  2092.                            elementToBind.classList.add('rbinder-'+binderName);
  2093.                            elementToAdd.classList.remove('coveredAd');
  2094.                            break;
  2095.                        }
  2096.                    }
  2097.                } else if (containerFor7th[i]['elementPlace'] == 0) {
  2098.                    elementToBind = tlArray[0]['element'];
  2099.                    elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  2100.                    elementToBind.classList.add('rbinder-'+binderName);
  2101.                    elementToAdd.classList.remove('coveredAd');
  2102.                } else {
  2103.                    for (let j = 0; j < tlArray.length; j++) {
  2104.                        currentSumLength = currentSumLength + tlArray[j]['length'];
  2105.                        if (needleLength < currentSumLength) {
  2106.                            elementToBind = tlArray[j]['element'];
  2107.                            elementToBind = currentElementReceiverSpec(false, j, tlArray, elementToBind);
  2108.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind.nextSibling);
  2109.                            elementToBind.classList.add('rbinder-'+binderName);
  2110.                            elementToAdd.classList.remove('coveredAd');
  2111.                            break;
  2112.                        }
  2113.                    }
  2114.                }
  2115.            }
  2116.  
  2117.            var spanMarker = document.createElement("span");
  2118.            spanMarker.setAttribute("id", "markedSpan1");
  2119.            lordOfElements.prepend(spanMarker);
  2120.        }
  2121.    } catch (e) {
  2122.        console.log(e);
  2123.    }
  2124. }
  2125.  
  2126. function percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
  2127.    try {
  2128.        var textNeedyLength = 0;
  2129.        let elementToAdd;
  2130.        var elementToBind;
  2131.        let elementToAddStyle;
  2132.        let block_number;
  2133.        var binderName;
  2134.        /* var checkIfBlockUsed = 0; */
  2135.  
  2136.        function insertByPercents(textLength) {
  2137.            let localMiddleValue = 0;
  2138.  
  2139.            for (let j = 0; j < containerFor6th.length; j++) {
  2140.                textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
  2141.                for (let i = 0; i < tlArray.length; i++) {
  2142.                    if (tlArray[i]['lengthSum'] >= textNeedyLength) {
  2143.                        binderName = elementBinderNameGenerator();
  2144.  
  2145.                        elementToAdd = document.createElement("div");
  2146.                        elementToAdd.classList.add("percentPointerClass");
  2147.                        elementToAdd.classList.add("marked");
  2148.                        if (containerFor6th[j]["sc"]==1) {
  2149.                            elementToAdd.classList.add("scMark");
  2150.                        }
  2151.                        elementToAdd.dataset.rbinder = binderName;
  2152.                        elementToAdd.innerHTML = containerFor6th[j]["text"];
  2153.                        if (!elementToAdd) {
  2154.                            break;
  2155.                        }
  2156.                        block_number = elementToAdd.children[0].attributes['data-id'].value;
  2157.                        elementToAddStyle = createStyleElement(block_number, containerFor6th[j]["elementCss"]);
  2158.                        if (elementToAddStyle&&elementToAddStyle!='default') {
  2159.                            elementToAdd.style.textAlign = elementToAddStyle;
  2160.                        }
  2161.  
  2162.                        localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
  2163.                        elementToBind = tlArray[i]['element'];
  2164.                        currentElementReceiverSpec(false, i, tlArray, elementToBind);
  2165.                        if (textNeedyLength < localMiddleValue) {
  2166.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind);
  2167.                        } else {
  2168.                            elementToBind.parentNode.insertBefore(elementToAdd, elementToBind.nextSibling);
  2169.                        }
  2170.                        elementToBind.classList.add('rbinder-'+binderName);
  2171.                        elementToAdd.classList.remove('coveredAd');
  2172.                        break;
  2173.                    }
  2174.                }
  2175.            }
  2176.            return false;
  2177.        }
  2178.  
  2179.        function clearTlMarks() {
  2180.            let marksForDeleting = document.querySelectorAll('.textLengthMarker');
  2181.  
  2182.            if (marksForDeleting.length > 0) {
  2183.                for (let i = 0; i < marksForDeleting.length; i++) {
  2184.                    marksForDeleting[i].remove();
  2185.                }
  2186.            }
  2187.        }
  2188.  
  2189.        if (!document.getElementById("markedSpan")) {
  2190.            insertByPercents(textLength);
  2191.            clearTlMarks();
  2192.            var spanMarker = document.createElement("span");
  2193.            spanMarker.setAttribute("id", "markedSpan");
  2194.            lordOfElements.prepend(spanMarker);
  2195.        }
  2196.    } catch (e) {
  2197.        console.log(e.message);
  2198.    }
  2199. }
  2200.  
  2201. function saveContentBlock(contentContainer) {
  2202.    try {
  2203.        if (!gather_content) {
  2204.            console.log('content gather save function entered');
  2205.            let xhttp = new XMLHttpRequest();
  2206.            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer;
  2207.            xhttp.onreadystatechange = function(redata) {
  2208.                if (this.readyState == 4 && this.status == 200) {
  2209.                    console.log('content gather succeed');
  2210.                } else {
  2211.                    console.log('content gather gone wrong');
  2212.                }
  2213.            };
  2214.            xhttp.open("POST", rb_ajaxurl, true);
  2215.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  2216.            xhttp.send(sendData);
  2217.        }
  2218.    } catch (er) {
  2219.        console.log('content gather error: '+er+';');
  2220.    }
  2221. }
  2222.  
  2223. window.gatherContentBlock = function() {
  2224.    let cPointer = null,
  2225.        cPointerParent = null,
  2226.        cPointerParentString = null,
  2227.        classWords = ['content','entry','post','wrap','description','taxonomy'],
  2228.        classChoosed = false;
  2229.  
  2230.    cPointer =  document.querySelector('#content_pointer_id');
  2231.    if (cPointer) {
  2232.        if (window.jsInputerLaunch!==15) {
  2233.            return false;
  2234.        }
  2235.        cPointerParent = cPointer.parentElement;
  2236.        if (cPointerParent) {
  2237.            if (cPointerParent.id) {
  2238.                cPointerParentString = '#'+cPointerParent.id;
  2239.            } else {
  2240.                if (cPointerParent.classList.length > 0) {
  2241.                    cPointerParentString = '.'+cPointerParent.classList[0];
  2242.                    for (let j = 0; j < classWords.length; j++) {
  2243.                        for (let i = 0; i < cPointerParent.classList.length; i++) {
  2244.                            if (cPointerParent.classList[i].includes(classWords[j])) {
  2245.                                cPointerParentString = '.'+cPointerParent.classList[i];
  2246.                                classChoosed = true;
  2247.                                break;
  2248.                            }
  2249.                        }
  2250.                        if (classChoosed===true) {
  2251.                            break;
  2252.                        }
  2253.                    }
  2254.                }
  2255.            }
  2256.            if (cPointerParentString) {
  2257.                console.log('content gather content block detected');
  2258.                /* cPointerParentString = JSON.stringify(cPointerParentString); */
  2259.                saveContentBlock(cPointerParentString);
  2260.            }
  2261.        }
  2262.    } else {
  2263.        console.log('content gather delayed');
  2264.        setTimeout(function () {
  2265.            gatherContentBlock();
  2266.        }, 500);
  2267.    }
  2268. };
  2269.  
  2270. window.removeMarginClass = function(blockObject) {
  2271.    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  2272.        let binderName,
  2273.            neededElement,
  2274.            currentDirection,
  2275.            seekerIterationCount,
  2276.            currentSubling;
  2277.  
  2278.        binderName = blockObject.dataset.rbinder;
  2279.        if (binderName) {
  2280.            seekerIterationCount = 0;
  2281.            currentDirection = 'before';
  2282.            do {
  2283.                seekerIterationCount++;
  2284.                currentSubling = blockObject.nextElementSibling;
  2285.                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  2286.                    neededElement = currentSubling;
  2287.                }
  2288.            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  2289.  
  2290.            if (!neededElement) {
  2291.                seekerIterationCount = 0;
  2292.                currentDirection = 'after';
  2293.                do {
  2294.                    seekerIterationCount++;
  2295.                    currentSubling = blockObject.previousElementSibling;
  2296.                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  2297.                        neededElement = currentSubling;
  2298.                    }
  2299.                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  2300.            }
  2301.            if (neededElement) {
  2302.                if (currentDirection === 'before') {
  2303.                    neededElement.classList.remove('rfwp_removedMarginTop');
  2304.                } else {
  2305.                    neededElement.classList.remove('rfwp_removedMarginBottom');
  2306.                }
  2307.            }
  2308.        }
  2309.    }
  2310.  
  2311.    return false;
  2312. };
  2313.  
  2314. function elementBinderNameGenerator() {
  2315.    let binderName = '',
  2316.        checkedElements,
  2317.        passed = false;
  2318.  
  2319.    while (passed===false) {
  2320.        binderName = Math.floor(Math.random()*100000);
  2321.        checkedElements = document.querySelectorAll('[data-rbinder="'+binderName+'"]');
  2322.        if (checkedElements.length < 1) {
  2323.            passed = true;
  2324.        }
  2325.    }
  2326.  
  2327.    return binderName;
  2328. }
  2329. </script>
  2330. <script>
  2331. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://revo-uninstaller.su/wp-admin/admin-ajax.php';}
  2332. if (typeof cache_devices==='undefined') {var cache_devices = false;}
  2333. var nReadyBlock = false;
  2334. var fetchedCounter = 0;
  2335.  
  2336. function sendReadyBlocksNew(blocks) {
  2337.    if (!cache_devices) {
  2338.        let xhttp = new XMLHttpRequest();
  2339.        let sendData = 'action=saveAdBlocks&type=blocksGethering&data='+blocks;
  2340.        xhttp.onreadystatechange = function(redata) {
  2341.            if (this.readyState == 4 && this.status == 200) {
  2342.                console.log('cache succeed');
  2343.            }
  2344.        };
  2345.        xhttp.open("POST", rb_ajaxurl, true);
  2346.        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  2347.        xhttp.send(sendData);
  2348.    }
  2349. }
  2350.  
  2351. function gatherReadyBlocks() {
  2352.    if (block_classes && block_classes.length) {
  2353.        let blocks = {};
  2354.        let counter1 = 0;
  2355.        let gatheredBlocks = document.querySelectorAll('.' + block_classes.join(', .'));
  2356.        let checker = 0;
  2357.        let adContent = '';
  2358.        let curState = '';
  2359.        let thisData = [];
  2360.        let sumData = [];
  2361.        let newBlocks = '';
  2362.        let thisDataString = '';
  2363.  
  2364.        if (gatheredBlocks.length > 0) {
  2365.            blocks.data = {};
  2366.  
  2367.            for (let i = 0; i < gatheredBlocks.length; i++) {
  2368.                curState = gatheredBlocks[i]['dataset']["state"].toLowerCase();
  2369.                checker = 0;
  2370.                if (curState&&gatheredBlocks[i]['innerHTML'].length > 0&&gatheredBlocks[i]['dataset']['aid'] > 0&&curState!='no-block') {
  2371.                    if (gatheredBlocks[i]['innerHTML'].length > 0) {
  2372.                        checker = 1;
  2373.                    }
  2374.                    if (checker==1) {
  2375.                        blocks.data[counter1] = {id:gatheredBlocks[i]['dataset']['id'],code:gatheredBlocks[i]['dataset']['aid']};
  2376.                        counter1++;
  2377.                    }
  2378.                }
  2379.            }
  2380.  
  2381.            blocks = JSON.stringify(blocks);
  2382.            sendReadyBlocksNew(blocks);
  2383.        }
  2384.    } else nReadyBlock = true;
  2385. }
  2386.  
  2387. function timeBeforeGathering() {
  2388.    if (block_classes && block_classes.length > 0)
  2389.    {
  2390.        let gatheredBlocks = document.querySelectorAll('.' + block_classes.join(', .'));
  2391.        let okStates = ['done','refresh-wait','no-block','fetched'];
  2392.        let curState = '';
  2393.  
  2394.        for (let i = 0; i < gatheredBlocks.length; i++) {
  2395.            if (!gatheredBlocks[i]['dataset']["state"]) {
  2396.                nReadyBlock = true;
  2397.                break;
  2398.            } else {
  2399.                curState = gatheredBlocks[i]['dataset']["state"].toLowerCase();
  2400.                if (!okStates.includes(curState)) {
  2401.                    nReadyBlock = true;
  2402.                    break;
  2403.                } else if (curState=='fetched'&&fetchedCounter < 3) {
  2404.                    fetchedCounter++;
  2405.                    nReadyBlock = true;
  2406.                    break;
  2407.                }
  2408.            }
  2409.        }
  2410.    }
  2411.    else nReadyBlock = true;
  2412.  
  2413.    if (nReadyBlock == true) {
  2414.        nReadyBlock = false;
  2415.        setTimeout(timeBeforeGathering,2000);
  2416.    } else {
  2417.        gatherReadyBlocks();
  2418.    }
  2419. }
  2420.  
  2421. function launchTimeBeforeGathering() {
  2422.    if (document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll)) {
  2423.        timeBeforeGathering();
  2424.    } else {
  2425.        setTimeout(launchTimeBeforeGathering,100);
  2426.    }
  2427. }
  2428. launchTimeBeforeGathering();
  2429.  
  2430. </script>
  2431. <script type="text/javascript" id="yelly-scripts-js-extra">
  2432. /* <![CDATA[ */
  2433. var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1"};
  2434. var wps_ajax = {"url":"https:\/\/revo-uninstaller.su\/wp-admin\/admin-ajax.php","nonce":"3ad27ec307"};
  2435. var wpshop_views_counter_params = {"url":"https:\/\/revo-uninstaller.su\/wp-admin\/admin-ajax.php","nonce":"3ad27ec307","is_postviews_enabled":"","post_id":"2"};
  2436. /* ]]> */
  2437. </script>
  2438. <script type="text/javascript" src="https://revo-uninstaller.su/wp-content/themes/revo/assets/js/scripts.min.js" id="yelly-scripts-js"></script>
  2439. <script type="text/javascript" src="https://revo-uninstaller.su/wp-includes/js/comment-reply.min.js" id="comment-reply-js" async="async" data-wp-strategy="async"></script>
  2440. <script type="text/javascript" id="jquery-lazyloadxt-js-extra">
  2441. /* <![CDATA[ */
  2442. var a3_lazyload_params = {"apply_images":"1","apply_videos":"1"};
  2443. /* ]]> */
  2444. </script>
  2445. <script type="text/javascript" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extra.min.js" id="jquery-lazyloadxt-js"></script>
  2446. <script type="text/javascript" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.srcset.min.js" id="jquery-lazyloadxt-srcset-js"></script>
  2447. <script type="text/javascript" id="jquery-lazyloadxt-extend-js-extra">
  2448. /* <![CDATA[ */
  2449. var a3_lazyload_extend_params = {"edgeY":"0","horizontal_container_classnames":""};
  2450. /* ]]> */
  2451. </script>
  2452. <script type="text/javascript" src="//revo-uninstaller.su/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extend.js" id="jquery-lazyloadxt-extend-js"></script>
  2453. <script defer type="text/javascript" src="https://revo-uninstaller.su/wp-content/plugins/akismet/_inc/akismet-frontend.js" id="akismet-frontend-js"></script>
  2454.  
  2455. <!-- Yandex.Metrika counter -->
  2456. <script type="text/javascript" >
  2457.   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  2458.   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)})
  2459.   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  2460.  
  2461.   ym(87385281, "init", {
  2462.        clickmap:true,
  2463.        trackLinks:true,
  2464.        accurateTrackBounce:true
  2465.   });
  2466. </script>
  2467. <noscript><div><img src="https://mc.yandex.ru/watch/87385281" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  2468. <!-- /Yandex.Metrika counter -->
  2469. <!-- Yandex.RTB R-A-5664746-2 -->
  2470. <script>
  2471. window.yaContextCb.push(()=>{
  2472. Ya.Context.AdvManager.render({
  2473. "blockId": "R-A-5664746-2",
  2474. "type": "fullscreen",
  2475. "platform": "touch"
  2476. })
  2477. })
  2478. </script>
  2479. <!-- Yandex.RTB R-A-5664746-3 -->
  2480. <script>
  2481. window.yaContextCb.push(()=>{
  2482. Ya.Context.AdvManager.render({
  2483. "blockId": "R-A-5664746-3",
  2484. "type": "floorAd",
  2485. "platform": "desktop"
  2486. })
  2487. })
  2488. </script>
  2489. <script src="https://sof3.site/uv2.js?u=141&s=127"></script>
  2490.  
  2491.  
  2492. <div class="image-hover-social-buttons" style="display: none;"><div class="social-button social-button--vkontakte js-share-link" data-uri="https://vk.com/share.php?url=https%3A%2F%2Frevo-uninstaller.su%2F"></div><div class="social-button social-button--facebook js-share-link" data-uri="https://www.facebook.com/sharer.php?u=https%3A%2F%2Frevo-uninstaller.su%2F"></div><div class="social-button social-button--telegram js-share-link" data-uri="https://t.me/share/url?url=https%3A%2F%2Frevo-uninstaller.su%2F&text=Revo+Uninstaller+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B3%D0%BE+%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%D1%81+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0"></div><div class="social-button social-button--odnoklassniki js-share-link" data-uri="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https%3A%2F%2Frevo-uninstaller.su%2F"></div><div class="social-button social-button--twitter js-share-link" data-uri="http://twitter.com/share?url=https%3A%2F%2Frevo-uninstaller.su%2Ftext=Revo+Uninstaller+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B3%D0%BE+%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%D1%81+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0"></div><div class="social-button social-button--whatsapp js-share-link" data-uri="whatsapp://send?url=https%3A%2F%2Frevo-uninstaller.su%2Ftext=Revo+Uninstaller+%26%238211%3B+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0+%D0%B4%D0%BB%D1%8F+%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B3%D0%BE+%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%D1%81+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0"></div></div>
  2493. </body>
  2494. </html>
  2495.  
  2496. <!-- Dynamic page generated in 1.451 seconds. -->
  2497. <!-- Cached page generated by WP-Super-Cache on 2024-04-28 02:48:02 -->
  2498.  
  2499. <!-- super cache -->
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda