PageSourceSearch

https://proka4aem.ru/

html proka4aem.ru collected 2026-10-04 02:04:43 UTC 156,906 bytes, 2,217 lines download raw bytes

1<!DOCTYPE html>
2<html dir="ltr" lang="ru-RU">
3<head>
4	
4<script data-ad-client="ca-pub-7299007686238634" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
4
5	
6	<meta charset="utf-8" />
7	<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
8	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
9	
9<script>
10    var block_classes = ["content_rb", "cnt32_rl_bg_str", "rl_cnt_bg"];
11
12    function addAttrItem(className) {
13        if (document.querySelector("." + className) && !block_classes.includes(className)) {
14            block_classes.push(className);
15        }
16    }
17</script>
17<script>
18                function onErrorPlacing() {
19                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
20                        let errorInfo = [];
21                        cachePlacing('low',errorInfo);
22                    } else {
23                        setTimeout(function () {
24                            onErrorPlacing();
25                        }, 100)
26                    }
27                }
28                var xhr = new XMLHttpRequest();
29                xhr.open('GET',"//newrotatormarch23.bid/d2xa.json",true);
30                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
31                xhr.onreadystatechange = function() {
32                    if (xhr.status != 200) {
33                        if (xhr.statusText != 'abort') {
34                            onErrorPlacing();
35                        }
36                    }
37                };
38                xhr.send();
39            </script>
39<script type="text/javascript" src="//proka4aem.ru/wp-content/d2xa.js?ver=1.1.3" id="d2xa-js" async=""></script>
39<script>console.log('ad: nun')</script>
39<script>
40                function onErrorPlacing() {
41                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
42                        let errorInfo = [];
43                        cachePlacing('low',errorInfo);
44                    } else {
45                        setTimeout(function () {
46                            onErrorPlacing();
47                        }, 100)
48                    }
49                }
50                var xhr = new XMLHttpRequest();
51                xhr.open('GET',"//newrotatormarch23.bid/d2xa.min.js",true);
52                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
53                xhr.onreadystatechange = function() {
54                    if (xhr.status != 200) {
55                        if (xhr.statusText != 'abort') {
56                            onErrorPlacing();
57                        }
58                    }
59                };
60                xhr.send();
61            </script>
61<script type='text/javascript'> rbConfig={start:performance.now(),rbDomain:'newrotatormarch23.bid',rotator:'d2xa'};token=localStorage.getItem('d2xa')||(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/d2xa.min.js?'+token);rsdfhse.setAttribute('async','async');rsdfhse.setAttribute('type','text/javascript');document.head.appendChild(rsdfhse); localStorage.setItem('d2xa', token);</script>
61
62		<!-- All in One SEO 5.0.2.1 - aioseo.com -->
63		<title>Рынок жилья в Омске – доступные варианты для комфортного переезда | Proka4aem.ru</title>
64	<meta name="description" content="Омск предлагает инвесторам одно из самых выгодных сочетаний доступных цен и высокой доходности в России: средняя стоимость квадратного метра в новостройках составляет 149–151 тысячу рублей, что значительно ниже среднероссийского уровня, при этом реальная доходность с учётом аренды достигает 11,6% годовых с окупаемостью за 6–7 лет — поэтому выгодно купить квартиру в Омске. Текущие цены на новостройки" />
65	<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
66	<link rel="canonical" href="https://proka4aem.ru" />
67	<meta name="generator" content="All in One SEO (AIOSEO) 5.0.2.1" />
68		
68<script type="application/ld+json" class="aioseo-schema">
69			{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/proka4aem.ru\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/proka4aem.ru\/#listItem","position":1,"name":"Home"}]},{"@type":"Organization","@id":"https:\/\/proka4aem.ru\/#organization","name":"Proka4aem.ru","description":"\u0411\u043e\u0434\u0438\u0431\u0438\u043b\u0434\u0438\u043d\u0433. \u0424\u0438\u0442\u043d\u0435\u0441. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435.","url":"https:\/\/proka4aem.ru\/"},{"@type":"WebPage","@id":"https:\/\/proka4aem.ru\/#webpage","url":"https:\/\/proka4aem.ru\/","name":"\u0420\u044b\u043d\u043e\u043a \u0436\u0438\u043b\u044c\u044f \u0432 \u041e\u043c\u0441\u043a\u0435 \u2013 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 | Proka4aem.ru","description":"\u041e\u043c\u0441\u043a \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u0430\u043c \u043e\u0434\u043d\u043e \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u0445 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0446\u0435\u043d \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0434\u043e\u0445\u043e\u0434\u043d\u043e\u0441\u0442\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438: \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u0440\u0430 \u0432 \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 149\u2013151 \u0442\u044b\u0441\u044f\u0447\u0443 \u0440\u0443\u0431\u043b\u0435\u0439, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0438\u0436\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043e\u0445\u043e\u0434\u043d\u043e\u0441\u0442\u044c \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0430\u0440\u0435\u043d\u0434\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 11,6% \u0433\u043e\u0434\u043e\u0432\u044b\u0445 \u0441 \u043e\u043a\u0443\u043f\u0430\u0435\u043c\u043e\u0441\u0442\u044c\u044e \u0437\u0430 6\u20137 \u043b\u0435\u0442 \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043a\u0443\u043f\u0438\u0442\u044c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0443 \u0432 \u041e\u043c\u0441\u043a\u0435. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0446\u0435\u043d\u044b \u043d\u0430 \u043d\u043e\u0432\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/proka4aem.ru\/#website"},"breadcrumb":{"@id":"https:\/\/proka4aem.ru\/#breadcrumblist"},"datePublished":"2025-12-26T19:01:44+04:00","dateModified":"2025-12-26T19:03:12+04:00"},{"@type":"WebSite","@id":"https:\/\/proka4aem.ru\/#website","url":"https:\/\/proka4aem.ru\/","name":"Proka4aem.ru","description":"\u0411\u043e\u0434\u0438\u0431\u0438\u043b\u0434\u0438\u043d\u0433. \u0424\u0438\u0442\u043d\u0435\u0441. \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435.","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/proka4aem.ru\/#organization"}}]}
70		</script>
70
71		<!-- All in One SEO -->
72
73<meta name="google-adsense-account" content="ca-pub-9891942531980624">
74<script type="text/javascript">
75<!--
76var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();
77//-->
78</script>
78
79    <link rel='dns-prefetch' href='//cdn.jsdelivr.net' />
80<link rel='dns-prefetch' href='//fonts.googleapis.com' />
81<style id="wp-img-auto-sizes-contain-inline-css">
82img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
83/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
84</style>
85<link rel='stylesheet' id='webnavoz_notbox_style-css' href='https://proka4aem.ru/wp-content/plugins/webnavoz-notification-box-1.4/webnavoz-notification-box.css?ver=8c398b0f233f' media='all' />
86<link rel='stylesheet' id='webnavoz_re_style-css' href='https://proka4aem.ru/wp-content/plugins/webnavoz-re-plugin-1.3/webnavoz-re-plugin.min.css?ver=8c398b0f233f' media='all' />
87<style id="classic-theme-styles-inline-css">
88/*! This file is auto-generated */
89.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}
90/*# sourceURL=/wp-includes/css/classic-themes.min.css */
91</style>
92
93<style id="global-styles-inline-css">
94:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--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,rgb(6,147,227) 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,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 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%);
94--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: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--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 rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.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;}
94.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;}
95/*# sourceURL=global-styles-inline-css */
96</style>
97
98<link rel='stylesheet' id='style-autors_webnavoz-css' href='https://proka4aem.ru/wp-content/plugins/autors-by-webnavoz/css/autors-style.css?1_602&#038;ver=8c398b0f233f' media='all' />
99<link rel='stylesheet' id='style-colonizator_webnavoz-css' href='https://proka4aem.ru/wp-content/plugins/colonizator/css/colonizator-style.css?1_0&#038;ver=8c398b0f233f' media='all' />
100<link rel='stylesheet' id='contact-form-7-css' href='https://proka4aem.ru/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=629725d5beeb' media='all' />
101<link rel='stylesheet' id='style-experts_webnavoz-css' href='https://proka4aem.ru/wp-content/plugins/experts-by-webnavoz/css/experts-style.css?1_4&#038;ver=8c398b0f233f' media='all' />
102<link rel='stylesheet' id='style-socialsreit_webnavoz-css' href='https://proka4aem.ru/wp-content/plugins/social-by-webnavoz/css/socials_webnavoz-style.css?1_7_0&#038;ver=8c398b0f233f' media='all' />
103<link rel='stylesheet' id='style-vote2x-css' href='https://proka4aem.ru/wp-content/plugins/vote2x/vote2x-style.css?1_2_2&#038;ver=8c398b0f233f' media='all' />
104<link rel='stylesheet' id='google-fonts-css' href='//fonts.googleapis.com/css?family=Montserrat:300,400,400i,500,600,700&#038;subset=cyrillic' media='all' />
105<link rel='stylesheet' id='style.css-css' href='https://proka4aem.ru/wp-content/themes/sreda-design-nocat/style.css' media='all' />
106<script id="jquery-core-js" src="https://proka4aem.ru/wp-includes/js/jquery/jquery.min.js?ver=8a0c4faa9771"></script>
vendor: 1 bytes, line 106
106
107<script id="jquery-migrate-js" src="https://proka4aem.ru/wp-includes/js/jquery/jquery-migrate.min.js?ver=83e266cb1712"></script>
107
108<style>.pseudo-clearfy-link{color:#0058cf;cursor:pointer;text-decoration:none;}.pseudo-clearfy-link:hover{color:#2900cf;text-decoration:none;}.wp-block-button__link.pseudo-clearfy-link{color:var(--wp-block-button-pseudo-color,#fff);text-decoration:inherit;}.wp-block-button__link.pseudo-clearfy-link:hover{color:var(--wp-block-button-pseudo-color-hover,#fff);}</style> <meta name="spr-verification" content="c742eb3365899d3" />
108<script>try {
109    // var elem = document.getElementById("linkid");
110    // var elem1 = document.querySelector('.webnavoz_likes_item2');
111    // if (typeof elem1.onclick == "function") {
112    //     elem1.onclick.apply(elem1);
113    // }
114    if (typeof webnavoz_likes_cookie_1==='undefined') {var webnavoz_likes_cookie_1 = null;}
115
116    jQuery('body').on('DOMNodeInserted', '.webnavoz_likes', function () {
117        function webnavoz_likes_getCookie(name) {
118            console.log('used_ws_4');
119            var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
120            return matches ? decodeURIComponent(matches[1]) : undefined;
121        }
122        if (typeof webnavoz_likes_cookie2_1==='undefined') {
123            var webnavoz_likes_cookie2_1 = webnavoz_likes_getCookie('webnavoz_likes');
124            if (webnavoz_likes_cookie2_1 != undefined) {
125                console.log('used_ws_5');
126                webnavoz_likes_cookie_1 = jQuery.parseJSON(webnavoz_likes_cookie2_1);
127                if (webnavoz_likes_cookie_1 && typeof webnavoz_likes_cookie_1[jQuery(document).find('.percentPointerClass .webnavoz_likes').attr('data-post')] !== 'undefined') {
128                    console.log('used_ws_6');
129                    jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('progolosoval');
130                }
131            } else {
132                webnavoz_likes_cookie_1 = {};
133            }
134        }
135    });
136
137    jQuery(document).ready(function ($) {
138        if (true) {
139        // if (false) {
140            /* get cookie by name */
141            // jQuery(document).on('click','.percentPointerClass .webnavoz_likes_item1', function () {
142            //     console.log('used_ws_1');
143            //     if (jQuery(this).hasClass('blocked')) {
144            //         return false;
145            //     }
146            //     if (jQuery(this).hasClass('progolosoval')) {
147            //         return false;
148            //     }
149            //     jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('blocked');
150            //     var post_id = jQuery(this).parents('.webnavoz_likes').attr('data-post');
151            //     jQuery.post('/wp-admin/admin-ajax.php', {action: 'webnavoz_likes_1', post_id: post_id}, function (j) {
152            //         console.log('used_ws_1_1');
153            //         var bottom_chislo = parseInt(jQuery(document).find('.percentPointerClass .webnavoz_likes_item1 .webnavoz_likes_counter').html());
154            //         if (j == 1) {
155            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('progolosoval');
156            //             /* +1 */
157            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item1 .webnavoz_likes_counter').html((bottom_chislo + 1));
158            //             webnavoz_likes_cookie_1[jQuery(document).find('.percentPointerClass .webnavoz_likes').attr('data-post')] = '1';
159            //             /* set cookie */
160            //             var myDate = new Date();
161            //             myDate.setMonth(myDate.getMonth() + 12);
162            //             document.cookie = "webnavoz_likes=" + JSON.stringify(webnavoz_likes_cookie_1) + "; path=/; expires=" + myDate;
163            //         }
164            //     });
165            // });
166            // jQuery(document).on('click','.percentPointerClass .webnavoz_likes_item2', function () {
167            //     console.log('used_ws_2');
168            //     if (jQuery(this).hasClass('blocked')) {
169            //         return false;
170            //     }
171            //     if (jQuery(this).hasClass('progolosoval')) {
172            //         return false;
173            //     }
174            //     jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('blocked');
175            //     var post_id = jQuery(this).parents('.webnavoz_likes').attr('data-post');
176            //     jQuery.post('/wp-admin/admin-ajax.php', {action: 'webnavoz_like
176s_2', post_id: post_id}, function (j) {
177            //         console.log('used_ws_2_1');
178            //         var bottom_chislo = parseInt(jQuery(document).find('.percentPointerClass .webnavoz_likes_item2 .webnavoz_likes_counter').html());
179            //         if (j == 1) {
180            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('progolosoval');
181            //             /* +1 */
182            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item2 .webnavoz_likes_counter').html((bottom_chislo + 1));
183            //             webnavoz_likes_cookie_1[jQuery(document).find('.percentPointerClass .webnavoz_likes').attr('data-post')] = '1';
184            //             /* set cookie */
185            //             var myDate = new Date();
186            //             myDate.setMonth(myDate.getMonth() + 12);
187            //             document.cookie = "webnavoz_likes=" + JSON.stringify(webnavoz_likes_cookie_1) + "; path=/; expires=" + myDate;
188            //         }
189            //     });
190            // });
191            // jQuery(document).on('click','.percentPointerClass .webnavoz_likes_item3', function () {
192            //     console.log('used_ws_3');
193            //     if (jQuery(this).hasClass('blocked')) {
194            //         return false;
195            //     }
196            //     if (jQuery(this).hasClass('progolosoval')) {
197            //         return false;
198            //     }
199            //     jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('blocked');
200            //     var post_id = jQuery(this).parents('.webnavoz_likes').attr('data-post');
201            //     jQuery.post('/wp-admin/admin-ajax.php', {action: 'webnavoz_likes_3', post_id: post_id}, function (j) {
202            //         console.log('used_ws_3_1');
203            //         var bottom_chislo = parseInt(jQuery(document).find('.percentPointerClass .webnavoz_likes_item3 .webnavoz_likes_counter').html());
204            //         if (j == 1) {
205            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('progolosoval');
206            //             /* +1 */
207            //             jQuery(document).find('.percentPointerClass .webnavoz_likes_item3 .webnavoz_likes_counter').html((bottom_chislo + 1));
208            //             webnavoz_likes_cookie_1[jQuery(document).find('.percentPointerClass .webnavoz_likes').attr('data-post')] = '1';
209            //             /* set cookie */
210            //             var myDate = new Date();
211            //             myDate.setMonth(myDate.getMonth() + 12);
212            //             document.cookie = "webnavoz_likes=" + JSON.stringify(webnavoz_likes_cookie_1) + "; path=/; expires=" + myDate;
213            //         }
214            //     });
215            // });
216            jQuery(document).on('click','.percentPointerClass .webnavoz_likes_item1, .percentPointerClass .webnavoz_likes_item2, .percentPointerClass .webnavoz_likes_item3', function () {
217                var lItemIndex = 0;
218                let lastClassSymbol = null;
219                for (let i = 0; i < this.classList.length; i++) {
220                    lastClassSymbol = parseInt(this.classList[i].slice(-1));
221                    if ([1,2,3].includes(lastClassSymbol)) {
222                        lItemIndex = lastClassSymbol;
223                        break;
224                    }
225                }
226                console.log('used_ws_'+lItemIndex);
227                if (lItemIndex > 0) {
228                    if (jQuery(this).hasClass('blocked')) {
229                        return false;
230                    }
231                    if (jQuery(this).hasClass('progolosoval')) {
232                        return false;
233                    }
234                    jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('blocked');
235                    var post_id = jQuery(this).parents('.webnavoz_likes').attr('data-post');
236                    jQuery.post('/wp-admin/admin-ajax.php', {action: 'webnavoz_like
236s_'+lItemIndex, post_id: post_id}, function (j) {
237                        console.log('used_ws_'+lItemIndex+'_1');
238                        var bottom_chislo = parseInt(jQuery(document).find('.percentPointerClass .webnavoz_likes_item'+lItemIndex+' .webnavoz_likes_counter').html());
239                        if (j == 1) {
240                            jQuery(document).find('.percentPointerClass .webnavoz_likes_item').addClass('progolosoval');
241                            /* +1 */
242                            jQuery(document).find('.percentPointerClass .webnavoz_likes_item'+lItemIndex+' .webnavoz_likes_counter').html((bottom_chislo + 1));
243                            webnavoz_likes_cookie_1[jQuery(document).find('.percentPointerClass .webnavoz_likes').attr('data-post')] = '1';
244                            /* set cookie */
245                            var myDate = new Date();
246                            myDate.setMonth(myDate.getMonth() + 12);
247                            document.cookie = "webnavoz_likes=" + JSON.stringify(webnavoz_likes_cookie_1) + "; path=/; expires=" + myDate;
248                        }
249                    });
250                }
251            });
252        }
253    });
254
255    // function cookiesClean() {
256    //     let cookies_all = document.cookie,
257    //         cookies_all_array,
258    //         cookies_all_final;
259    //     if (cookies_all) {
260    //         cookies_all_array = cookies_all.split(';');
261    //         if (cookies_all_array) {
262    //             for (let i = 0; i < cookies_all_array.length; i++) {
263    //                 if (cookies_all_array[i].includes('webnavoz_likes')) {
264    //                     cookies_all_array.splice(i, 1);
265    //                     break;
266    //                 }
267    //             }
268    //             cookies_all_final = cookies_all_array.join(';');
269    //             if (cookies_all_final) {
270    //                 console.log('wn_coo_cleared');
271    //                 document.cookie = cookies_all_final;
272    //             }
273    //         }
274    //     }
275    // }
276    // cookiesClean();
277} catch (e1) {
278    console.log(e1.message);
279}</script>
279<script>
280if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://proka4aem.ru/wp-admin/admin-ajax.php';}
281if (typeof rb_csrf==='undefined') {var rb_csrf = 'b88bd3f4c5';}
282if (typeof gather_content==='undefined') {var gather_content = true;}
283window.RFWP_BlockInserting = class {
284    _blockSettingArray;
285
286    static endedSc = false;
287    static endedCc = false;
288
289    constructor(blockSettingArray) {
290        this._blockSettingArray = blockSettingArray;
291    }
292
293    static launch(blockSettingArray) {
294        var $this = this;
295        if (window.jsInputerLaunch !== undefined && [15, 10].includes(window.jsInputerLaunch)) {
296            var item = new RFWP_BlockInserting(blockSettingArray);
297            item.insert();
298            if (!this.endedSc) {
299                item.shortcodesInsert();
300            }
301            if (!this.endedCc) {
302                /* clearUnsuitableCache(0); */
303            }
304            /* blocksReposition();
305            cachePlacing();
306            symbolMarkersPlaced(); */
307        } else {
308            setTimeout(function () {
309                $this.launch(blockSettingArray);
310            }, 50);
311        }
312    }
313
314    insert() {
315        let repeatInsert = false;
316        let index, parent_with_content, usedBlockSettingArrayIds, lordOfElements, contentLength, rejectedBlocks,
317            containerFor6th, containerFor7th, countHeaders, blockSetting, currentElement, currentElementArray, elPlace;
318
319        document.querySelectorAll(".content_pointer_class").forEach((content_pointer) => {
320            parent_with_content = content_pointer.parentElement;
321            usedBlockSettingArrayIds = (content_pointer.getAttribute('data-block-ids') || "").split(',');
322            lordOfElements = parent_with_content;
323            parent_with_content = parent_with_content.parentElement;
324            contentLength = content_pointer.getAttribute('data-content-length');
325            rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
326            if (rejectedBlocks&&rejectedBlocks.length > 0) {
327                rejectedBlocks = rejectedBlocks.split(',');
328            }
329            containerFor6th = [];
330            containerFor7th = [];
331
332            countHeaders = parent_with_content.querySelectorAll('h1, h2, h3, h4, h5, h6').length;
333
334            while((index = usedBlockSettingArrayIds.findIndex((el) => el === "")) >= 0) {
335                usedBlockSettingArrayIds.splice(index, 1);
336            }
337
338            if (contentLength < 1) {
339                contentLength = parent_with_content.innerText.length
340            }
341
342            for (var i = 0; i < this._blockSettingArray.length; i++) {
343                blockSetting = this._blockSettingArray[i];
344                currentElement = null;
345                currentElementArray = [];
346
347                try {
348                    const binderName = blockSetting["rb_under"];
349
350                    if (!blockSetting["text"] ||
351                        (blockSetting["text"] && blockSetting["text"].length < 1)
352                    ) {
353                        this._blockSettingArray.splice(i--, 1);
354                        continue;
355                    }
356
357                    if (rejectedBlocks&&rejectedBlocks.includes(blockSetting["id"]) ||
358                        (blockSetting["maxHeaders"] > 0 && blockSetting["maxHeaders"] < parseInt(countHeaders)) ||
359                        (blockSetting["maxSymbols"] > 0 && blockSetting["maxSymbols"] < parseInt(contentLength)) ||
360                        (content_pointer.classList.contains("hard-content") && blockSetting["setting_type"] !== 3)
361                    ) {
362                        continue;
363                    }
364
365                    const elementToAdd = this.createBlockElement(blockSetting),
366                        block_number = elementToAdd.children[0].attributes['data-id'].value;
367
368                    if (usedBlockSettingArrayIds.length > 0 && usedBlockSettingArrayIds.includes(block_number)) {
369                        continue;
370                    }
371
372                    if ((blockSetting["minHeaders"] > 0)&&(blockSetting["minHeaders"] > countHeaders)) {continue;}
373                    if (blockSetting["minSymbols"] > contentLength) {continue;}
374
375                    if (blockSetting["setting_type"] == 1) {
376                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
377                        if (!!currentElementArray && currentElementArray.length > 0) {
378                            if (blockSetting["elementPlace"] < 0) {
379                                elPlace = currentElementArray.length + blockSetting["elementPlace"];
380                                if (elPlace >= 0 && elPlace < currentElementArray.length) {
381                                    currentElement = this.currentElementReceiver(true, content_pointer, blockSetting, currentElementArray, elPlace);
382                                }
383                            } else {
384                                elPlace = blockSetting["elementPlace"] - 1;
385                                if (elPlace < currentElementArray.length) {
386                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
387                                }
388                            }
389                        }
390                        if (!currentElement && blockSetting["showNoElement"]) {
391                            currentElement = currentElementArray[currentElementArray.length - 1];
392                        }
393                        if (!!currentElement) {
394                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
395                            usedBlockSettingArrayIds.push(block_number);
396                        } else {
397                            repeatInsert = true;
398                        }
399                    }
400                    else if (blockSetting["setting_type"] == 2) {
401                        if (blockDuplicate == 'no') {
402                            blockSetting["elementCount"] = 1;
403                        }
404                        var curFirstPlace = blockSetting["firstPlace"],
405                            curElementCount = blockSetting["elementCount"],
406                            curElementStep = blockSetting["elementStep"],
407                            repeatableBlockIdentifier = 0,
408                            successAdd = false;
409
410                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
411                        if (currentElementArray) {
412                            for (let i1 = 0; i1 < blockSetting["elementCount"]; i1++) {
413                                elementToAdd.classList.add("repeatable-mark-" + repeatableBlockIdentifier);
414
415                                elPlace = Math.round(parseInt(blockSetting["firstPlace"]) + (i1*parseInt(blockSetting["elementStep"])) - 1);
416                                if (elPlace < currentElementArray.length) {
417                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
418                                }
419                                if (!currentElement && blockSetting["showNoElement"] && !i1) {
420                                    currentElement = currentElementArray[currentElementArray.length - 1];
421                                }
422
423                                if (currentElement !== undefined && currentElement != null) {
424                                    this.addBlockAd(blockSetting, currentElement, elementToAdd);
425                                    curFirstPlace = elPlace + parseInt(blockSetting["elementStep"]) + 1;
426                                    curElementCount--;
427                                    successAdd = true;
428                                } else {
429                                    successAdd = false;
430                                    break;
431                                }
432                            }
433                        }
434                        if (successAdd === true) {
435                            usedBlockSettingArrayIds.push(block_number);
436                            repeatableBlockIdentifier++;
437                        } else {
438                            if (!blockSetting["unsuccess"]) {
439                                blockSetting["unsuccess"] = 1;
440                            } else {
441                                blockSetting["unsuccess"] = Math.round(blockSetting["unsuccess"] + 1);
442                            }
443                            if (blockSetting["unsuccess"] > 10) {
444                                usedBlockSettingArrayIds.push(block_number);
445                            } else {
446                                blockSetting["firstPlace"] = curFirstPlace;
447                                blockSetting["elementCount"] = curElementCount;
448                                blockSetting["elementStep"] = curElementStep;
449                                repeatInsert = true;
450                            }
451                        }
452                    }
453                    else if (blockSetting["setting_type"] == 3) {
454                        currentElement = this.getElementBySelection(blockSetting["directElement"].trim(), blockSetting)
455
456                        if (!!currentElement) {
457                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
458                            usedBlockSettingArrayIds.push(block_number);
459                            this._blockSettingArray.splice(i--, 1);
460                        } else {
461                            repeatInsert = true;
462                        }
463                    }
464                    else if (blockSetting["setting_type"] == 4) {
465                        content_pointer.parentElement.append(elementToAdd);
466                        usedBlockSettingArrayIds.push(block_number);
467                    }
468                    else if (blockSetting["setting_type"] == 5) {
469                        currentElementArray = this.currentElementsGather('p', content_pointer.parentElement, 1);
470                        if (currentElementArray && currentElementArray.length > 0) {
471                            let pCount = currentElementArray.length;
472                            let elementNumber = Math.round(pCount/2);
473                            if (pCount > 1) {
474                                currentElement = currentElementArray[elementNumber+1];
475                            }
476                            if (!!currentElement) {
477                                if (pCount > 1) {
478                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement);
479                                } else {
480                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement.nextSibling);
481                                }
482                                usedBlockSettingArrayIds.push(block_number);
483                            } else {
484                                repeatInsert = true;
485                            }
486                        } else {
487                            repeatInsert = true;
488                        }
489                    }
490                    else if (blockSetting["setting_type"] == 6) {
491                        if (containerFor6th.length > 0) {
492                            for (let j = 0; j < containerFor6th.length; j++) {
493                                if (containerFor6th[j]["elementPlace"]>blockSetting["elementPlace"]) {
494                                    /* continue; */
495                                    if (j === containerFor6th.length-1) {
496                                        containerFor6th.push(blockSetting);
497                                        usedBlockSettingArrayIds.push(block_number);
498                                        break;
499                                    }
500                                } else {
501                                    containerFor6th.splice(j, 0, blockSetting)
502                                    usedBlockSettingArrayIds.push(block_number);
503                                    break;
504                                }
505                            }
506                        } else {
507                            containerFor6th.push(blockSetting);
508                            usedBlockSettingArrayIds.push(block_number);
509                        }
510                        /* vidpravutu v vidstiinuk dlya 6ho tipa */
511                    }
512                    else if (blockSetting["setting_type"] == 7) {
513                        if (containerFor7th.length > 0) {
514                            for (let j = 0; j < containerFor7th.length; j++) {
515                                if (containerFor7th[j]["elementPlace"]>blockSetting["elementPlace"]) {
516                                    /* continue; */
517                                    if (j == containerFor7th.length-1) {
518                                        containerFor7th.push(blockSetting);
519                                        usedBlockSettingArrayIds.push(block_number);
520                                        break;
521                                    }
522                                } else {
523                                    containerFor7th.splice(j, 0, blockSetting)
524                                    usedBlockSettingArrayIds.push(block_number);
525                                    break;
526                                }
527                            }
528                        } else {
529                            containerFor7th.push(blockSetting);
530                            usedBlockSettingArrayIds.push(block_number);
531                        }
532                    }
533                } catch (e) {
534                    console.log(e.message);
535                }
536            }
537
538            var array = this.textLengthGatherer(lordOfElements),
539                tlArray = array.array,
540                length = array.length;
541
542            if (containerFor6th.length > 0) {
543                this.percentInserter(lordOfElements, containerFor6th, tlArray, length);
544            }
545            if (containerFor7th.length > 0) {
546                this.symbolInserter(lordOfElements, containerFor7th, tlArray);
547            }
548            this.shortcodesInsert();
549            content_pointer.setAttribute("data-block-ids", usedBlockSettingArrayIds.join(","))
550        });
551
552        let stopper = 0,
553            $this = this;
554
555        window.addEventListener('load', function () {
556            if (repeatInsert === true) {
557                setTimeout(function () {
558                    $this.insert();
559                }, 100);
560            }
561        });
562    }
563
564    createBlockElement(blockSetting) {
565        let element = document.createElement("div");
566
567        element.classList.add("percentPointerClass");
568        element.classList.add("marked");
569        if (blockSetting["sc"] === 1) {
570            element.classList.add("scMark");
571        }
572        element.innerHTML = blockSetting["text"];
573        element.dataset.rbinder = blockSetting["rb_under"];
574
575        const block_number = element.children[0].attributes['data-id'].value,
576            elementToAddStyle = this.createStyleElement(block_number, blockSetting["elementCss"]);
577
578        if (elementToAddStyle&&elementToAddStyle!=='default') {
579            element.style.textAlign = elementToAddStyle;
580        }
581
582        return element
583    }
584
585    addBlockAd(blockSetting, currentElement, elementToAdd, position = null) {
586        if (!position) {
587            position = this.initTargetToInsert(blockSetting["elementPosition"], 'element', currentElement);
588        }
589        currentElement.parentNode.insertBefore(elementToAdd, position);
590        currentElement.classList.add('rbinder-'+blockSetting["rb_under"]);
591        elementToAdd.classList.remove('coveredAd');
592    }
593
594    getElementBySelection(directElement, blockSetting) {
595        if (directElement.search('#') > -1) {
596            return document.querySelector(directElement);
597        }
598        if ((directElement
598.search('#') < 0)&&(directElement.search('.') > -1)) {
599            return this.directClassElementDetecting(directElement, blockSetting);
600        }
601    }
602
603    directClassElementDetecting(directElement, blockSetting) {
604        let findQuery = false;
605        let currentElementArray = document.querySelectorAll(directElement);
606        let currentElement = null;
607
608        if (currentElementArray.length > 0) {
609            if (blockSetting['elementPlace'] > 1) {
610                if (currentElementArray.length >= blockSetting['elementPlace']) {
611                    currentElement = currentElementArray[blockSetting['elementPlace']-1];
612                } else if (currentElementArray.length < blockSetting['elementPlace']) {
613                    if (blockSetting['showNoElement'] > 0) {
614                        currentElement = currentElementArray[currentElementArray.length - 1];
615                    }
616                } else {
617                    findQuery = true;
618                }
619            } else if (blockSetting['elementPlace'] < 0) {
620                if ((currentElementArray.length + blockSetting['elementPlace'] + 1) > 0) {
621                    currentElement = currentElementArray[currentElementArray.length + blockSetting['elementPlace']];
622                } else {
623                    findQuery = true;
624                }
625            } else {
626                findQuery = true;
627            }
628        } else {
629            findQuery = true;
630        }
631
632        if (findQuery) {
633            currentElement = document.querySelector(directElement);
634        }
635
636        return currentElement;
637    }
638
639    placingArrayToH1(usedElement, elementTagToFind) {
640        let elements = usedElement.querySelectorAll(elementTagToFind);
641
642        if (elements.length < 1) {
643            if (usedElement.parentElement) {
644                elements = this.placingArrayToH1(usedElement.parentElement, elementTagToFind);
645            }
646        }
647        return elements;
648    }
649
650    elementsCleaning(excArr, elList, pwcLocal, gatherString) {
651        let markedClass = 'rb_m_inc';
652        let markedClassBad = 'rb_m_exc';
653        let cou = 0;
654        let cou1 = 0;
655        let finalArr = [];
656        let finalArrClear = [];
657        let checkNearest;
658        let outOfRangeCheck;
659        let gatherRejected;
660        let allower;
661
662        try {
663            while (elList[cou]) {
664                allower = true;
665                if (!elList[cou].classList.contains(markedClassBad)) {
666                    if (excArr&&excArr.length > 0) {
667                        cou1 = 0;
668                        while (excArr[cou1]) {
669                            checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
670                            if (checkNearest) {
671                                checkNearest.classList.add('currClosest');
672                                outOfRangeCheck = pwcLocal.querySelector('.currClosest');
673                                if (outOfRangeCheck) {
674                                    allower = false;
675                                    checkNearest.classList.add(markedClass);
676                                    gatherRejected = checkNearest.querySelectorAll(gatherString);
677                                    if (gatherRejected.length > 0) {
678                                        for (let i1 = 0; i1 < gatherRejected.length; i1++) {
679                                            gatherRejected[i1].classList.add(markedClassBad);
680                                        }
681                                    }
682                                }
683                                checkNearest.classList.remove('currClosest');
684                            }
685                            cou1++;
686                        }
687                    }
688                    if (allower===true) {
689                        elList[cou].classList.add(markedClass);
690                        /* finalArr.push(elList[cou]); */
691                    }
692                }
693                cou++;
694            }
695            finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
696            finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
697            if (finalArrClear&&finalArrClear.length > 0) {
698                for (let i1 = 0; i1 < finalArrClear.length; i1++) {
699                    finalArrClear[i1].classList.remove(markedClass,markedClassBad);
700                }
701            }
702        } catch (er) {
703            console.log(er.message);
704        }
705        return finalArr;
706    }
707
708    currentElementsGather(usedElement, localPwc, loopLimit = 2, ) {
709        let curElementSearchRepeater = true;
710        let curElementSearchCounter = 0;
711        let currentElementArray = null;
712        let ExcludedString = '';
713        let tagListString = '';
714        let tagListStringExc = '';
715        let cou = 0;
716        let tagList;
717        /* let excArr = excIdClUnpacker(); */
718        let tagListCou = 0;
719
720        if (usedElement==='h1') {
721            currentElementArray = this.placingArrayToH1(localPwc, usedElement);
722        } else {
723            if (usedElement==='h2-4')
724                tagList = ['h2','h3','h3'];
725            else
726                tagList = [usedElement];
727
728            while (tagList[tagListCou]) {
729                tagListString += ((cou++ > 0) ? ',' : '') + tagList[tagListCou];
730                tagListStringExc += ':not(' + tagList[tagListCou] + ')';
731                tagListCou++;
732            }
733
734            ExcludedString = '';
735            if (excIdClass&&excIdClass.length > 0) {
736                for (let i2 = 0; i2 < excIdClass.length; i2++) {
737                    if (excIdClass[i2].length > 0) {
738                        ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
739                    }
740                }
741            }
742            let detailedQueryString = tagListString+','+ExcludedString;
743
744            /* console.log(detailedQueryString); */
745            while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
746                try {
747                    currentElementArray = localPwc.querySelectorAll(tagListString);
748                } catch (e1) {console.log(e1.message);}
749                if (!currentElementArray || !currentElementArray.length) {
750                    if (localPwc.parentElement) {
751                        localPwc = localPwc.parentElement;
752                    } else {
753                        break;
754                    }
755                } else {
756                    currentElementArray = this.elementsCleaning(excIdClass, currentElementArray, localPwc, detailedQueryString);
757                    curElementSearchRepeater = false;
758                }
759                curElementSearchCounter++;
760            }
761        }
762        return currentElementArray;
763    }
764
765    currentElementReceiver(revert, content_pointer, blockSetting, currentElementArray, elPlace) {
766        let currentElement = null;
767        let sameElementAfterWidth = false;
768        let testCou = 0;
769        while (currentElementArray[elPlace] && sameElementAfterWidth === false && testCou < 8) {
770            currentElement = currentElementArray[elPlace];
771            try {
772                sameElementAfterWidth = this.checkAdsWidth(content_pointer, blockSetting["elementPosition"], currentElement);
773            } catch (ex) {
774                sameElementAfterWidth = true;
775                console.log(ex.message);
776            }
777            revert? elPlace--: elPlace++;
778            testCou++;
779        }
780
781        return currentElement;
782    }
783
784
785    symbolInserter(lordOfElements, containerFor7th, tlArray) {
786        try {
787            var currentChildrenLength = 0;
788            let previousBreak = 0;
789            let needleLength;
790            let currentSumLength;
791            let elementToAdd;
792            let elementToBind;
793            let binderName;
794
795            if (!lordOfElements.querySelector(".markedSpan1")) {
796                for (let i = 0; i < containerFor7th.length; i++) {
797                    previousBreak = 0;
798                    currentChildrenLength = 0;
799                    currentSumLength = 0;
800                    needleLength = Math.abs(containerFor7th[i]['elementPlace']);
801                    binderName = containerFor7th[i]["rb_under"];
802
803                    elementToAdd = this.createBlockElement(containerFor7th[i]);
804                    if (!elementToAdd) {
805                        continue;
806                    }
807
808                    if (containerFor7th[i]['elementPlace'] < 0) {
809                        for (let j = tlArray.length-1; j > -1; j--) {
810                            currentSumLength = currentSumLength + tlArray[j]['length'];
811                            if (needleLength < currentSumLength) {
812                                elementToBind = tlArray[j]['element'];
813                                elementToBind = this.currentElementReceiverSpec(true, j, tlArray, elementToBind);
814                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
815                                break;
816                            }
817                        }
818                    } else if (containerFor7th[i]['elementPlace'] == 0) {
819                        elementToBind = tlArray[0]['element'];
820                        this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
821                    } else {
822                        for (let j = 0; j < tlArray.length; j++) {
823                            currentSumLength = currentSumLength + tlArray[j]['length'];
824                            if (needleLength < currentSumLength) {
825                                elementToBind = tlArray[j]['element'];
826                                elementToBind = this.currentElementReceiverSpec(false, j, tlArray, elementToBind);
827                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind.nextSibling);
828                                break;
829                            }
830                        }
831                    }
832                }
833
834                var spanMarker = document.createElement("span");
835                spanMarker.classList.add("markedSpan1");
836                lordOfElements.prepend(spanMarker);
837            }
838        } catch (e) {
839            console.log(e);
840        }
841    }
842
843    percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
844        try {
845            var textNeedyLength = 0;
846            let elementToAdd;
847            var elementToBind;
848            let elementToAddStyle;
849            let block_number;
850            var binderName;
851            let $this = this;
852
853            function insertByPercents(textLength) {
854                let localMiddleValue = 0;
855
856                for (let j = 0; j < containerFor6th.length; j++) {
857                    textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
858                    for (let i = 0; i < tlArray.length; i++) {
859                        if (tlArray[i]['lengthSum'] >= textNeedyLength) {
860                            binderName = containerFor6th[j]["rb_under"];
861                            elementToAdd = $this.createBlockElement(containerFor6th[j]);
862                            if (!elementToAdd) {
863                                break;
864                            }
865
866                            localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
867                            elementToBind = tlArray[i]['element'];
868                            $this.currentElementReceiverSpec(false, i, tlArray, elementToBind);
869                            if (textNeedyLength < localMiddleValue) {
870                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind);
871                            } else {
872                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind.nextSibling);
873                            }
874                            break;
875                        }
876                    }
877                }
878                return false;
879            }
880
881            function clearTlMarks() {
882                let marksForDeleting = document.querySelectorAll('.textLengthMarker');
883
884                if (marksForDeleting.length > 0) {
885                    for (let i = 0; i < marksForDeleting.length; i++) {
886                        marksForDeleting[i].remove();
887                    }
888                }
889            }
890
891            if (!lordOfElements.querySelector(".markedSpan")) {
892                insertByPercents(textLength);
893                clearTlMarks();
894                var spanMarker = document.createElement("span");
895                spanMarker.classList.add("markedSpan");
896                lordOfElements.prepend(spanMarker);
897            }
898        } catch (e) {
899            console.log(e.message);
900        }
901    }
902
903
904    /* "sc" in variables - mark for shortcode variable */
905    shortcodesInsert() {
906        let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
907            scBlockId = -1,
908            scAdId = -1,
909            blockStatus = '',
910            dataFull = -1,
911            gatheredBlockChild,
912            okStates = ['done','refresh-wait','no-block','fetched'],
913            scContainer,
914            sci,
915            i1 = 0,
916            skyscraperStatus = false,
917            splitedSkyscraper = [],
918            gatheredBlockChildSkyParts = [],
919            stickyStatus = false,
920            stickyCheck = [],
921            stickyFixedStatus = false,
922            stickyFixedCheck = [],
923            repeatableIdentifier = "",
924            dataCidIdentifier = null,
925            divCidElement = '';
926
927        if (typeof scArray !== 'undefined') {
928            if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
929                dataCidIdentifier = window.rulvW5gntb;
930                for (let i = 0; i < gatheredBlocks.length; i++) {
931                    gatheredBlockChild = gatheredBlocks[i].children[0];
932                    if (!gatheredBlockChild) {
933                        continue;
934                    }
935                    scAdId = -3;
936                    blockStatus = null;
937                    scContainer = null;
938                    dataFull = -1;
939                    skyscraperStatus = false;
940                    splitedSkyscraper = [];
941                    gatheredBlockChildSkyParts = [];
942                    stickyStatus = false;
943                    stickyCheck = [];
944                    stickyFixedStatus = false;
945                    stickyFixedCheck = [];
946                    repeatableIdentifier = "";
947                    divCidElement = null;
948
949                    scAdId = gatheredBlockChild.getAttribute('data-aid');
950                    scBlockId = gatheredBlockChild.getAttribute('data-id');
951                    blockStatus = gatheredBlockChild.getAttribute('data-state');
952                    dataFull = gatheredBlockChild.getAttribute('data-full');
953
954                    if (scBlockId&&scAdId > 0) {
955                        sci = -1;
956                        for (i1 = 0; i1 < scArray.length; i1++) {
957                            if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['ad
957Id']) {
958                                sci = i1;
959                            }
960                        }
961
962                        if (sci > -1) {
963                            if (blockStatus&&okStates.includes(blockStatus)) {
964
965                                if (blockStatus=='no-block') {
966                                    gatheredBlockChild.innerHTML = '';
967                                } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
968                                    for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
969                                        if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
970                                            repeatableIdentifier = gatheredBlocks[i].classList[cl1];
971                                        }
972                                    }
973
974                                    if (repeatableIdentifier) {
975                                        divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
976                                    } else {
977                                        divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
978                                    }
979
980                                    var text = scArray[sci]['text'];
981                                    if (divCidElement&&divCidElement.length > 0) {
982                                        for (let i2 = 0; i2 < divCidElement.length; i2++) {
983                                            jQuery(divCidElement[i2]).html(text);
984                                        }
985                                    } else {
986                                        jQuery(gatheredBlockChild).html(text);
987                                    }
988                                    this.launchUpdateRbDisplays();
989                                }
990                                if (blockStatus !== 'fetched' || (blockStatus === 'fetched' && dataFull === 1)) {
991                                    gatheredBlocks[i].classList.remove('scMark');
992                                }
993                            }
994                        }
995                    } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
996                        gatheredBlocks[i].classList.remove('scMark');
997                    }
998                }
999            } else if (!scArray||(scArray&&scArray.length < 1)) {
1000                this.endedSc = true;
1001            }
1002        } else {
1003            this.endedSc = true;
1004        }
1005
1006        if (!this.endedSc) {
1007            var $this = this;
1008            setTimeout(function () {
1009                $this.shortcodesInsert();
1010            }, 200);
1011        }
1012    }
1013
1014    currentElementReceiverSpec(revert, curSum, elList, currentElement) {
1015        let origCurrentElement = currentElement;
1016        let content_pointer = document.querySelector(".content_pointer_class"); /* orig */
1017        let sameElementAfterWidth = false;
1018        let testCou = 0;
1019        while (elList[curSum] && !sameElementAfterWidth && testCou < 5) {
1020            currentElement = elList[curSum]['element'];
1021            try {
1022                sameElementAfterWidth = this.checkAdsWidth(content_pointer, 0, currentElement);
1023            } catch (ex) {
1024                sameElementAfterWidth = true;
1025                console.log(ex.message);
1026            }
1027            revert? curSum--: curSum++;
1028            testCou++;
1029        }
1030        return currentElement?currentElement:origCurrentElement;
1031    }
1032
1033    launchUpdateRbDisplays() {
1034        if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
1035            updateRbDisplays();
1036        } else {
1037            setTimeout(function () {
1038                this.launchUpdateRbDisplays();
1039            }, 200);
1040        }
1041    }
1042
1043    checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
1044        let widthChecker = document.querySelector('#widthChecker');
1045        let widthCheckerStyle = null;
1046        let content_pointerStyle = getComputedStyle(content_pointer);
1047        let content = content_pointer.parentElement;
1048
1049        if (!widthChecker) {
1050            widthChecker = document.createElement("div");
1051            widthChecker.setAttribute('id','widthChecker');
1052            widthChecker.style.display = 'flex';
1053        }
1054
1055        if (content) {
1056            posCurrentElement = this.initTargetToInsert(posCurrentElement, 'term', currentElement);
1057            currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
1058            widthCheckerStyle = getComputedStyle(widthChecker);
1059
1060            if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
1061                return true;
1062            }
1063        }
1064        return false;
1065    }
1066
1067
1068    initTargetToInsert(position, type, currentElement) {
1069        let posCurrentElement;
1070        let usedElement;
1071        if (type == 'element') {
1072            if (position == 0) {
1073                posCurrentElement = currentElement;
1074                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
1075                    currentElement.classList.add('rfwp_removedMarginTop');
1076                }
1077            } else {
1078                posCurrentElement = currentElement.nextSibling;
1079                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
1080                    currentElement.classList.add('rfwp_removedMarginBottom');
1081                }
1082            }
1083            currentElement.style.clear = 'both';
1084        } else {
1085            usedElement = currentElement;
1086            if (position == 0) {
1087                posCurrentElement = usedElement;
1088            } else {
1089                posCurrentElement = usedElement.nextSibling;
1090            }
1091        }
1092        return posCurrentElement;
1093    }
1094
1095    createStyleElement(blockNumber, localElementCss) {
1096        let htmlToAdd = '';
1097        let marginString;
1098        let textAlignString;
1099        let contPois = document.querySelector('.content_pointer_class');
1100        let emptyValues = false;
1101        let elementToAddStyleLocal;
1102
1103        if (!contPois.length)
1104            return false;
1105
1106        contPois.forEach((contPoi) => {
1107            elementToAddStyleLocal = contPoi.querySelector('.blocks_align_style');
1108
1109            if (!elementToAddStyleLocal) {
1110                elementToAddStyleLocal = document.createElement('style');
1111                elementToAddStyleLocal.classList.add('blocks_align_style');
1112                contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
1113            }
1114        });
1115
1116
1117
1118        switch (localElementCss) {
1119            case 'left':
1120                emptyValues = false;
1121                marginString = '0 auto 0 0';
1122                textAlignString = 'left';
1123                break;
1124            case 'right':
1125                emptyValues = false;
1126                marginString = '0 0 0 auto';
1127                textAlignString = 'right';
1128                break;
1129            case 'center':
1130                emptyValues = false;
1131                marginString = '0 auto';
1132                textAlignString = 'center';
1133                break;
1134            case 'default':
1135                emptyValues = true;
1136                marginString = 'default';
1137                textAlignString = 'default';
1138                break;
1139        }
1140        if (!emptyValues) {
1141            htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
1142                '    margin: '+marginString+';\n' +
1143                '}\n';
1144        }
1145
1146        elementToAddStyleLocal.innerHTML += htmlToAdd;
1147        return textAlignString;
1148    }
1149
1150    clearUnsuitableCache(cuc_cou) {
1151        let scAdId = -1;
1152        let ccRepeat = false;
1153
1154        let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
1155
1156        if (gatheredBlocks&&gatheredBlocks.length > 0) {
1157            for (let i = 0; i < gatheredBlocks.length; i++) {
1158                if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
1159                    if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
1160                        gatheredBlocks[i]['innerHTML'] = '';
1161                    } else {
1162                        ccRepeat = true;
1163                    }
1164                } else if (!gatheredBlocks[i]['dataset']['aid']) {
1165                    ccRepeat = true;
1166                }
1167            }
1168            if (cuc_cou < 50) {
1169                if (ccRepeat) {
1170                    let $this = this;
1171                    setTimeout(function () {
1172                        $this.clearUnsuitableCache(cuc_cou+1);
1173                    }, 100);
1174                }
1175            } else {
1176                endedCc = true;
1177            }
1178        } else {
1179            endedCc = true;
1180        }
1181    }
1182
1183
1184    excIdClUnpacker() {
1185        let excArr = [],
1186            cou = 0,
1187            currExcStr = '',
1188            curExcFirst = '';
1189        excArr['id'] = [];
1190        excArr['class'] = [];
1191        excArr['tag'] = [];
1192        if (excIdClass&&excIdClass.length > 0) {
1193            while (excIdClass[cou]) {
1194                currExcStr = excIdClass[cou];
1195                if (currExcStr.length > 0) {
1196                    curExcFirst = currExcStr.substring(0,1);
1197                    switch (curExcFirst) {
1198                        case '#':
1199                            if (currExcStr.length > 1) {
1200                                currExcStr = currExcStr.substring(1);
1201                                excArr['id'].push(currExcStr);
1202                            }
1203                            break;
1204                        case '.':
1205                            if (currExcStr.length > 1) {
1206                                currExcStr = currExcStr.substring(1);
1207                                excArr['class'].push(currExcStr);
1208                            }
1209                            break;
1210                        default:
1211                            excArr['tag'].push(currExcStr);
1212                            break;
1213                    }
1214                    cou++;
1215                }
1216            }
1217        }
1218        return excArr;
1219    }
1220
1221    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
1222        if (possibleTagsArray.includes("LI")) {
1223            if (possibleTagsArray.includes("UL")) {
1224                possibleTagsInCheck.push("UL");
1225            }
1226            if (possibleTagsArray.includes("OL")) {
1227                possibleTagsInCheck.push("OL");
1228            }
1229        }
1230
1231        return false;
1232    }
1233
1234    textLengthGatherer(lordOfElementsLoc) {
1235        var possibleTagsArray;
1236        if (typeof tagsListForTextLength!=="undefined") {
1237            possibleTagsArray = tagsListForTextLength;
1238        } else {
1239            possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
1240        }
1241        let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
1242
1243        this.possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
1244        let excArr = this.excIdClUnpacker(),
1245            textLength = 0,
1246            tlArray = [];
1247
1248        function textLengthGathererRec(lordOfElementsLoc) {
1249            let allowed;
1250            let cou1;
1251            let classesArray;
1252            let countSuccess = 0;
1253            try {
1254                for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
1255                    if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
1256                        &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
1257                        &&lordOfElementsLoc.children[i].id!="toc_container"
1258                    ) {
1259                        if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
1260                            &&(lordOfElementsLoc.children[i].children.length > 0)
1261                        ) {
1262                            allowed = true;
1263                            if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
1264                                cou1 = 0;
1265                                while (excArr['id'][cou1]) {
1266                                    if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
1267                                        allowed = false;
1268                                        break;
1269                                    }
1270                                    cou1++;
1271                                }
1272                            }
1273
1274                            if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
1275                                cou1 = 0;
1276                                while (excArr['class'][cou1]) {
1277                                    classesArray = excArr['class'][cou1].split('.');
1278                                    if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
1279                                        allowed = false;
1280                                        break;
1281                                    }
1282                                    cou1++;
1283                                }
1284                            }
1285
1286                            if (excArr['tag'].length > 0) {
1287                                cou1 = 0;
1288                                while (excArr['tag'][cou1]) {
1289                                    if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
1290                                        allowed = false;
1291                                        break;
1292                                    }
1293                                    cou1++;
1294                                }
1295                            }
1296
1297                            if (allowed) {
1298                                if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
1299                                    countSuccess++;
1300                                    continue;
1301                                }
1302                            }
1303                        }
1304                        textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
1305                        tlArray.push({
1306                            tag: lordOfElementsLoc.children[i].tagName,
1307                            length: lordOfElementsLoc.children[i].innerText.length,
1308                            lengthSum: textLength,
1309                            element: lordOfElementsLoc.children[i]
1310                        });
1311                        countSuccess++;
1312                    }
1313                }
1314            } catch (er) {
1315                console.log(er.message);
1316            }
1317            return countSuccess > 0;
1318        }
1319
1320        textLengthGathererRec(lordOfElementsLoc);
1321
1322        return {array: tlArray, length: textLength};
1323    }
1324};if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
1325
1326function asyncInsertingsInsertingFunction(insertingsArray) {
1327    let currentElementForInserting = 0;
1328    let currentElementToMove = 0;
1329    let positionElement = 0;
1330    let position = 0;
1331    let insertToAdd = 0;
1332    let postId = 0;
1333    let repeatSearch = 0;
1334    if (insertingsArray&&insertingsArray.length > 0) {
1335        for (let i = 0; i < insertingsArray.length; i++) {
1336            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
1337                positionElement = insertingsArray[i]['position_element'];
1338                position = insertingsArray[i]['position'];
1339                insertToAdd = insertingsArray[i]['content'];
1340                postId = insertingsArray[i]['postId'];
1341
1342                currentElementForInserting = document.querySelector(positionElement);
1343
1344                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
1345                if (currentElementForInserting) {
1346                    if (position==0) {
1347                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
1348                        currentElementToMove.classList.remove('coveredInsertings');
1349                        insertingsArray[i]['used'] = 1;
1350                    } else {
1351                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
1352                        currentElementToMove.classList.remove('coveredInsertings');
1353                        insertingsArray[i]['used'] = 1;
1354                    }
1355                } else {
1356                    repeatSearch = 1;
1357                }
1358            }
1359        }
1360    }
1361    if (repeatSearch == 1) {
1362        setTimeout(function () {
1363            asyncInsertingsInsertingFunction(insertingsArray);
1364        }, 100)
1365    }
1366}
1367
1368function insertingsFunctionLaunch() {
1369    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
1370        asyncInsertingsInsertingFunction(insertingsArray);
1371    } else {
1372        setTimeout(function () {
1373            insertingsFunctionLaunch();
1374        }, 100)
1375    }
1376}
1377
1378function setLongCache() {
1379    let xhttp = new XMLHttpRequest();
1380    let sendData = 'action=setLongCache&type=longCatching&_csrf='+rb_csrf;
1381    xhttp.onreadystatechange = function(redata) {
1382        if (this.readyState == 4 && this.status == 200) {
1383            console.log('long cache deployed');
1384        }
1385    };
1386    xhttp.open("POST", rb_ajaxurl, true);
1387    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
1388    xhttp.send(sendData);
1389}
1390
1391function cachePlacing(alert_type, errorInfo=null) {
1392    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
1393    let curAdBlock;
1394    let okStates = ['done','refresh-wait','no-block','fetched'];
1395    /* let adId = -1; */
1396    let blockAid = null;
1397    let blockId;
1398
1399    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
1400        for (let i = 0; i < adBlocks.length; i++) {
1401            blockAid = adBlocks[i]['dataset']['aid'];
1402
1403            if (!blockAid) {
1404                blockId = adBlocks[i]['dataset']['id'];
1405                if (cachedBlocksArray[blockId]) {
1406                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
1407                }
1408            }
1409        }
1410    }
1411
1412    if (alert_type&&alert_type=='high') {
1413        setLongCache();
1414    }
1415}
1416
1417function saveContentBlock(contentContainer) {
1418    try {
1419        if (!gather_content) {
1420            console.log('content gather save function entered');
1421            let xhttp = new XMLHttpRequest();
1422            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer+'&_csrf='+rb_csrf;
1423            xhttp.onreadystatechange = function(redata) {
1424                if (this.readyState == 4 && this.status == 200) {
1425                    console.log('content gather succeed');
1426                } else {
1427                    console.log('content gather gone wrong');
1428                }
1429            };
1430            xhttp.open("POST", rb_ajaxurl, true);
1431            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
1432            xhttp.send(sendData);
1433        }
1434    } catch (er) {
1435        console.log('content gather error: '+er+';');
1436    }
1437}
1438
1439window.gatherContentBlock = function() {
1440    let cPointers = null,
1441        cPointer = null,
1442        cPointerParent = null,
1443        cPointerParentString = null,
1444        cPointerParentStringItem = null,
1445        classWords = ['content','entry','post','wrap','description','taxonomy'],
1446        classChoosed = false;
1447
1448    cPointers = document.querySelectorAll('.content_pointer_class');
1449    if (cPointers.length > 0) {
1450        for (let i = 0; i < cPointers.length; i++) {
1451            cPointer = cPointers[i];
1452
1453            cPointerParentStringItem = null;
1454            if (window.jsInputerLaunch!==15) {
1455                return false;
1456            }
1457            cPointerParent = cPointer.parentElement;
1458            if (cPointerParent) {
1459                if (cPointerParent.classList.length > 0) {
1460                    cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.' + cPointerParent.classList[0];
1461                    for (let j = 0; j < classWords.length; j++) {
1462                        for (let i = 0; i < cPointerParent.classList.length; i++) {
1463                            if (cPointerParent.classList[i].includes(classWords[j])) {
1464                                cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.'+cPointerParent.classList[i];
1465                                classChoosed = true;
1466                                break;
1467                            }
1468                        }
1469                        if (classChoosed===true) {
1470                            break;
1471                        }
1472                    }
1473
1474                    if (classChoosed===true) {
1475                        cPointerParentString = cPointerParentStringItem;
1476                        break;
1477                    }
1478                }
1479                if (cPointerParentStringItem && (!cPointerParentString || cPointerParentString !== cPointerParentStringItem)) {
1480                    cPointerParentString = cPointerParentStringItem;
1481                }
1482            }
1483        }
1484
1485        if (cPointerParentString) {
1486            console.log('content gather content block detected');
1487            saveContentBlock(cPointerParentString);
1488        }
1489    } else {
1490        console.log('content gather delayed');
1491        setTimeout(function () {
1492            gatherContentBlock();
1493        }, 500);
1494    }
1495};
1496
1497window.removeMarginClass = function(blockObject) {
1498    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
1499        let binderName,
1500            neededElement,
1501            currentDirection,
1502            seekerIterationCount,
1503            currentSubling;
1504
1505        binderName = blockObject.dataset.rbinder;
1506        if (binderName) {
1507            seekerIterationCount = 0;
1508            currentDirection = 'before';
1509            do {
1510                seekerIterationCount++;
1511                currentSubling = blockObject.nextElementSibling;
1512                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
1513                    neededElement = currentSubling;
1514                }
1515            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
1516
1517            if (!neededElement) {
1518                seekerIterationCount = 0;
1519                currentDirection = 'after';
1520                do {
1521                    seekerIterationCount++;
1522                    currentSubling = blockObject.previousElementSibling;
1523                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
1524                        neededElement = currentSubling;
1525                    }
1526                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
1527            }
1528            if (neededElement) {
1529                if (currentDirection === 'before') {
1530                    neededElement.classList.remove('rfwp_removedMarginTop');
1531                } else {
1532                    neededElement.classList.remove('rfwp_removedMarginBottom');
1533                }
1534            }
1535        }
1536    }
1537
1538    return false;
1539};
1540</script>
vendor: 1 bytes, line 1540
1540
1541<script>
1542if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://proka4aem.ru/wp-admin/admin-ajax.php';}
1543if (typeof rb_csrf==='undefined') {var rb_csrf = 'b88bd3f4c5';}
1544if (typeof cache_devices==='undefined') {var cache_devices = false;}
1545var nReadyBlock = false;
1546var fetchedCounter = 0;
1547
1548function sendReadyBlocksNew(blocks) {
1549    if (!cache_devices) {
1550        let xhttp = new XMLHttpRequest();
1551        let sendData = 'action=saveAdBlocks&type=blocksGethering&data='+blocks+'&_csrf='+rb_csrf;
1552        xhttp.onreadystatechange = function(redata) {
1553            if (this.readyState == 4 && this.status == 200) {
1554                console.log('cache succeed');
1555            }
1556        };
1557        xhttp.open("POST", rb_ajaxurl, true);
1558        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
1559        xhttp.send(sendData);
1560    }
1561}
1562
1563function gatherReadyBlocks() {
1564    if (block_classes && block_classes.length) {
1565        let blocks = {};
1566        let counter1 = 0;
1567        let gatheredBlocks = document.querySelectorAll('.' + block_classes.join(', .'));
1568        let checker = 0;
1569        let adContent = '';
1570        let curState = '';
1571        let thisData = [];
1572        let sumData = [];
1573        let newBlocks = '';
1574        let thisDataString = '';
1575
1576        if (gatheredBlocks.length > 0) {
1577            blocks.data = {};
1578
1579            for (let i = 0; i < gatheredBlocks.length; i++) {
1580                curState = gatheredBlocks[i]['dataset']["state"].toLowerCase();
1581                checker = 0;
1582                if (curState&&gatheredBlocks[i]['innerHTML'].length > 0&&gatheredBlocks[i]['dataset']['aid'] > 0&&curState!='no-block') {
1583                    if (gatheredBlocks[i]['innerHTML'].length > 0) {
1584                        checker = 1;
1585                    }
1586                    if (checker==1) {
1587                        blocks.data[counter1] = {id:gatheredBlocks[i]['dataset']['id'],code:gatheredBlocks[i]['dataset']['aid']};
1588                        counter1++;
1589                    }
1590                }
1591            }
1592
1593            blocks = JSON.stringify(blocks);
1594            sendReadyBlocksNew(blocks);
1595        }
1596    } else nReadyBlock = true;
1597}
1598
1599function timeBeforeGathering() {
1600    if (block_classes && block_classes.length > 0)
1601    {
1602        let gatheredBlocks = document.querySelectorAll('.' + block_classes.join(', .'));
1603        let okStates = ['done','refresh-wait','no-block','fetched'];
1604        let curState = '';
1605
1606        for (let i = 0; i < gatheredBlocks.length; i++) {
1607            if (!gatheredBlocks[i]['dataset']["state"]) {
1608                nReadyBlock = true;
1609                break;
1610            } else {
1611                curState = gatheredBlocks[i]['dataset']["state"].toLowerCase();
1612                if (!okStates.includes(curState)) {
1613                    nReadyBlock = true;
1614                    break;
1615                } else if (curState=='fetched'&&fetchedCounter < 3) {
1616                    fetchedCounter++;
1617                    nReadyBlock = true;
1618                    break;
1619                }
1620            }
1621        }
1622    }
1623    else nReadyBlock = true;
1624
1625    if (nReadyBlock == true) {
1626        nReadyBlock = false;
1627        setTimeout(timeBeforeGathering,2000);
1628    } else {
1629        gatherReadyBlocks();
1630    }
1631}
1632
1633function launchTimeBeforeGathering() {
1634    if (document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll)) {
1635        timeBeforeGathering();
1636    } else {
1637        setTimeout(launchTimeBeforeGathering,100);
1638    }
1639}
1640launchTimeBeforeGathering();
1641
1642</script>
1642
1643 		 
1643<script> var ajaxUrl = "https://proka4aem.ru/wp-admin/admin-ajax.php";</script>
1643
1644 	 <style type="text/css">#webnavoz_button_style2_main{background-color:#a30000}#webnavoz_button_style2_counter{color:rgba(255, 255, 255, 1)}#webnavoz_button_style2_up svg{fill:rgba(255, 255, 255, 1)}</style>
1644<script type="text/javascript">jQuery(document).ready(function($){var webnavoz_button_html='<div id="webnavoz_button_style2_main" class="webnavoz_button_action_up"><div id="webnavoz_button_style2_up"><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="306px" height="306px" viewBox="0 0 306 306" style="enable-background:new 0 0 306 306;" xml:space="preserve"> <g> <g id="keyboard-arrow-up"> <polygon points="35.7,247.35 153,130.05 270.3,247.35 306,211.65 153,58.65 0,211.65 		"/> </g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> <g> </g> </svg> </div><div id="webnavoz_button_style2_counter"><span class="webnavoz_button_action_perc"></span>%</div></div>';$('body').append(webnavoz_button_html);});</script>
1644<link rel="icon" href="https://proka4aem.ru/wp-content/uploads/2019/01/cropped-logo_proka4aem-1-32x32.jpg" sizes="32x32" />
1645<link rel="icon" href="https://proka4aem.ru/wp-content/uploads/2019/01/cropped-logo_proka4aem-1-192x192.jpg" sizes="192x192" />
1646<link rel="apple-touch-icon" href="https://proka4aem.ru/wp-content/uploads/2019/01/cropped-logo_proka4aem-1-180x180.jpg" />
1647<meta name="msapplication-TileImage" content="https://proka4aem.ru/wp-content/uploads/2019/01/cropped-logo_proka4aem-1-270x270.jpg" />
1648		<style>
1649.header:before {
1650	background-image: -webkit-gradient(linear, left top, right top, from(#A30000), to(#A30000));
1651	background-image: linear-gradient(to right, #A30000, #A30000);
1652}
1653.header__nav-2 a {
1654	color: #FFFFFF;
1655}
1656.header__nav-2 > ul > li:hover > a,
1657.header__nav-2 .sub-menu {
1658	background: #D17F7F;
1659}
1660	</style>
1661	
1662	
1662<script async src="//apucdt.com/mn9l17912/ilvpm003y/oln/786/vqu768kypc01r"></script>
1662
1663	
1664	<!-- AdsWell.ru - your audience is more expensive at our hands -->
1665<script>const ADSWELL_HOST = 'muzhskoy.xyz';</script>
vendor: 1 bytes, line 1665
1665
1666<script async src="//muzhskoy.xyz/vendor/lib/vZ.js"></script>
1666
1667	
1668<link rel='stylesheet' id='webnavoz_button_css-css' href='https://proka4aem.ru/wp-content/plugins/webnavoz-button/webnavoz-button.min.css?ver=8c398b0f233f' media='all' />
1669
1670</head>
1671
1672<body>
1673	
1674<!--LiveInternet counter-->
1674<script>
1675new Image().src = "https://counter.yadro.ru/hit?r"+
1676escape(document.referrer)+((typeof(screen)=="undefined")?"":
1677";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
1678screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
1679";h"+escape(document.title.substring(0,150))+
1680";"+Math.random();</script>
1680<!--/LiveInternet-->	
1681
1682<div class="container">
1683<div class="wrapper">
1684
1685	<header class="header">
1686
1687		<div class="header__top">
1688
1689					<div class="header__logo">
1690		<div class="header__logo-image"><img src="" alt="" /></div>
1691		<div class="header__logo-title">Прокачаем<span>ru</span></div>
1692		<div class="header__logo-desc">Бодибилдинг. Фитнес. Правильное питание.</div>
1693		</div>
1694		
1695										<div class="header__popular">
1696				<div class="header__popular-headline">Популярное</div>
1697				<div class="header__popular-title"><a href="https://proka4aem.ru/uprazhneniya/press/uprazhnenie-planka-na-30-dnej">Упражнение планка на 30 дней</a></div>
1698			</div><!-- .header__popular -->
1699					
1700			<form class="search" method="get" action="https://proka4aem.ru/">
1701				<input class="search__input" type="search" name="s" placeholder="Поиск по сайту" value="" required />
1702				<button class="search__button" type="submit"></button>
1703			</form>
1704
1705					<div class="soc  header__soc">
1706				<ul class="soc__list">
1707									<li class="soc__item"><a class="soc__link  soc__vk" href="https://vk.com/pro_ka4aem" target="_blank">ВКонтакте</a></li>
1708									<li class="soc__item"><a class="soc__link  soc__fb" href="https://www.facebook.com/proka4aem.ru" target="_blank">Facebook</a></li>
1709								</ul>
1710			</div><!-- .soc -->
1711		
1712		</div><!-- .header__top -->
1713
1714		<button class="header__menu-toggle" type="button"></button>
1715		<div class="header__menu">
1716			
1717					<nav class="header__nav-2"><ul><li id="menu-item-73" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-73"><a href="https://proka4aem.ru/category/teoriya"><div class="header__nav-2-link">ТЕОРИЯ</div></a></li>
1718<li id="menu-item-59" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-59"><a href="https://proka4aem.ru/category/uprazhneniya"><div class="header__nav-2-link">УПРАЖНЕНИЯ</div></a>
1719<ul class="sub-menu">
1720	<li id="menu-item-60" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-60"><a href="https://proka4aem.ru/category/uprazhneniya/biceps"><div class="header__nav-2-link">Бицепс</div></a></li>
1721	<li id="menu-item-61" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-61"><a href="https://proka4aem.ru/category/uprazhneniya/grud"><div class="header__nav-2-link">Грудь</div></a></li>
1722	<li id="menu-item-62" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-62"><a href="https://proka4aem.ru/category/uprazhneniya/nogi"><div class="header__nav-2-link">Ноги</div></a></li>
1723	<li id="menu-item-63" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-63"><a href="https://proka4aem.ru/category/uprazhneniya/plechi"><div class="header__nav-2-link">Плечи</div></a></li>
1724	<li id="menu-item-64" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-64"><a href="https://proka4aem.ru/category/uprazhneniya/press"><div class="header__nav-2-link">Пресс</div></a></li>
1725	<li id="menu-item-66" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-66"><a href="https://proka4aem.ru/category/uprazhneniya/spina"><div class="header__nav-2-link">Спина</div></a></li>
1726	<li id="menu-item-68" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-68"><a href="https://proka4aem.ru/category/uprazhneniya/triceps"><div class="header__nav-2-link">Трицепс</div></a></li>
1727	<li id="menu-item-4200" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-4200"><a href="https://proka4aem.ru/category/uprazhneniya/yagodicy"><div class="header__nav-2-link">Ягодицы</div></a></li>
1728</ul>
1729</li>
1730<li id="menu-item-65" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-65"><a href="https://proka4aem.ru/category/pitanie"><div class="header__nav-2-link">ПИТАНИЕ</div></a>
1731<ul class="sub-menu">
1732	<li id="menu-item-72" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-72"><a href="https://proka4aem.ru/category/pitanie/recepty"><div class="header__nav-2-link">Рецепты</div></a></li>
1733	<li id="menu-item-321" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-321"><a href="https://proka4aem.ru/category/pitanie/pravilnoe-pitanie"><div class="header__nav-2-link">Правильное питание</div></a></li>
1734	<li id="menu-item-67" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-67"><a href="https://proka4aem.ru/category/pitanie/sportivnoe-pitanie"><div class="header__nav-2-link">Спортивное питание</div></a></li>
1735</ul>
1736</li>
1737<li id="menu-item-420" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-420"><a href="https://proka4aem.ru/category/fitnes"><div class="header__nav-2-link">ФИТНЕС</div></a>
1738<ul class="sub-menu">
1739	<li id="menu-item-970" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-970"><a href="https://proka4aem.ru/category/fitnes/teoriya-fitnes"><div class="header__nav-2-link">Теория</div></a></li>
1740	<li id="menu-item-1821" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1821"><a href="https://proka4aem.ru/category/fitnes/vidy-i-napravleniya"><div class="header__nav-2-link">Виды и направления</div></a></li>
1741	<li id="menu-item-972" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-972"><a href="https://proka4aem.ru/category/fitnes/trenirovki"><div class="header__nav-2-link">Тренировки</div></a></li>
1742	<li id="menu-item-1394" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1394"><a href="https://proka4aem.ru/category/fitnes/inventar"><div class="header__nav-2-link">Инвентарь</div></a></li>
1743	<li id="menu-item-969" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-969"><a href="https://proka4aem.ru/category/fitnes/dlya-beremennyx"><div class="header__nav-2-link">Для беременных</div></a></li>
1744</ul>
1745</li>
1746<li id="menu-item-70" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-70"><a href="https://proka4aem.ru/category/foto"><div class="header__nav-2-link">ФОТО</div></a>
1747<ul class="sub-menu">
1748	<li id="menu-item-94" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-94"><a href="https://proka4aem.ru/category/foto/muzhchiny"><div class="header__nav-2-link">Мужчины</div></a></li>
1749	<li id="menu-item-93" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-93"><a href="https://proka4aem.ru/category/foto/zhenshhiny"><div class="header__nav-2-link">Женщины</div></a></li>
1750</ul>
1751</li>
1752<li id="menu-item-71" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71"><a href="https://proka4aem.ru/category/video"><div class="header__nav-2-link">ВИДЕО</div></a></li>
1753<li id="menu-item-4132" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-4132"><a href="https://proka4aem.ru/category/novosti"><div class="header__nav-2-link">НОВОСТИ</div></a></li>
1754</ul></nav>
1755									</div><!-- .header__menu -->
1756
1757	</header><!-- .header -->
1758<div class="middle">
1759		<main class="content">
1760			
1761			
1762			<article class="post">
1763				<h1 class="post__headline">Рынок жилья в Омске – доступные варианты для комфортного переезда</h1>
1764				<div class="post__entry">
1765					<p>Омск предлагает инвесторам одно из самых выгодных сочетаний доступных цен и высокой доходности в России: средняя стоимость квадратного метра в новостройках составляет 149–151 тысячу рублей, что значительно ниже среднероссийского уровня, при этом реальная доходность с учётом аренды достигает 11,6% годовых с окупаемостью за 6–7 лет — поэтому выгодно <a href="https://omsk.domclick.ru/pokupka/kvartiry">купить квартиру в Омске</a>.</p>
1766<h2><span style="font-weight: 400;">Текущие цены на новостройки и вторичное жильё в Омске</span></h2>
1767<p><span style="font-weight: 400;">На омском рынке новостроек в 2025 году сложилась чёткая ценовая картина. По данным на конец года, средняя цена квартиры в новостройках составляет 9,1–9,2 млн рублей, стоимость квадратного метра варьируется от 141 до 162 тыс. рублей в зависимости от района и класса жилья. Это реальный ориентир для тех, кто ищет сочетание цены и перспективы роста.</sp
1767an></p>
1768<p><span style="font-weight: 400;">Первичный рынок показывает себя более предсказуемо, чем вторичка. Однокомнатные квартиры здесь продаются за 5,8–9,6 млн рублей при площади 35–43 кв. м, двушки — в диапазоне 7,4–13,2 млн рублей (49–68 кв. м), трёшки — от 9,5 до 18 млн рублей с площадью от 68 до 91 кв. м. Разброс объясняется расположением, уровнем отделки и сроками сдачи дома. Застройщики фиксируют цену на этапе продаж — это исключает риск внезапного подорожания до момента получения ключей.</span></p>
1769<p><span style="font-weight: 400;">Вторичный рынок Омска традиционно предлагает более низкие цены. По данным Росстата, в первом квартале 2025 года стоимость вторичного жилья снизилась на 1,4% по сравнению с концом 2024-го. Возраст зданий, необходимость ремонта, отсутствие гарантий со стороны застройщика — всё это сказывается на цене. Такой сегмент менее интересен для долгосрочных вложений. Новостройки дают возможность купить по фиксированной стоимости с потенциалом повышения цены после завершения строительства и развития района.<img fetchpriority="high" decoding="async" width="1024" height="768" class="alignnone size-full wp-image-7022" title="new apartment" src="https://proka4aem.ru/wp-content/uploads/2025/12/8d636f14d4a7b36f4926f287693d9f85.jpg" alt="new apartmentфото" srcset="https://proka4aem.ru/wp-content/uploads/2025/12/8d636f14d4a7b36f4926f287693d9f85.jpg 1024w, https://proka4aem.ru/wp-content/uploads/2025/12/8d636f14d4a7b36f4926f287693d9f85-300x225.jpg 300w, https://proka4aem.ru/wp-content/uploads/2025/12/8d636f14d4a7b36f4926f287693d9f85-150x113.jpg 150w, https://proka4aem.ru/wp-content/uploads/2025/12/8d636f14d4a7b36f4926f287693d9f85-768x576.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></span></p>
1770<p><span style="font-weight: 400;">Цена за квадратный метр в новостройках сильно зависит от локации и класса жилья. Минимальные варианты в удалённых районах стартуют примерно от 100–110 тыс. рублей за кв. м. С другой стороны, есть премиальные проекты в центральной части города с ценой до 200–220 тыс. рублей за квадрат (общая стоимость квартир в таких комплексах может достигать 15–20 млн рублей за двушку). Если хотите быстрого роста стоимости — стоит обратить внимание на комплексы в развивающихся районах, где активно строят инфраструктуру.</span></p>
1771<p><span style="font-weight: 400;">2025 год на первичном рынке показал умеренный рост цен. В первом квартале средняя цена квадратного метра держалась на уровне 141 тыс. рублей, к третьему кварталу выросла до 149–152 тыс. рублей, а к концу года достигла 155–162 тыс. рублей в зависимости от объекта. Застройщики держали ценник на конкурентном уровне, но постепенное повышение отражает растущий спрос и развитие районов. Для инвесторов это означает потенциал роста стоимости — особенно в проектах, Ð
1771ºÐ¾Ñ‚орые сдаются в ближайшие кварталы.</span></p>
1772<div class="post__table"><table>
1773<thead>
1774<tr>
1775<th><b>Тип квартиры</b></th>
1776<th><b>Площадь, м²</b></th>
1777<th><b>Цена, млн ₽</b></th>
1778<th><b>Цена за м², тыс. ₽</b></th>
1779</tr>
1780</thead>
1781<tbody>
1782<tr>
1783<td><span style="font-weight: 400;">1-комнатная</span></td>
1784<td><span style="font-weight: 400;">35–43</span></td>
1785<td><span style="font-weight: 400;">5,8–9,6</span></td>
1786<td><span style="font-weight: 400;">145–165</span></td>
1787</tr>
1788<tr>
1789<td><span style="font-weight: 400;">2-комнатная</span></td>
1790<td><span style="font-weight: 400;">49–68</span></td>
1791<td><span style="font-weight: 400;">7,4–13,2</span></td>
1792<td><span style="font-weight: 400;">140–160</span></td>
1793</tr>
1794<tr>
1795<td><span style="font-weight: 400;">3-комнатная</span></td>
1796<td><span style="font-weight: 400;">68–91</span></td>
1797<td><span style="font-weight: 400;">9,5–18</span></td>
1798<td><span style="font-weight: 400;">135–155</span></td>
1799</tr>
1800<tr>
1801<td><span style="font-weight: 400;">4-комнатная</span></td>
1802<td><span style="font-weight: 400;">96–119</span></td>
1803<td><span style="font-weight: 400;">17,7–21,8</span></td>
1804<td><span style="font-weight: 400;">150–170</span></td>
1805</tr>
1806</tbody>
1807</table></div>
1808<p>&nbsp;</p>
1809<div class="post__table"><table>
1810<thead>
1811<tr>
1812<th><b>Период</b></th>
1813<th><b>Средняя цена за м², тыс. ₽</b></th>
1814<th><b>Изменение к предыдущему кварталу</b></th>
1815</tr>
1816</thead>
1817<tbody>
1818<tr>
1819<td><span style="font-weight: 400;">I квартал 2025</span></td>
1820<td><span style="font-weight: 400;">141–145</span></td>
1821<td><span style="font-weight: 400;">—</span></td>
1822</tr>
1823<tr>
1824<td><span style="font-weight: 400;">II квартал 2025</span></td>
1825<td><span style="font-weight: 400;">146–149</span></td>
1826<td><span style="font-weight: 400;">+2,8%</span></td>
1827</tr>
1828<tr>
1829<td><span style="font-weight: 400;">III квартал 2025</span></td>
1830<td><span style="font-weight: 400;">149–152</span></td>
1831<td><span style="font-weight: 400;">+1,5%</span></td>
1832</tr>
1833<tr>
1834<td><span style="font-weight: 400;">IV квартал 2025</span></td>
1835<td><span style="font-weight: 400;">155–162</span></td>
1836<td><span style="font-weight: 400;">+4,2%</span></td>
1837</tr>
1838</tbody>
1839</table></div>
1840<p><span style="font-weight: 400;">На вторичном рынке ценообразование определяется возрастом здания, состоянием и необходимостью ремонта. Старое жильё теряет в цене из-за износа, отсутствия современных инженерных систем и потребности в обновлении. Новостройки предлагают свежие планировки, энергоэффективные решения и гарантии на конструктивные элементы — вот почему они дороже и привлекательнее для роста стоимости. Выбирая первичный рынок, инвесторы защищают свои вложения от скрытых проблем и участвуют в формировании инфраструктуры квартала — это реальное преимущество.</span></p>
1841<h2><span style="font-weight: 400;">Спрос на квартиры по типам и районам Омска</span></h2>
1842<p><span style="font-weight: 400;">В течение 2025 года спрос на квартиры в Омске чётко разделился по типам жилья — особенно заметен рост интереса к компактным вариантам. По данным аналитических платформ (Циан, ДомКлик), студии стали популярнее примерно на 23% по сравнению с 2024 годом, однушки выросли на 15%, двухкомнатные — на 11%, а большие квартиры — на 9–15%. На вторичном рынке эта тенденция ещё ярче: количество студий выросло Ð
1842½Ð° 28%, однокомнатных — на 19%. Такая ситуация объясняется двумя основными факторами. Во-первых, компактное жильё доступнее для новичков. Во-вторых, инвесторы оценили его как выгодный вариант с точки зрения аренды — спрос на съёмное жильё продолжает расти.</span></p>
1843<p><span style="font-weight: 400;">Портрет покупателя в Омске заметно изменился. По оценкам застройщиков и банков, значительная доля сделок совершается с помощью семейной ипотеки — это говорит о лидирующей роли молодых семей с детьми (хотя точные цифры по городу варьируются). Параллельно растёт и группа инвесторов, которые выбирают компактные квартиры ради стабильного дохода от аренды. Ещё одна интересная тенденция — увеличение спроса на квартиры без отделки. Это полезный сигнал: показывает появление более опытных покупателей, готовых вкладываться в ремонт самостоятельно, чтобы снизить итоговую стоимость жилья.</span></p>
1844<p><span style="font-weight: 400;">Что касается цен, они двигаются неравномерно в зависимости от сегмента. На первичном рынке средняя цена за квадрат в новостройках Омска к декабрю 2025 года составляет около 151 тысячи рублей — примерно на 4% выше, чем в начале года. Вторичка держит стабильную планку порядка 110 тысяч за квадрат, что оставляет заметный разрыв между сегментами. Именно этот факт открывает инвесторам интересные возможности: можно купить недорого и получить перспективу роста. Среднее время продажи квартиры на вторичном рынке — около 96 дней, что достаточно быстро для реализации инвестиционных задумок.</span></p>
1845<p><span style="font-weight: 400;">География спроса в Омске тесно связана с развитием новых микрорайонов и улучшениями в транспортной доступности. Особенно активно строят в районах «Кварталы Драверта» и «Зелёная река». Здесь работают крупные застройщики вроде «Брусника» и «Эталон». Эти локации привлекают тем, что предлагают современную инфраструктуру, близость к центру и достойные перспективы для роста цен. Но важно учитывать: к декабрю 2025 года рынок Омска столкнулся с затовариванием — на продаже находится около 865 квартир, жилья строится больше, чем успевают продать. Это даёт шанс для переговоров и скидок, но и риски тоже есть — внимательно подбирайте объекты.</span></p>
1846<p><span style="font-weight: 400;">Основные сегменты и районы с хорошим потенциалом:</span></p>
1847<ul>
1848<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Студии и однокомнатные квартиры на вторичном рынке — высокий спрос на аренду, доступный вход в рынок, стабильный доход от сдачи</span></li>
1849<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Компактное жильё без отделки — шанс снизить общую стоимость за счёт самостоятельного ремонта</sp
1849an></li>
1850<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Микрорайон «Кварталы Драверта» — новая инфраструктура, крупные игроки, вероятность роста стоимости при улучшении транспортной доступности</span></li>
1851<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Микрорайон «Зелёная река» — современное строительство, востребован среди молодых семей, перспективы роста цен</span></li>
1852<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Вторичный рынок в центральных районах — быстрое вращение объектов, надёжный арендный спрос, стабильная доходность</span></li>
1853<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Квартиры с улучшенной отделкой в новостройках — оптимальное соотношение цены и качества, привлекательны для арендаторов</span></li>
1854<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Районы с хорошей транспортной доступностью — высокий интерес арендаторов, вероятность повышения стоимости при развитии инфраструктуры</span></li>
1855</ul>
1856<h2><span style="font-weight: 400;">Льготные ипотечные программы и их влияние на омский рынок</span></h2>
1857<p><span style="font-weight: 400;">Ипотечные программы остаются одним из главных драйверов спроса на жильё в Омске — особенно в первичке. По данным на начало 2025 года банки предлагали более 20 вариантов под разные категории заёмщиков. К декабрю ситуация изменилась: ключевая ставка ЦБ выросла, рыночные ставки поднялись до 25–30% годовых, но льготные программы с господдержкой продолжают работать — пусть и с ограничениями.</span></p>
1858<h4><i><span style="font-weight: 400;">Семейная и IT-ипотека: условия на конец года</span></i></h4>
1859<p><span style="font-weight: 400;">Семейная ипотека по-прежнему одна из самых востребованных. В Омске её предлагает около десятка банков — ставка фиксированная, 6% годовых (выросла с 4% в середине года). Первоначальный взнос — от 15%, срок — до 30 лет. Программа рассчитана на семьи с детьми, и для многих это единственный способ купить квартиру без кабальных процентов.<img decoding="async" width="1024" height="768" class="alignnone size-full wp-image-7024" title="new apartment" src="https://proka4aem.ru/wp-content/uploads/2025/12/4d7768684b675c74a47092b8f64e7d70.jpg" alt="new apartmentфото" srcset="https://proka4aem.ru/wp-content/uploads/2025/12/4d7768684b675c74a47092b8f64e7d70.jpg 1024w, https://proka4aem.ru/wp-content/uploads/2025/12/4d7768684b675c74a47092b8f64e7d70-300x225.jpg 300w, https://proka4aem.ru/wp-content/uploads/2025/12/4d7768684b675c74a47092b8f64e7d70-150x113.jpg 150w, https://proka4aem.ru/wp-content/uploads/2025/12/4d7768684b675c74a47092b8f64e7d70-768x576.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></span></p>
1860<p><span style="font-weight: 400;">IT-специалисты тоже могут рассчитывать на льготу: Россельхозбанк и ещё несколько кредитных организаций предлагают ипотеку с господдержкой под 5–6% годовых. Максимальная сумма — до 6 миллионов рублей, срок — до 30 лет. Первоначальный взнос обычно от 20%. Это часть плана по привлечению квалифицированных кадров в регион и одновременно — попытка поддержать средний ценовой сегмент.</span></p>
1861<p><span style="font-weight: 400;">Параллельно действуют программы для учителей, врачей и молодых семей. Россельхозбанк, например, готов выдать кредит до 6 млн рублей на срок до 20 лет. Такой точечный подход позволяет банкам охватить широкий круг населения — и формировать хоть какой-то устойчивый спрос.</span></p>
1862<h4><i><span style="font-weight: 400;">Влияние программ на сделки с новостройками</span></i></h4>
1863<p><span style="font-weight: 400;">Льготные условия напрямую влияют на активность в новостройках. ВТБ, к примеру, даёт скидку в 1 процентный пункт на ставку тем, кто подтверждает доход справкой. Ещё минус 0,7% — для квартир площадью свыше 65 квадратов. Эти бонусы рассчитаны на повышение среднего чека и привлечение покупателей в более дорогие объекты.</span></p>
1864<p><span style="font-weight: 400;">Государственная ипотека с господдержкой всё ещё популярна при покупке квартир в аккредитованных новостройках. Первоначальный взнос стартует от 15%, ставки — в диапазоне 5–7% в зависимости от банка и условий. Это делает жильё доступнее для среднего класса и поддерживает застройщиков — хотя сотни квартир по-прежнему пустуют.</span></p>
1865<p><span style="font-weight: 400;">Важно внимательно читать условия. За рекламн
1865ыми цифрами нередко скрываются более высокие проценты — особенно если не подтверждать доход или брать квартиру в неаккредитованном объекте. Рассчитывая стоимость кредита, забудьте про «красивые» обещания и считайте реальную переплату.</span></p>
1866<h4><i><span style="font-weight: 400;">Прогноз снижения ставок и активизации рынка</span></i></h4>
1867<p><span style="font-weight: 400;">Сейчас в Омске ставки по льготным программам держатся в диапазоне 5–7% годовых. Рыночные же предложения — 25–30%, что делает их недоступными для большинства. Минимальные ставки от 1,99%, которые мелькали в рекламе в начале года, на практике почти никому не доступны — это акционные условия с жёсткими ограничениями.</span></p>
1868<p><span style="font-weight: 400;">Семейная ипотека с фиксированными 6% выступает своего рода ориентиром — и может помочь в переговорах с банками. Если ЦБ начнёт снижать ключевую ставку (а это возможно во втором полугодии 2026 года, если инфляция замедлится), рыночные ставки пойдут вниз. Тогда можно ожидать волну рефинансирования и оживление вторичного рынка. Но пока это гипотеза — не более того.</span></p>
1869<p><span style="font-weight: 400;">Для инвесторов расширение льготных программ — сигнал к тому, что спрос на первичку будет поддерживаться искусственно. Это может сдержать падение цен и даже дать небольшой рост в отдельных проектах. Те, кто рассчитывает на доход от аренды, смогут закрепить приемлемую ставку сейчас и планировать денежный поток заранее — особенно если ставка зафиксирована на весь срок.</span></p>
1870<div class="post__table"><table>
1871<thead>
1872<tr>
1873<th><b>Программа</b></th>
1874<th><b>Ставка</b></th>
1875<th><b>Первоначальный взнос</b></th>
1876<th><b>Максимальный срок</b></th>
1877<th><b>Целевая аудитория</b></th>
1878</tr>
1879</thead>
1880<tbody>
1881<tr>
1882<td><span style="font-weight: 400;">Семейная ипотека</span></td>
1883<td><span style="font-weight: 400;">6%</span></td>
1884<td><span style="font-weight: 400;">От 15%</span></td>
1885<td><span style="font-weight: 400;">30 лет</span></td>
1886<td><span style="font-weight: 400;">Семьи с детьми</span></td>
1887</tr>
1888<tr>
1889<td><span style="font-weight: 400;">IT-ипотека (РСХБ)</span></td>
1890<td><span style="font-weight: 400;">5–6%</span></td>
1891<td><span style="font-weight: 400;">От 20%</span></td>
1892<td><span style="font-weight: 400;">30 лет</span></td>
1893<td><span style="font-weight: 400;">IT-специалисты</span></td>
1894</tr>
1895<tr>
1896<td><span style="font-weight: 400;">Государственная ипотека</span></td>
1897<td><span style="font-weight: 400;">5–7%</span></td>
1898<td><span style="font-weight: 400;">От 15%</span></td>
1899<td><span style="font-weight: 400;">30 лет</span></td>
1900<td><span style="font-weight: 400;">Все граждане РФ</span></td>
1901</tr>
1902<tr>
1903<td><span style="font-weight: 400;">Базовая программа ВТБ</span></td>
1904<td><span style="font-weight: 400;">От 25%</span></td>
1905<td><span style="font-weight: 400;">От 20%</span></td>
1906<td><span style="font-weight: 400;">30 лет</span></td>
1907<td><span style="font-weight: 400;">Все категории</span></td>
1908</tr>
1909</tbody>
1910</table></div>
1911<p><span style="font-weight: 400;">Разнообразие ипотечных предложений в Омске — это инструмент поддержки спроса, особенно в новостройках и среднем ценовом сегменте. Для тех, кто рассматривает недвижимость как инвестицию, льготные программы — возможность зафиксировать низкую ставку и застраховаться от дальнейшего роста процентов. Это расширяет рынок сделок и может поддержать стоимость жилья в ближайшие годы — при условии, что экономическая ситуация стабилизируется.<img decoding="async" width="1024" height="768" class="alignnone size-full wp-image-7023" title="new apartment" src="https://proka4aem.ru/wp-content/uploads/2025/12/3231ce727ef5b7234bee48e53f502951.jpg" alt="new apartmentфото" srcset="https://proka4aem.ru/wp-content/uploads/2025/12/3231ce727ef5b7234bee48e53f502951.jpg 1024w, https://proka4aem.ru/wp-content/uploads/2025/12/3231ce727ef5b7234bee48e53f502951-300x225.jpg 300w, https://proka4aem.ru/wp-content/uploads/2025/12/3231ce727ef5b7234bee48e53f502951-150x113.jpg 150w, https://proka4aem.ru/wp-content/uploads/2025/12/3231ce727ef5b7234bee48e53f502951-768x576.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></span></p>
1912<h2><span style="font-weight: 400;">Доходность инвестиций в омское жильё и рекомендации<
1912/span></h2>
1913<p><span style="font-weight: 400;">Расчёт доходности при текущих ценах — дело несложное, но требует внимания к деталям. По итогам 2022–2024 годов среднегодовая реальная доходность на однокомнатную квартиру в Омске составляла примерно 7,3% без учёта арендных поступлений и около 11,6% с ними — если считать правильно, с вычетом налогов, платежей за ЖКУ, капремонт и инфляции. В 2025 году картина изменилась: цены на жильё выросли до 4,2–4,5 млн рублей за однокомнатную квартиру, аренда поднялась до 28–32 тысяч в месяц. Пересчитаем. Средняя цена квартиры — 4,3 млн рублей, месячная аренда — 30 тысяч, или 360 тысяч в год. После вычета расходов (налог, коммуналка, капремонт — примерно 120 тысяч), чистый доход — порядка 240 тысяч в год. Доходность получается около 5,6% годовых, окупаемость — примерно 10–12 лет.</span></p>
1914<div class="post__table"><table>
1915<thead>
1916<tr>
1917<th><b>Показатель</b></th>
1918<th><b>Без аренды</b></th>
1919<th><b>С арендой</b></th>
1920</tr>
1921</thead>
1922<tbody>
1923<tr>
1924<td><span style="font-weight: 400;">Доходность, % годовых (2025)</span></td>
1925<td><span style="font-weight: 400;">4,8</span></td>
1926<td><span style="font-weight: 400;">5,6</span></td>
1927</tr>
1928<tr>
1929<td><span style="font-weight: 400;">Окупаемость, лет (при 4,3 млн руб.)</span></td>
1930<td><span style="font-weight: 400;">18–20</span></td>
1931<td><span style="font-weight: 400;">10–12</span></td>
1932</tr>
1933<tr>
1934<td><span style="font-weight: 400;">Прирост цены за 2022–2024, %</span></td>
1935<td><span style="font-weight: 400;">~25</span></td>
1936<td><span style="font-weight: 400;">~25 + аренда</span></td>
1937</tr>
1938</tbody>
1939</table></div>
1940<p><span style="font-weight: 400;">Что дальше? Рынок жилья в Омске показывает уверенный рост — во многом благодаря инвестициям в инфраструктуру. В 2023–2024 годах на развитие города было выделено около 52 млрд рублей, и этот импульс продолжает работать. Омск по доходности обошёл даже Москву и Петербург (хотя разрыв сокращается). Прогноз на 2025–2027 годы умеренно оптимистичный: доходность в районе 5–7% может сохраниться благодаря спросу со стороны мигрантов и молодых специалистов — это поддерживает рынок аренды. Цены, особенно в развивающихся районах, могут расти на 4–6% в год. Риски, конечно, есть — инфляция, возможное ужесточение ипотечных ставок. Но цены на жильё в Омске по-прежнему ниже среднероссийских, что делает город привлекательным для инвесторов.</span></p>
1941<p><span style="font-weight: 400;">Что именно рекомендую при выборе жилья для инвестиций? Обратите внимание на однокомнатные квартиры или студии площадью 30–40 м² — они почти всегда востребованы на рынке аренды с ценами от 28 до 35 тысяч рублей в месяц. Лучше ориентироваться на новостройки или вторичку в районах с хорошей транспортной доступностью и планами по развитию инфраструктуры. Чтобы не запутаться — вот чек-лист, который рекомендую пройти прежде, чем вложиться:</span></p>
1942<ul>
1943<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Цена за квадратный метр в пределах 130–150 тысяч рублей (реальный диапазон для Омска в 2025 году)</span></li>
1944<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Арендная плата от 28 тысяч рублей в месяц (проверьте актуальные объявления на ЦИАН или Авито)</span></li>
1945<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Расположение в 10 км от центра — например, Левобережье или Нефтяники</span></li>
1946<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Квартира с новой отделкой либо готовая к ремонту (экономия на переделке — около 200–300 тысяч рублей)</span></li>
1947<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Этажность от 2-го до 7-го — на таких этажах спрос традиционно выше</span></li>
1948<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Наличие рядом остановок общественного транспорта, до центра добираться менее 30 минут</span></li>
1949<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Школы и магазины в пределах 500 метров — важный плюс для арендаторов с семьями</span></li>
1950<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">
1950Отсутствие долгов по ЖКУ и капитальному ремонту</span></li>
1951<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Юридическая чистота — выписка из ЕГРН без обременений обязательна</span></li>
1952<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Перспектива роста цены минимум на 4–5% в год (основывайтесь на рынке, не на слухах)</span></li>
1953<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Доходность по вашим собственным расчётам должна превышать 5%</span></li>
1954<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Оптимальная площадь — около 35 м² (это золотая середина по спросу)</span></li>
1955<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Район с планами инвестиций и развитием инфраструктуры на 2025–2027 годы</span></li>
1956</ul>
1957<p><span style="font-weight: 400;">Если выдерживать этот список, квартира окупится обычно за 10–12 лет — и будет расти в цене. Серьёзный повод присмотреться к Омску, правда?</span></p>
1958<p>&nbsp;</p>
1959<style type="text/css">#webnavoz_button_prev_trig,#webnavoz_button_next_trig,#webnavoz_button_prev_cat,#webnavoz_button_prev_title,#webnavoz_button_next_cat,#webnavoz_button_next_title{color:rgba(163, 0, 0, 1) !important}#webnavoz_button_prev_a,#webnavoz_button_next_a{background:#fff !important}</style>									</div><!-- .post__entry -->
1960			</article><!-- .post -->
1961
1962			
1963		</main><!-- .content -->
1964
1965		<aside class="sidebar">
1966
1967									<div class="widget_text sidebar__section  sidebar__widget" id="custom_html-11"><div class="textwidget custom-html-widget"><div id="cnt_rb_246349" class="cnt32_rl_bg_str" data-id="246349"></div></div></div><!-- .sidebar__section --><div class="widget_text sidebar__section  sidebar__widget" id="custom_html-13"><div class="textwidget custom-html-widget"><div class="center">
1968<script type="text/javascript" src="https://vk.com/js/api/openapi.js?169"></script>
1968
1969
1970<!-- VK Widget -->
1971<div id="vk_groups"></div>
1972<script type="text/javascript">
1973VK.Widgets.Group("vk_groups", {mode: 3, width: "350", height : "400"}, 99509925);
1974</script>
1974
1975	</div></div></div><!-- .sidebar__section --><div class="widget_text sidebar__section  sidebar__widget" id="custom_html-4"><div class="textwidget custom-html-widget">
1975<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
1975
1976<!-- Левый сайдбар  | Прокачаем -->
1977<p style="text-align: center;"><ins class="adsbygoogle"
1978     style="display:inline-block;width:240px;height:400px"
1979     data-ad-client="ca-pub-5367866336806495"
1980     data-ad-slot="2662729850"></ins>
1981<script>
1982(adsbygoogle = window.adsbygoogle || []).push({});
1983</script>
1983</p></div></div><!-- .sidebar__section --><div class="sidebar__section  sidebar__widget" id="search-6"><form role="search" method="get" id="searchform" class="searchform" action="https://proka4aem.ru/">
1984				<div>
1985					<label class="screen-reader-text" for="s">Найти:</label>
1986					<input type="text" value="" name="s" id="s" />
1987					<input type="submit" id="searchsubmit" value="Поиск" />
1988				</div>
1989			</form></div><!-- .sidebar__section --><div class="widget_text sidebar__section  sidebar__widget" id="custom_html-8"><div class="textwidget custom-html-widget"><a href="https://proka4aem.ru/politika-konfidencialnosti" target="_blank" rel="noopener">Политика конфиденциальности</a></div></div><!-- .sidebar__section --><div class="sidebar__section  sidebar__widget" id="text-13">			<div class="textwidget">
1989<script>
vendor: 345 bytes, lines 1989-1995
1989
1990  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
1991  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
1992  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
1993  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
1994
1995  ga('create', '
1995UA-65884437-1
vendor: 42 bytes, lines 1995-1997
1995', 'auto');
1996  ga('send', 'pageview');
1997
1998</script>
1998</div>
1999		</div><!-- .sidebar__section --><div class="sidebar__section  sidebar__widget" id="text-16">			<div class="textwidget"><!-- Yandex.Metrika counter -->
2000<script type="text/javascript">
2001    (function (d, w, c) {
2002        (w[c] = w[c] || []).push(function() {
2003            try {
2004                w.yaCounter31366618 = new Ya.Metrika({
2005                    id:31366618,
2006                    clickmap:true,
2007                    trackLinks:true,
2008                    accurateTrackBounce:true,
2009                    webvisor:true
2010                });
2011            } catch(e) { }
2012        });
2013
2014        var n = d.getElementsByTagName("script")[0],
2015            s = d.createElement("script"),
2016            f = function () { n.parentNode.insertBefore(s, n); };
2017        s.type = "text/javascript";
2018        s.async = true;
2019        s.src = "https://mc.yandex.ru/metrika/watch.js";
2020
2021        if (w.opera == "[object Opera]") {
2022            d.addEventListener("DOMContentLoaded", f, false);
2023        } else { f(); }
2024    })(document, window, "yandex_metrika_callbacks");
2025</script>
2025
2026<noscript><div><img src="https://mc.yandex.ru/watch/31366618" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
2027<!-- /Yandex.Metrika counter -->
2028
2029<!--LiveInternet counter-->
2029<script type="text/javascript"><!--
2030document.write("<a href='//www.liveinternet.ru/click' "+
2031"target=_blank><img src='//counter.yadro.ru/hit?t14.3;r"+
2032escape(document.referrer)+((typeof(screen)=="undefined")?"":
2033";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
2034screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
2035";"+Math.random()+
2036"' alt='' title='LiveInternet: показано число просмотров за 24"+
2037" часа, посетителей за 24 часа и за сегодня' "+
2038"border='0' width='88' height='31'/><\/a>")
2039//--></a></script>
2039<!--/LiveInternet-->
2040
2041
2042
2043<!-- end of Top100 code -->
2044
2045
2046<!-- [email protected] counter -->
2047<script type="text/javascript">
2048var _tmr = _tmr || [];
2049_tmr.push({id: "2701741", type: "pageView", start: (new Date()).getTime()});
2050(function (d, w, id) {
2051  if (d.getElementById(id)) return;
2052  var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id;
2053  ts.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//top-fwz1.mail.ru/js/code.js";
2054  var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);};
2055  if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); }
2056})(document, window, "topmailru-code");
2057</script>
2057<noscript><div style="position:absolute;left:-10000px;">
2058<img src="//top-fwz1.mail.ru/counter?id=2701741;js=na" style="border:0;" height="1" width="1" alt="Рейтинг@Mail.ru" />
2059</div></noscript>
2060<!-- //[email protected] counter --></div>
2061		</div><!-- .sidebar__section --><div class="widget_text sidebar__section  sidebar__widget" id="custom_html-14"><div class="textwidget custom-html-widget"><div id="cnt_rb_246350" class="cnt32_rl_bg_str" data-id="246350"></div></div></div><!-- .sidebar__section -->						
2062		</aside><!-- .sidebar -->	</div><!-- .middle -->
2063
2064	<footer class="footer">
2065		<div class="footer__inner">
2066
2067			<div class="footer__section  copyright">
2068
2069				<div class="copyright__domain">
2070					<div class="copyright__logo"><img src="" alt="" /></div>
2071					Прокачаем<span>ru</span>
2072				</div>
2073
2074				<div class="copyright__text">
2075					© 2015–2026 – Бодибилдинг. Фитнес. Правильное питание.				</div>
2076
2077			</div><!-- .copyright -->
2078
2079			
2080					<nav class="footer__section  footer__nav"><ul><li id="menu-item-5052" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-5052"><a rel="privacy-policy" href="https://proka4aem.ru/politika-konfidencialnosti">Политика конфиденциальности</a></li>
2081<li id="menu-item-5053" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5053"><a href="https://proka4aem.ru/soderzhanie">Содержание</a></li>
2082<li id="menu-item-5054" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5054"><a href="https://proka4aem.ru/kontakty">Контакты</a></li>
2083</ul></nav>
2084				
2085			<div class="footer__section  footer__mid">
2086
2087							<div class="soc  footer__soc">
2088					<ul class="soc__list">
2089											<li class="soc__item"><a class="soc__link  soc__vk" href="https://vk.com/pro_ka4aem" target="_blank">ВКонтакте</a></li>
2090											<li class="soc__item"><a class="soc__link  soc__fb" href="https://www.facebook.com/proka4aem.ru" target="_blank">Facebook</a></li>
2091										</ul>
2092				</div><!-- .soc -->
2093			
2094							<div class="counters">
2095					<!-- Yandex.Metrika counter -->
2096<script type="text/javascript" >
vendor: 305 bytes, lines 2096-2101
2096
2097   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
2098   m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
2099   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
2100
2101   ym(
210131366618
vendor: 105 bytes, lines 2101-2105
2101, "init", {
2102        clickmap:true,
2103        trackLinks:true,
2104        accurateTrackBounce:true
2105   });
2106</script>
2106
2107<noscript><div><img src="https://mc.yandex.ru/watch/31366618" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
2108<!-- /Yandex.Metrika counter -->
2109				</div><!-- .counters -->
2110			
2111			</div><!-- .footer__mid -->
2112
2113			<div class="footer__section  footer__info">
2114
2115				<p>Перепечатка материалов разрешена только с указанием первоисточника!!!</p>
2116
2117				
2118			</div><!-- .footer__info -->
2119
2120			
2121
2122		</div><!-- .footer__inner -->
2123	</footer><!-- .footer -->
2124
2125</div><!-- .wrapper -->
2126</div><!-- .container -->
2127
2128<script>
2129<!--
2130var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})()
2131//-->
2132</script>
2132<script type="speculationrules">
2133{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/sreda-design-nocat/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
2134</script>
vendor: 1 bytes, line 2134
2134
2135<script>fetch('https://proka4aem.ru/wp-admin/admin-ajax.php?action=assistcron&nonce=d4b77ec7f6')</script>
2135<script>(function(){var cls="pseudo-clearfy-link";function decodeUri(value){if(!value){return"";}if(/^https?:\/\//i.test(value)){return value;}try{return atob(value);}catch(e){return value;}}var links=document.querySelectorAll("."+cls);for(var i=0;i<links.length;i++){links[i].addEventListener("click",function(e){var el=e.currentTarget;var url=decodeUri(el.getAttribute("data-uri"));if(!url){return;}var target=el.getAttribute("data-target");if(target==="_blank"){window.open(url,"_blank");return;}window.location.href=url;});}})();</script>
2135<script>function disable_keystrokes(e) {if (e.ctrlKey || e.metaKey){var key;if(window.event)key = window.event.keyCode;else key = e.which;if (key == 67 || key == 88 || key == 65 || key == 85 || key == 83)return false;else return true;}}document.onkeydown = disable_keystrokes;</script>
2135<script>function disableSelection(target){if (typeof target.onselectstart!="undefined") target.onselectstart=function(){return false};else if (typeof target.style.MozUserSelect!="undefined")target.style.MozUserSelect="none";else target.onmousedown=function(){return false};target.style.cursor = "default"}disableSelection(document.body);</script>
2135<script>document.oncontextmenu = function() { return false; }</script>
2135<script>document.addEventListener("copy", (event) => {var pagelink = "\nИсточник: https://proka4aem.ru";event.clipboardData.setData("text", document.getSelection() + pagelink);event.preventDefault();});</script>
2135	<div class="popUp-box-expert_plag form-openexpert_plag">
2136		<div class="wrapbody-popup-expert_plag">
2137		<span class="close-popUp"></span>
2138		<div class="title_expert_plag">Задать вопрос эксперту</div>
2139		<div class="form-style-expert_plag">
2140			<form id="form-expert_plag" action="#">
2141				<div class="form-style">
2142					<div class="item-field">
2143						<input name="title" id="title" type="text" placeholder="Вопрос"/>
2144					</div>
2145					<div class="hidden-input">
2146						<input type="hidden" name="cat" value="">
2147						<input type="text" id="textadd">
2148					</div>
2149					<div class="item-field">
2150						<textarea name="editor" id="editor" rows="5" cols="50" placeholder="Подробнее о вопросе"></textarea>
2151					</div>
2152					<div class="submit-form">
2153						<input id="button-expert_plag" style="" type="submit" value="Отправить">
2154					</div>
2155				</div>
2156			</form>
2157		</div>
2158	</div>
2159	<div class="bg-fix"></div>
2160	</div>
2161	<div class="popUp-box-expert_plag form-resultexpert_plag">
2162		<div class="wrapbody-popup-expert_plag">
2163			<span class="close-popUp"></span>
2164				<p>Спасибо!</p>
2165				<p>В ближайшее время мы опубликуем информацию.</p>
2166		</div>
2167		<div class="bg-fix"></div>
2168	</div>
2169 		 
2169<script> var expert_ajaxUrl = "https://proka4aem.ru/wp-admin/admin-ajax.php";</script>
2169
2170 	 <!-- Yandex.Metrika counter -->
2170<script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter31366618 = new Ya.Metrika({ id:31366618, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks");</script>
2170<noscript><div><img src="https://mc.yandex.ru/watch/31366618" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter -->
2170<script id="webnavoz_notbox_js-js" src="https://proka4aem.ru/wp-content/plugins/webnavoz-notification-box-1.4/jquery.cookie.js?ver=8c398b0f233f"></script>
vendor: 1 bytes, line 2170
2170
2171<script id="webnavoz_re_js-js" src="https://proka4aem.ru/wp-content/plugins/webnavoz-re-plugin-1.3/webnavoz-re-plugin.min.js?ver=6a154fe077b0"></script>
vendor: 1 bytes, line 2171
2171
2172<script id="webnavoz_re_js2-js" src="https://proka4aem.ru/wp-content/plugins/webnavoz-re-plugin-1.3/swap.js?ver=6a154fe077b0"></script>
vendor: 1 bytes, line 2172
2172
2173<script id="script11-author11_webnavoz-js" src="https://proka4aem.ru/wp-content/plugins/autors-by-webnavoz/js/scripts-autors.js?ver=a5bd891f0791"></script>
vendor: 1 bytes, line 2173
2173
2174<script id="wp-hooks-js" src="https://proka4aem.ru/wp-includes/js/dist/hooks.min.js?ver=1e708f658325"></script>
vendor: 1 bytes, line 2174
2174
2175<script id="wp-i18n-js" src="https://proka4aem.ru/wp-includes/js/dist/i18n.min.js?ver=ccec88264914"></script>
vendor: 1 bytes, line 2175
2175
2176<script id="wp-i18n-js-after">
2177wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
2178//# sourceURL=wp-i18n-js-after
2179</script>
vendor: 1 bytes, line 2179
2179
2180<script id="swv-js" src="https://proka4aem.ru/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=629725d5beeb"></script>
vendor: 1 bytes, line 2180
2180
2181<script id="contact-form-7-js-translations">
2182( function( domain, translations ) {
2183	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
2184	localeData[""].domain = domain;
2185	wp.i18n.setLocaleData( localeData, domain );
2186} )( "contact-form-7", {"translation-revision-date":"2026-07-09 09:06:29+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);","lang":"ru"},"This contact form is placed in the wrong place.":["\u042d\u0442\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."],"Error:":["\u041e\u0448\u0438\u0431\u043a\u0430:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
2187//# sourceURL=contact-form-7-js-translations
2188</script>
vendor: 1 bytes, line 2188
2188
2189<script id="contact-form-7-js-before">
2190var wpcf7 = {
2191    "api": {
2192        "root": "https:\/\/proka4aem.ru\/wp-json\/",
2193        "namespace": "contact-form-7\/v1"
2194    }
2195};
2196//# sourceURL=contact-form-7-js-before
2197</script>
vendor: 1 bytes, line 2197
2197
2198<script id="contact-form-7-js" src="https://proka4aem.ru/wp-content/plugins/contact-form-7/includes/js/index.js?ver=629725d5beeb"></script>
vendor: 1 bytes, line 2198
2198
2199<script id="script-experts_webnavoz-js" src="https://proka4aem.ru/wp-content/plugins/experts-by-webnavoz/js/experts.js?ver=567654726804"></script>
vendor: 1 bytes, line 2199
2199
2200<script id="cookie-socialsreit_webnavoz-js" src="https://proka4aem.ru/wp-content/plugins/social-by-webnavoz/js/jquery.cookie.min.js?ver=777d45bbbcdf"></script>
vendor: 1 bytes, line 2200
2200
2201<script id="script-socialsreit_webnavoz-js" src="https://proka4aem.ru/wp-content/plugins/social-by-webnavoz/js/socials_webnavoz.js?ver=7fd3cdaaba74"></script>
vendor: 1 bytes, line 2201
2201
2202<script id="toc-front-js-extra">
2203var tocplus = {"smooth_scroll":"1","visibility_show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","visibility_hide":"\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","toggle_style":"brackets","width":"Auto"};
2204//# sourceURL=toc-front-js-extra
2205</script>
vendor: 1 bytes, line 2205
2205
2206<script id="toc-front-js" src="https://proka4aem.ru/wp-content/plugins/table-of-contents-plus/assets/front.min.js?ver=d09993af4524"></script>
vendor: 1 bytes, line 2206
2206
2207<script id="script-vote2x-js" src="https://proka4aem.ru/wp-content/plugins/vote2x/vote2x.js?ver=6a154fe077b0"></script>
vendor: 1 bytes, line 2207
2207
2208<script id="slick-js" src="//cdn.jsdelivr.net/npm/[email protected]"></script>
vendor: 1 bytes, line 2208
2208
2209<script id="scripts.js-js" src="https://proka4aem.ru/wp-content/themes/sreda-design-nocat/js/scripts.js"></script>
vendor: 1 bytes, line 2209
2209
2210<script id="q2w3_fixed_widget-js-extra">
2211var q2w3_sidebar_options = [{"sidebar":"sidebar","use_sticky_position":false,"margin_top":0,"margin_bottom":0,"stop_elements_selectors":"","screen_max_width":0,"screen_max_height":0,"widgets":["#custom_html-14"]}];
2212//# sourceURL=q2w3_fixed_widget-js-extra
2213</script>
vendor: 1 bytes, line 2213
2213
2214<script id="q2w3_fixed_widget-js" src="https://proka4aem.ru/wp-content/plugins/q2w3-fixed-widget/js/frontend.min.js?ver=5c4d30aeb4e6"></script>
vendor: 1 bytes, line 2214
2214
2215<script id="webnavoz_button_js-js" src="https://proka4aem.ru/wp-content/plugins/webnavoz-button/webnavoz-button.min.js?ver=8c398b0f233f"></script>
2215
2216<div class="wxFooterLinkOdin" style="z-index: 99999;   "></div> <div class="wxFooterLinkDva" style="z-index: 99999;  "><p style="text-align: left;">Омск предлагает инвесторам одно из самых выгодных сочетаний доступных цен и высокой доходности в России: средняя стоимость квадратного метра в новостройках составляет 149–151 тысячу рублей, что значительно ниже среднероссийского уровня, при этом реальная доходность с учётом аренды достигает 11,6% годовых с окупаемостью за 6–7 лет — поэтому выгодно <a href="https://omsk.domclick.ru/pokupka/kvartiry">купить квартиру в Омске</a>. В статье <a href="https://proka4aem.ru/fitnes/teoriya-fitnes/rynok-zhilya-v-omske-dostupnye-varianty-dlya-komfortnogo-pereezda">здесь</a> можно читать об этом больше.</p></div> 
2216<script>!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}()||function(i){var o=!0,s=!1;EventTarget.prototype.addEventListener=function(t,e,n){var r="object"==typeof n,a=r?n.capture:n;n=r?n:{},"touchstart"!=t&&"scroll"!=t&&"wheel"!=t||(n.passive=void 0!==n.passive?n.passive:o),n.capture=void 0!==a?a:s,i.call(this,t,e,n)}}(EventTarget.prototype.addEventListener);</script>
2216</body>
2217</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.