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