PageSourceSearch

https://arenaradio.ru/

html arenaradio.ru collected 2026-10-07 08:33:41 UTC 81,599 bytes, 1,898 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ru">
3
4<script>
5 if ('scrollRestoration' in history) {
6 history.scrollRestoration = 'manual';
7 }
8</script>
8
9
10<head>
11<style></style>
12
13<title>Arena Radio — радио с другой музыкой</title>
14 <meta name="description" content="Радио с другой музыкой. Танцевальные хиты, андеграунд-электроника и хип-хоп 24/7 — прямой эфир из Санкт-Петербурга" />
15<meta name="keywords" content="радио арена, арена онлайн, arena radio, радио онлайн, слушать онлайн, слушать арену, радиостанция арена, драм-н-бейс радио, радио для фона, популярная музыка, радио для движа, бэйс, bass music"/>
16<meta name="google" value="notranslate">
17<meta name="viewport" content="width=device-width,initial-scale=1">
18<meta property="og:title" content="Радио с другой музыкой — бэйс-электроника и хип-хоп"/>
19
20<link rel="preconnect" href="https://fonts.googleapis.com">
21<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
22<script src="/.s/src/jquery-3.6.0.min.js"></script>
22
23<link type="text/css" rel="stylesheet" href="/styles/main26.css?version015">
24
25	<link rel="stylesheet" href="/.s/src/base.min.css" />
26	<link rel="stylesheet" href="/.s/src/layer7.min.css" />
27
28	
28<script src="/.s/src/jquery-3.6.0.min.js"></script>
28
29	
30	
30<script src="/.s/src/uwnd.min.js"></script>
30
31	<link rel="stylesheet" href="/.s/src/fancybox5/dist/css/fancybox5.min.css" />
32	<link rel="stylesheet" href="/.s/src/social.css" />
33	
33<script async type="module" src="/.s/src/fancybox5/dist/js/chunks/uFancy-runtime.min.js"></script>
33
34	
34<script async type="module" src="/.s/src/fancybox5/dist/js/vendors/fancybox5.min.js"></script>
34
35	
35<script type="module" src="/.s/src/fancybox5/dist/js/uFancy.min.js"></script>
35
36	
36<script src="/.s/src/bottomInfo.min.js"></script>
vendor: 62 bytes, lines 36-37
36
37	<script src="https://www.google.com/recaptcha/api.js?render=
376Lefo2AtAAAAAH8B3-MlGCLYPCdybJxUi95mIFl6
vendor: 13 bytes, lines 37-38
37"></script>
38	
38<script>
39/* --- UCOZ-JS-DATA --- */
40window.uCoz = {"module":"index","country":"US","layerType":7,"uLightboxType":2,"ssid":"303431133642731310756","site":{"id":"larenaradio","host":"arenaradio.usite.pro","domain":"arenaradio.ru"},"language":"ru","bottomInfoData":[{"id":"cookiePolicy","button":230039,"class":"","message":230038,"cookieKey":"cPolOk"}],"sign":{"230038":"Мы используем <a href=/cookie target=_blank >Cookies</a>.","7287":"Перейти на страницу с фотографией.","5255":"Помощник","230039":"Буду знать"}};
41/* --- UCOZ-JS-CODE --- */
42 function uSocialLogin(t) {
43			var params = {"telegram":{"width":0,"height":0},"vkontakte":{"height":400,"width":790},"google":{"width":700,"height":600},"yandex":{"width":870,"height":515},"uid":{"width":0,"height":0}};
44			var ref = escape(location.protocol + '//' + ('arenaradio.ru' || location.hostname) + location.pathname + ((location.hash ? ( location.search ? location.search + '&' : '?' ) + 'rnd=' + Date.now() + location.hash : ( location.search || '' ))));
45			window.open('/'+t+'?ref='+ref,'conwin','width='+params[t].width+',height='+params[t].height+',status=1,resizable=1,left='+parseInt((screen.availWidth/2)-(params[t].width/2))+',top='+parseInt((screen.availHeight/2)-(params[t].height/2)-20)+'screenX='+parseInt((screen.availWidth/2)-(params[t].width/2))+',screenY='+parseInt((screen.availHeight/2)-(params[t].height/2)-20));
46			return false;
47		}
48		function TelegramAuth(user){
49			user['a'] = 9; user['m'] = 'telegram';
50			_uPostForm('', {type: 'POST', url: '/index/sub', data: user});
51		}
52function loginPopupForm(params = {}) { new _uWnd('LF', ' ', -250, -100, { closeonesc:1, resize:1 }, { url:'/index/40' + (params.urlParams ? '?'+params.urlParams : '') }) }
53/* --- UCOZ-JS-END --- */
54</script>
54
55
56	<style>.UhideBlock{display:none; }</style>
57	
57<script type="text/javascript">new Image().src = "//counter.yadro.ru/hit;noadsru?r"+escape(document.referrer)+(screen&&";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth||screen.pixelDepth))+";u"+escape(document.URL)+";"+Date.now();</script>
57
58</head>
59
60<div id="back_cover" data-image="https://s3.regru.cloud/arenaradio/elements/main26/main.jpeg"></div>
61
62<!--U1AHEADER1Z--><meta name="viewport" content="width=device-width,initial-scale=1">
63<meta name="format-detection" content="telephone=no">
64<link rel="yandex-tableau-widget" href="/tableau.json">
65<link rel="apple-touch-icon" href="/apple-touch-icon.png">
66
67<link type="text/css" rel="stylesheet" href="/my.css?version0001">
68<link type="text/css" rel="stylesheet" href="/styles/main.css?version0015">
69
70<!-- Yandex.RTB -->
71<script>window.yaContextCb=window.yaContextCb||[]</script>
vendor: 1 bytes, line 71
71
72<script src="https://yandex.ru/ads/system/context.js" async></script>
72
73
74<div id="start"></div>
75
76<style>#profile_info {margin-top: -20px;}
77#profile_img {padding-top: -10px;} #profile_text {padding-top: 10px;}
78.nick {width: 98px; float: left; margin-left: 22px; margin-top: 12px; color: #95979F; font-family: Manrope; font-weight: 500; font-size: 12pt;}
79.ava {width: 48px; float: left;}
80
81</style>
82
83<a href="/">
84<div id="logo_left">
85
86<img src="/images/logo_name.svg" height="20">
87
88</div></a>
89
90<div id="header_center">
91 <div class="hover-bg"></div>
92
93
94<a href="/" class="activelink">Главная</a>
95
96
97
98<a href="/mixes">Миксы</a>
99
100
101
102<a href="/schedule">Расписание</a>
103
104
105
106<a href="/curators">Кураторы</a>
107
108</div>
109
110
111<a target="blank" href="https://vk.ru/arenaradio">
112<div id="user_right">
113Все новинки в <img src="/reserve/vkmenu.png" width="80">
114</div>
115</a>
116
117
118<style>
119#logo_left {
120 position: fixed;
121 z-index: 9999;
122 margin-left: 32px;
123 min-width: 170px;
124 height: 44px;
125 display: flex;
126 align-items: center;
127 justify-content: center;
128 background: rgba(24, 24, 24, 0.70);
129 border-radius: 100px;
130 margin-top: -56px;
131 backdrop-filter: blur(20px);
132 position: fixed;
133 border: 1px solid rgba(62, 62, 62, 0.30);
134 transition: background 0.25s ease, color 0.25s ease;
135}
136
137#logo_left:hover {
138 background: #FF015D;
139}
140
141#header_center {
142 position: fixed;
143 left: 50%;
144 transform: translateX(-50%);
145 z-index: 9999;
146 min-width: 303px;
147 height: 44px;
148 display: flex;
149 align-items: center;
150 justify-content: center;
151 gap: 10px;
152 background: rgba(24, 24, 24, 0.70);
153 border-radius: 100px;
154 margin-top: -56px;
155 backdrop-filter: blur(20px);
156 padding-left: 5px;
157 padding-right: 5px;
158 border: 1px solid rgba(62, 62, 62, 0.30);
159 position: fixed;
160}
161
162#header_center .hover-bg {
163 position: absolute;
164}
165
166#header_center a {
167 position: relative;
168 z-index: 2;
169 display: inline-block;
170 padding: 8px 13px;
171 text-decoration: none;
172 border-radius: 100px;
173 color: rgba(255, 255, 255, 0.80);
174 font-family: Manrope;
175 font-size: 15px;
176 font-style: normal;
177 font-weight: 500;
178 line-height: 18px;
179 letter-spacing: 0.18px; 
180 transition: color 1s ease;
181}
182
183#header_center a::before {
184 content: "";
185 position: absolute;
186 inset: 0;
187 background: radial-gradient(50% 50% at 50% 50%, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.00) 100%);
188 opacity: 0;
189 transition: opacity 1s ease;
190}
191
192#header_center a:hover::before {
193 opacity: 1;
194}
195
196#header_center a:hover {
197 color: rgba(255,255,255,1);
198 transition: color 1s ease;
199}
200
201#header_center.ready .hover-bg {
202 transition: transform .3s ease, width .3s ease;
203}
204
205.hover-bg {
206 position: absolute;
207 top: 5px;
208 left: 0;
209 height: calc(100% - 10px);
210 background: #fff;
211 border-radius: 100px;
212 z-index: 1;
213 transition: transform .25s ease, width .25s ease; /* анимация здесь */
214}
215
216/* когда подложка под ссылкой */
217.has-bg {
218 color: #000 !important;
219}
220
221#user_right {
222 position: fixed;
223 top: 0; /* если нужен контроль по вертикали */
224 right: 32px;
225 z-index: 9999;
226 min-width: 100px;
227 height: 44px;
228 display: flex;
229 align-items: center;
230 justify-content: center;
231 background: rgba(24, 24, 24, 0.70);
232 border-radius: 100px;
233 top: 24px; 
234 backdrop-filter: blur(20px);
235 border: 1px solid rgba(62, 62, 62, 0.30);
236 color: rgba(255, 255, 255, 0.80);
237 text-align: center;
238 font-family: Manrope;
239 font-size: 15px;
240 font-style: normal;
241 font-weight: 500;
242 line-height: 18px;
243 letter-spacing: 0.18px;
244 transition: background 0.2s ease;
245 padding-left: 16px;
246}
247
248#user_right img {
249 width: 32px;
250 border-radius: 100px;
251 margin: 0px 6px 0px 10px;
252}
253
254.subbadge {margin: 0px -16px -2px 10px !important;}
255
256#user_right:hover {
257 background: rgba(32, 32, 32, 1);
258}
259
260#user_right a {
261 position: relative;
262 z-index: 2;
263 display: inline-block;
264 padding: 8px 13px;
265 text-decoration: none;
266 border-radius: 100px;
267 color: rgba(255, 255, 255, 0.80);
268 font-family: Manrope;
269 font-size: 15px;
270 font-style: normal;
271 font-weight: 500;
272 line-height: 18px;
273 letter-spacing: 0.18px; 
274 transition: color 1s ease;
275}
276
277#user_right a::before {
278 content: "";
279 position: absolute;
280 inset: 0;
281 background: radial-gradient(50% 50% at 50% 50%, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.00) 100%);
282 opacity: 0;
283 transition: opacity 1s ease;
284}
285
286#user_right a:hover::before {
287 opacity: 1;
288}
289
290#user_right a:hover {
291 color: rgba(255,255,255,1);
292 transition: color 1s ease;
293}
294
295#user_right.ready .hover-bg {
296 transition: transform .3s ease, width .3s ease;
297}
298
299.activelink {
300 background: #fff;
301 border-radius: 100px;
302 color: #000 !important;
303}
304</style>
305
306<!--------------------------Плеер-------------------------->
307
308<style>
309#mobileheader {
310 display: none;
311}
312
313@media (max-width: 600px) {
314 #header_center {
315 display: none;
316 }
317
318 #logo_left {
319 display: none;
320 }
321
322 #user_right {
323 display: none;
324 }
325
326 #mobileheader {
327 display: inline-block !important;
328 width: 100%;
329 height: 100px;
330 position: fixed;
331 text-align: center;
332 z-index: 999;
333 top: 12px;
334 left: 0;
335 transform: translateY(0);
336 transition: transform 0.6s ease;
337 }
338}
339
340 #mobileheader.is-hidden {
341 transform: translateY(-130px);
342 }
343</style>
344
345
346<style>
347#liveplayer {
348display: none !important;
349}
350</style>
351
352
353<div id="mobileheader">
354 <a href="/"><img src="https://s3.regru.cloud/arenaradio/elements/moblogo.svg" width="132"></a>
355</div>
356
357<script>
358 const mobileHeader = document.getElementById('mobileheader');
359
360 let lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;
361
362 window.addEventListener('scroll', function () {
363 const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop;
364
365 if (currentScrollTop <= 400) {
366 mobileHeader.classList.remove('is-hidden');
367 lastScrollTop = currentScrollTop;
368 return;
369 }
370
371 if (currentScrollTop > lastScrollTop) {
372 mobileHeader.classList.add('is-hidden');
373 } else {
374 mobileHeader.classList.remove('is-hidden');
375 }
376
377 lastScrollTop = currentScrollTop;
378 });
379</script>
379<!--/U1AHEADER1Z-->
380 
381<div id="fixedcontent">
382 <div id="mainhead">
383 <!--U1PLAYER1Z--><style>
384.player-wrapper {
385 display: flex;
386 justify-content: center;
387 align-items: center;
388 margin-top: 80px;
389}
390
391.player {
392 display: flex;
393 flex-direction: column;
394 align-items: center;
395 gap: 12px;
396 color: #f5f5f5;
397 font-family: Manrope, sans-serif;
398 font-size: 16pt;
399 font-weight: 600;
400 line-height: 28px;
401}
402
403/* ---------- КНОПКА PLAY / PAUSE ---------- */
404
405#playPause {
406 position: relative;
407 width: 90px;
408 height: 90px;
409 padding: 0;
410 border: 0;
411 border-radius: 50%;
412
413 appearance: none;
414 -webkit-appearance: none;
415
416 background-color: #f5f5f5;
417 background-repeat: no-repeat;
418 background-position: center;
419 background-size: 60%;
420
421 cursor: pointer;
422 touch-action: manipulation;
423
424 opacity: 0.9;
425 transition: opacity 0.2s ease-in;
426}
427
428#playPause:hover {
429 opacity: 1;
430}
431
432#playPause:focus {
433 outline: none;
434}
435
436#playPause:focus-visible {
437 outline: 2px solid #fff;
438 outline-offset: 4px;
439}
440
441#playPause.play {
442 background-image: url("https://arenaradio.ru/play.svg");
443}
444
445#playPause.pause {
446 background-image: url("https://arenaradio.ru/pause.svg");
447}
448
449/* ---------- СОСТОЯНИЕ ЗАГРУЗКИ ---------- */
450
451#playPause.loading {
452 background-image: none;
453}
454
455#playPause.loading::after {
456 content: "";
457 position: absolute;
458 inset: 25%;
459
460 border: 3px solid rgba(0, 0, 0, 0.2);
461 border-top-color: #000;
462 border-radius: 50%;
463
464 animation: arena-player-spin 0.7s linear infinite;
465}
466
467@keyframes arena-player-spin {
468 to {
469 transform: rotate(360deg);
470 }
471}
472
473/* ---------- НАЗВАНИЕ ТРЕКА ---------- */
474
475.title {
476 margin-top: 12px;
477
478 color: #f5f5f5;
479 text-align: center;
480
481 font-family: Manrope, sans-serif;
482 font-size: 16pt;
483 font-weight: 600;
484 line-height: 28px;
485
486 transition: opacity 0.25s ease-in-out;
487}
488
489.title.title-hidden {
490 opacity: 0;
491}
492
493/* ---------- ГРОМКОСТЬ ---------- */
494
495#volume {
496 all: unset;
497
498 width: 120px;
499 margin-top: 16px;
500
501 appearance: none;
502 -webkit-appearance: none;
503
504 background: transparent;
505 cursor: grab;
506 touch-action: pan-x;
507}
508
509#volume::-webkit-slider-runnable-track {
510 height: 6px;
511 border-radius: 999px;
512
513 background: linear-gradient(
514 to right,
515 rgba(255, 255, 255, 1) 0%,
516 rgba(255, 255, 255, 1) var(--range-progress, 70%),
517 rgba(255, 255, 255, 0.6) var(--range-progress, 70%),
518 rgba(255, 255, 255, 0.6) 100%
519 );
520}
521
522#volume::-webkit-slider-thumb {
523 width: 14px;
524 height: 14px;
525 margin-top: -4px;
526 border: 0;
527 border-radius: 50%;
528
529 appearance: none;
530 -webkit-appearance: none;
531
532 background: #fff;
533}
534
535#volume::-moz-range-track {
536 height: 6px;
537 border-radius: 999px;
538 background: rgba(255, 255, 255, 0.6);
539}
540
541#volume::-moz-range-progress {
542 height: 6px;
543 border-radius: 999px;
544 background: #fff;
545}
546
547#volume::-moz-range-thumb {
548 width: 14px;
549 height: 14px;
550 border: 0;
551 border-radius: 50%;
552 background: #fff;
553}
554
555/* ---------- ДИАГНОСТИКА ---------- */
556
557#audio-debug {
558 box-sizing: border-box;
559 width: min(360px, calc(100vw - 32px));
560 min-height: 190px;
561 margin: 20px 0 0;
562 padding: 12px;
563
564 overflow-wrap: anywhere;
565 white-space: pre-wrap;
566
567 color: #fff;
568 background: #222;
569 border-radius: 10px;
570
571 font-family: monospace;
572 font-size: 12px;
573 font-weight: 400;
574 line-height: 1.45;
575}
576</style>
577
578<div class="player-wrapper">
579 <div class="player">
580
581 <button
582 id="playPause"
583 type="button"
584 class="play"
585 aria-label="Включить эфир"
586 aria-pressed="false">
587 </button>
588
589<audio
590 id="arena-audio"
591 preload="none"
592 playsinline
593 webkit-playsinline>
594</audio>
595
596 <div class="title">Arena Radio</div>
597
598 <input
599 id="volume"
600 type="range"
601 min="0"
602 max="1"
603 step="0.01"
604 value="0.7"
605 aria-label="Громкость">
606
607 </div>
608</div>
609
610<script>
611(function () {
612 'use strict';
613
614 const audio = document.getElementById('arena-audio');
615 const playButton = document.getElementById('playPause');
616 const volumeSlider = document.getElementById('volume');
617 const titleElement = document.querySelector('.title');
618 const debugElement = document.getElementById('audio-debug');
619
620 const STREAMS = [
621 'https://live.arenaradio.ru/stream',
622 'https://live.arenaradio.ru:1045/stream',
623 ];
624
625 const STREAM_TIMEOUT_MS = 6000;
626 const META_URL = 'https://maket.one/arena/track.php';
627 const META_UPDATE_INTERVAL_MS = 10000;
628
629 if (!audio || !playButton) {
630 console.error(
631 'Arena Radio: audio или кнопка воспроизведения не найдены'
632 );
633 return;
634 }
635
636 let currentStreamIndex = 0;
637 let fallbackTimer = null;
638 let playPending = false;
639 let userStopped = false;
640 let switchingStream = false;
641 let attemptNumber = 0;
642
643 let titleTimer = null;
644 let metadataInterval = null;
645 let eventHistory = [];
646
647 let currentTitle = titleElement
648 ? (titleElement.textContent || '').trim() || 'Arena Radio'
649 : 'Arena Radio';
650
651 /* ---------- ИНТЕРФЕЙС ---------- */
652
653 function showPlayState() {
654 playButton.classList.remove('loading', 'pause');
655 playButton.classList.add('play');
656 playButton.setAttribute('aria-label', 'Включить эфир');
657 playButton.setAttribute('aria-pressed', 'false');
658 }
659
660 function showLoadingState() {
661 playButton.classList.remove('play', 'pause');
662 playButton.classList.add('loading');
663 playButton.setAttribute('aria-label', 'Эфир загружается');
664 playButton.setAttribute('aria-pressed', 'false');
665 }
666
667 function showPauseState() {
668 playButton.classList.remove('loading', 'play');
669 playButton.classList.add('pause');
670 playButton.setAttribute('aria-label', 'Остановить эфир');
671 playButton.setAttribute('aria-pressed', 'true');
672 }
673
674 /* ---------- ДИАГНОСТИКА ---------- */
675
676 function networkStateName(value) {
677 return {
678 0: 'NETWORK_EMPTY',
679 1: 'NETWORK_IDLE',
680 2: 'NETWORK_LOADING',
681 3: 'NETWORK_NO_SOURCE'
682 }[value] || 'UNKNOWN';
683 }
684
685 function readyStateName(value) {
686 return {
687 0: 'HAVE_NOTHING',
688 1: 'HAVE_METADATA',
689 2: 'HAVE_CURRENT_DATA',
690 3: 'HAVE_FUTURE_DATA',
691 4: 'HAVE_ENOUGH_DATA'
692 }[value] || 'UNKNOWN';
693 }
694
695 function mediaErrorText() {
696 if (!audio.error) {
697 return 'нет';
698 }
699
700 const names = {
701 1: 'MEDIA_ERR_ABORTED',
702 2: 'MEDIA_ERR_NETWORK',
703 3: 'MEDIA_ERR_DECODE',
704 4: 'MEDIA_ERR_SRC_NOT_SUPPORTED'
705 };
706
707 return (
708 audio.error.code +
709 ' / ' +
710 (names[audio.error.code] || 'UNKNOWN') +
711 (
712 audio.error.message
713 ? ' / ' + audio.error.message
714 : ''
715 )
716 );
717 }
718
719 function addHistory(eventName) {
720 if (!debugElement) {
721 return;
722 }
723
724 eventHistory.push(
725 new Date().toLocaleTimeString() +
726 ' — ' +
727 eventName
728 );
729
730 if (eventHistory.length > 18) {
731 eventHistory = eventHistory.slice(-18);
732 }
733 }
734
735 function renderDebug(eventName, extra) {
736 if (!debugElement) {
737 return;
738 }
739
740 const activeUrl =
741 STREAMS[currentStreamIndex] || 'нет';
742
743 debugElement.textContent =
744 'Последнее событие: ' + eventName + '\n\n' +
745
746 'Поток: ' +
747 (currentStreamIndex + 1) +
748 ' из ' +
749 STREAMS.length +
750 '\n' +
751
752 'URL:\n' +
753 activeUrl +
754 '\n\n' +
755
756 'paused: ' + audio.paused + '\n' +
757 'ended: ' + audio.ended + '\n' +
758 'currentTime: ' +
759 Number(audio.currentTime || 0).toFixed(2) +
760 '\n\n' +
761
762 'networkState: ' +
763 audio.networkState +
764 ' / ' +
765 networkStateName(audio.networkState) +
766 '\n' +
767
768 'readyState: ' +
769 audio.readyState +
770 ' / ' +
771 readyStateName(audio.readyState) +
772 '\n\n' +
773
774 'currentSrc:\n' +
775 (audio.currentSrc || audio.src || 'пусто') +
776 '\n\n' +
777
778 'media error:\n' +
779 mediaErrorText() +
780
781 (
782 extra
783 ? '\n\nДополнительно:\n' + extra
784 : ''
785 ) +
786
787 '\n\nИстория событий:\n' +
788 (
789 eventHistory.length
790 ? eventHistory.join('\n')
791 : 'событий пока нет'
792 );
793 }
794
795 /* ---------- ТАЙМЕР РЕЗЕРВНОГО ПОТОКА ---------- */
796
797 function clearFallbackTimer() {
798 if (fallbackTimer !== null) {
799 clearTimeout(fallbackTimer);
800 fallbackTimer = null;
801 }
802 }
803
804 function startFallbackTimer(attemptId) {
805 clearFallbackTimer();
806
807 fallbackTimer = setTimeout(function () {
808 if (
809 userStopped ||
810 attemptId !== attemptNumber ||
811 !audio.paused && audio.readyState >= 2
812 ) {
813 return;
814 }
815
816 addHistory('stream-timeout');
817
818 renderDebug(
819 'stream-timeout',
820 'Поток не перешёл в playing за 14 секунд.'
821 );
822
823 tryNextStream('timeout');
824 }, STREAM_TIMEOUT_MS);
825 }
826
827 /* ---------- ПРОВЕРКА MIXED CONTENT ---------- */
828
829 function isBlockedMixedContent(url) {
830 return (
831 window.location.protocol === 'https:' &&
832 /^http:\/\//i.test(url)
833 );
834 }
835
836 /* ---------- ПОДКЛЮЧЕНИЕ К ПОТОКУ ---------- */
837
838 function tryStream(index, reason) {
839 if (userStopped) {
840 return;
841 }
842
843 if (index >= STREAMS.length) {
844 finishWithFailure(
845 'Все доступные потоки были проверены.'
846 );
847 return;
848 }
849
850 currentStreamIndex = index;
851
852 const streamUrl = STREAMS[currentStreamIndex];
853
854 if (isBlockedMixedContent(streamUrl)) {
855 addHistory('mixed-content-blocked');
856
857 renderDebug(
858 'mixed-content-blocked',
859 'Браузер не разрешит HTTP-поток внутри HTTPS-страницы.'
860 );
861
862 console.error(
863 'Arena Radio: резервный HTTP-поток заблокирован mixed content:',
864 streamUrl
865 );
866
867 tryStream(currentStreamIndex + 1, 'mixed-content');
868 return;
869 }
870
871 clearFallbackTimer();
872
873 attemptNumber += 1;
874 const currentAttempt = attemptNumber;
875
876 switchingStream = true;
877 playPending = true;
878
879 showLoadingState();
880
881 addHistory(
882 'stream-' +
883 (currentStreamIndex + 1) +
884 '-selected'
885 );
886
887 renderDebug(
888 'stream-selected',
889 'Причина переключения: ' +
890 (reason || 'первый запуск')
891 );
892
893 /*
894 * Источник меняется только при первом запуске
895 * или при переходе к резервному потоку.
896 */
897 audio.pause();
898 audio.src = streamUrl;
899 audio.load();
900
901 switchingStream = false;
902
903 startFallbackTimer(currentAttempt);
904
905 let playPromise;
906
907 try {
908 playPromise = audio.play();
909 } catch (error) {
910 handlePlayFailure(
911 error,
912 currentAttempt,
913 'play-sync-error'
914 );
915 return;
916 }
917
918 if (
919 playPromise &&
920 typeof playPromise.catch === 'function'
921 ) {
922 playPromise.catch(function (error) {
923 handlePlayFailure(
924 error,
925 currentAttempt,
926 'play-promise-rejected'
927 );
928 });
929 }
930 }
931
932 function handlePlayFailure(
933 error,
934 attemptId,
935 eventName
936 ) {
937 if (
938 userStopped ||
939 attemptId !== attemptNumber
940 ) {
941 return;
942 }
943
944 const errorText =
945 'name: ' +
946 (error && error.name
947 ? error.name
948 : 'неизвестно') +
949 '\n' +
950
951 'message: ' +
952 (error && error.message
953 ? error.message
954 : 'нет сообщения');
955
956 addHistory(eventName);
957 renderDebug(eventName, errorText);
958
959 console.error(
960 'Arena Radio: ошибка audio.play()',
961 error
962 );
963
964 /*
965 * AbortError может возникнуть при штатной
966 * смене src. В таком случае ждём текущую попытку.
967 */
968 if (
969 error &&
970 error.name === 'AbortError' &&
971 switchingStream
972 ) {
973 return;
974 }
975
976 tryNextStream(eventName);
977 }
978
979 function tryNextStream(reason) {
980 clearFallbackTimer();
981
982 if (userStopped) {
983 return;
984 }
985
986 tryStream(
987 currentStreamIndex + 1,
988 reason
989 );
990 }
991
992 function finishWithFailure(message) {
993 playPending = false;
994 clearFallbackTimer();
995 showPlayState();
996
997 addHistory('all-streams-failed');
998 renderDebug('all-streams-failed', message);
999
1000 console.error(
1001 'Arena Radio:',
1002 message
1003 );
1004 }
1005
1006 /* ---------- PLAY / PAUSE ---------- */
1007
1008 function startPlayback() {
1009 if (playPending || !audio.paused) {
1010 return;
1011 }
1012
1013 userStopped = false;
1014 currentStreamIndex = 0;
1015
1016 tryStream(0, 'нажатие Play');
1017
1018 if (typeof window.ym === 'function') {
1019 window.ym(
1020 99085350,
1021 'reachGoal',
1022 'live_play'
1023 );
1024 }
1025 }
1026
1027 function stopPlayback() {
1028 userStopped = true;
1029 playPending = false;
1030
1031 clearFallbackTimer();
1032
1033 audio.pause();
1034 showPlayState();
1035
1036 addHistory('user-stop');
1037 renderDebug('user-stop');
1038 }
1039
1040 function togglePlayback() {
1041 if (
1042 playPending ||
1043 !audio.paused
1044 ) {
1045 stopPlayback();
1046 return;
1047 }
1048
1049 startPlayback();
1050 }
1051
1052 playButton.addEventListener(
1053 'click',
1054 togglePlayback
1055 );
1056
1057 /* ---------- СОБЫТИЯ AUDIO ---------- */
1058
1059 [
1060 'loadstart',
1061 'durationchange',
1062 'loadedmetadata',
1063 'loadeddata',
1064 'progress',
1065 'canplay',
1066 'canplaythrough',
1067 'play',
1068 'playing',
1069 'waiting',
1070 'stalled',
1071 'suspend',
1072 'pause',
1073 'ended',
1074 'emptied',
1075 'abort',
1076 'error'
1077 ].forEach(function (eventName) {
1078 audio.addEventListener(eventName, function () {
1079 addHistory(eventName);
1080 renderDebug(eventName);
1081 });
1082 });
1083
1084 audio.addEventListener('playing', function () {
1085 playPending = false;
1086 clearFallbackTimer();
1087 showPauseState();
1088
1089 addHistory(
1090 'stream-' +
1091 (currentStreamIndex + 1) +
1092 '-success'
1093 );
1094
1095 renderDebug(
1096 'playing',
1097 'Успешно запущен поток №' +
1098 (currentStreamIndex + 1) +
1099 '.'
1100 );
1101 });
1102
1103 audio.addEventListener('waiting', function () {
1104 if (!audio.paused && !userStopped) {
1105 showLoadingState();
1106 }
1107 });
1108
1109 audio.addEventListener('pause', function () {
1110 if (
1111 switchingStream ||
1112 playPending ||
1113 userStopped
1114 ) {
1115 return;
1116 }
1117
1118 showPlayState();
1119 });
1120
1121 audio.addEventListener('ended', function () {
1122 if (!userStopped) {
1123 tryNextStream('ended');
1124 }
1125 });
1126
1127 audio.addEventListener('error', function () {
1128 if (
1129 switchingStream ||
1130 userStopped
1131 ) {
1132 return;
1133 }
1134
1135 tryNextStream(
1136 'media-error-' +
1137 (
1138 audio.error
1139 ? audio.error.code
1140 : 'unknown'
1141 )
1142 );
1143 });
1144
1145 /* ---------- ГРОМКОСТЬ ---------- */
1146
1147 function updateVolumeProgress() {
1148 if (!volumeSlider) {
1149 return;
1150 }
1151
1152 const value = Number(volumeSlider.value);
1153 const min = Number(volumeSlider.min);
1154 const max = Number(volumeSlider.max);
1155
1156 if (
1157 !Number.isFinite(value) ||
1158 !Number.isFinite(min) ||
1159 !Number.isFinite(max) ||
1160 max === min
1161 ) {
1162 return;
1163 }
1164
1165 const percent =
1166 ((value - min) / (max - min)) * 100;
1167
1168 volumeSlider.style.setProperty(
1169 '--range-progress',
1170 percent + '%'
1171 );
1172 }
1173
1174 function applyVolume() {
1175 if (!volumeSlider) {
1176 return;
1177 }
1178
1179 updateVolumeProgress();
1180
1181 try {
1182 audio.volume = Math.min(
1183 1,
1184 Math.max(
1185 0,
1186 Number(volumeSlider.value)
1187 )
1188 );
1189 } catch (error) {
1190 console.info(
1191 'Arena Radio: программная громкость недоступна',
1192 error
1193 );
1194 }
1195 }
1196
1197 if (volumeSlider) {
1198 updateVolumeProgress();
1199
1200 try {
1201 audio.volume = Math.min(
1202 1,
1203 Math.max(
1204 0,
1205 Number(volumeSlider.value)
1206 )
1207 );
1208 } catch (error) {}
1209
1210 volumeSlider.addEventListener(
1211 'input',
1212 applyVolume
1213 );
1214 }
1215
1216 /* ---------- НАЗВАНИЕ ТРЕКА ---------- */
1217
1218 function setTitleAnimated(newTitle) {
1219 if (!titleElement) {
1220 return;
1221 }
1222
1223 const cleanTitle =
1224 String(newTitle || '').trim();
1225
1226 if (
1227 !cleanTitle ||
1228 cleanTitle === currentTitle
1229 ) {
1230 return;
1231 }
1232
1233 currentTitle = cleanTitle;
1234
1235 if (titleTimer !== null) {
1236 clearTimeout(titleTimer);
1237 }
1238
1239 titleElement.classList.add(
1240 'title-hidden'
1241 );
1242
1243 titleTimer = setTimeout(function () {
1244 titleElement.textContent = cleanTitle;
1245
1246 titleElement.classList.remove(
1247 'title-hidden'
1248 );
1249
1250 titleTimer = null;
1251 }, 350);
1252 }
1253
1254 async function fetchCurrentSong() {
1255 if (!titleElement) {
1256 return;
1257 }
1258
1259 try {
1260 const response = await fetch(
1261 META_URL,
1262 {
1263 cache: 'no-store'
1264 }
1265 );
1266
1267 if (!response.ok) {
1268 throw new Error(
1269 'HTTP ' + response.status
1270 );
1271 }
1272
1273 const contentType =
1274 (
1275 response.headers.get('content-type') ||
1276 ''
1277 ).toLowerCase();
1278
1279 const text =
1280 (await response.text()).trim();
1281
1282 if (
1283 contentType.includes('text/html') ||
1284 /^<!doctype html/i.test(text) ||
1285 /^<html/i.test(text)
1286 ) {
1287 return;
1288 }
1289
1290 if (text) {
1291 setTitleAnimated(text);
1292 }
1293 } catch (error) {
1294 console.warn(
1295 'Arena Radio: название трека не получено',
1296 error
1297 );
1298 }
1299 }
1300
1301 function startMetadataUpdates() {
1302 fetchCurrentSong();
1303
1304 if (metadataInterval !== null) {
1305 clearInterval(metadataInterval);
1306 }
1307
1308 metadataInterval = setInterval(
1309 fetchCurrentSong,
1310 META_UPDATE_INTERVAL_MS
1311 );
1312 }
1313
1314 /* ---------- НАЧАЛЬНОЕ СОСТОЯНИЕ ---------- */
1315
1316 showPlayState();
1317 renderDebug('initial');
1318 startMetadataUpdates();
1319})();
1320</script>
1320<!--/U1PLAYER1Z-->
1321 </div>
1322
1323</div></div>
1324
1325<div id="starter"></div>
1326
1327<div id="mainfeed">
1328<!--U1FEED1Z--><div class="feed-item feed-authors">
1329 <div class="feed" id="artists">
1330 <div id="briefwave">
1331 <a href="/house"><div class="briefbig">
1332 <div class="briefcover">
1333 <img src="https://s3.regru.cloud/arenaradio/elements/feed/house.png?v1" alt="Хаус">
1334</div>
1335 <div class="briefinfo">
1336 <p class="briefname">Хаус</p> 
1337 <p class="briefcase">Акцент на ритме, фокус на развитии</p>
1338 </div>
1339 </div>
1340</a>
1341
1342 <a href="/mainstream">
1343 <div class="briefbig">
1344<div class="briefcover">
1345 <img src="https://s3.regru.cloud/arenaradio/elements/feed/edm.png?v1"> 
1346</div>
1347 <div class="briefinfo">
1348 <p class="briefname">Мейнстрим</p> 
1349 <p class="briefcase">Мировые хиты, задающие планку</p>
1350 </div>
1351 </div>
1352</a>
1353
1354 <a href="/dnb">
1355 <div class="briefbig">
1356<div class="briefcover">
1357 <img src="https://s3.regru.cloud/arenaradio/elements/feed/dnb.png?v1"> 
1358</div>
1359 <div class="briefinfo">
1360 <p class="briefname">Драм-н-бейс</p> 
1361 <p class="briefcase">Британский взгляд на электронику</p>
1362 </div>
1363 </div>
1364</a>
1365
1366 <a href="/dubstep">
1367 <div class="briefbig">
1368<div class="briefcover">
1369 <img src="https://s3.regru.cloud/arenaradio/elements/feed/dubstep.png?v1"> 
1370</div>
1371 <div class="briefinfo">
1372 <p class="briefname">Дабстеп</p> 
1373 <p class="briefcase">Эйфория высокой громкости</p>
1374 </div>
1375 </div>
1376</a>
1377
1378</div>
1379
1380<hr class="divider">
1381
1382 <p class="zagtest">Сейчас слушают</p>
1383
1384 <div id="briefwave">
1385 <a href="/guests26"><div class="briefbig">
1386 <div class="briefcover">
1387 <img src="https://arenaradio.ru/_ld/1/c114.webp?v1" alt="Гости Арены 2026">
1388</div>
1389 <div class="briefinfo">
1390 <p class="briefname">Гостевые новинки</p> 
1391 <p class="briefcase">Подборка</p>
1392 </div>
1393 </div>
1394</a>
1395
1396 <a href="https://arenaradio.ru/vykhod_sily">
1397 <div class="briefbig">
1398<div class="briefcover">
1399 <img src="https://arenaradio.ru/_ld/0/c83.webp?v1"> 
1400</div>
1401 <div class="briefinfo">
1402 <p class="briefname">Выход силы</p> 
1403 <p class="briefcase">Радиошоу</p>
1404 </div>
1405 </div>
1406</a>
1407
1408 <a href="https://arenaradio.ru/pulse">
1409 <div class="briefbig">
1410<div class="briefcover">
1411 <img src="https://arenaradio.ru/_ld/0/c81.webp?v1"> 
1412</div>
1413 <div class="briefinfo">
1414 <p class="briefname">Пульс</p> 
1415 <p class="briefcase">Радиошоу</p>
1416 </div>
1417 </div>
1418</a>
1419
1420 <a href="/ruscyber">
1421 <div class="briefbig">
1422<div class="briefcover">
1423 <img src="https://arenaradio.ru/_ld/0/c84.webp?v1"> 
1424</div>
1425 <div class="briefinfo">
1426 <p class="briefname">Русская кибернетика</p> 
1427 <p class="briefcase">Радиошоу</p>
1428 </div>
1429 </div>
1430</a>
1431
1432</div>
1433
1434<hr class="divider">
1435
1436 <p class="zagtest">Недавно вышедшее</p>
1437
1438<div id="briefdiv">
1439 <a href="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_er383/58-1-0-872"><div class="brief">  <img src="/_ld/8/22275581.jpg">   <div class="briefinfo">  <p class="briefname">Fresh Meat ЕР383</p>   <p class="briefcase">United Drum & Bass Community</p>  </div>  </div> </a><a href="https://arenaradio.ru/mixes/radioshou/soundsystem/sentjabr_2026/24-1-0-871"><div class="brief">  <img src="/_ld/8/s46743884.jpg">   <div class="briefinfo">  <p class="briefname">Сентябрь 2026</p>   <p class="briefcase">Arena Soundsystem</p>  </div>  </div> </a><a href="https://arenaradio.ru/mixes/dnb/weirdrum/the_machine_method/21-1-0-870"><div class="brief">  <img src="/_ld/8/s53277261.jpg">   <div class="briefinfo">  <p class="briefname">The Machine Method</p>   <p class="briefcase">Weirdrum</p>  </div>  </div> </a><a href="https://arenaradio.ru/mixes/dnb/hall_hogan_kreyk_krik_grafityst/gostevoj_miks_03_10_2026/118-1-0-869"><div class="brief">  <img src="/_ld/8/s08610234.jpg">   <div class="briefinfo">  <p class="briefname">Гостевой микс (03.10.2026)</p>   <p class="briefcase">Hall Hogan & Kreyk-Krik (GrafityST)</p>  </div>  </div> </a><a href="https://arenaradio.ru/mixes/radioshou/puls/er030/81-1-0-868"><div class="brief">  <img src="/_ld/8/s27316323.jpg">   <div class="briefinfo">  <p class="briefname">ЕР030</p>   <p class="briefcase">Пульс</p>  </div>  </div> </a><a href="https://arenaradio.ru/mixes/radioshou/muzgost/er491/85-1-0-867"><div class="brief">  <img src="/_ld/8/s23789309.jpg">   <div class="briefinfo">  <p class="briefname">ЕР491</p>   <p class="briefcase">МУЗГОСТ</p>  </div>  </div> </a>
1440</div>
1441
1442<a href="/mixes" class="blockbutton" rel="nofollow"><span>Смотреть всё</span></a>
1443
1444</div>
1445</div>
1446
1447<div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s05e39/1-1-0-326"  id="feed326"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/S05E39.mp3"  data-p2p-cover="/_ld/3/s95464227.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s05e39/1-1-0-326"  data-p2p-title="S05E39"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/3/s95464227.jpg)">  <div class="top_author">
1447  <div class="top_info">  <h2>VISION Radio: S05E39</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">We premiere ‘VAI PULANDO’ by VIER! More new music by Kasra & Chimpo, T-I, VISLA, MUADEEP, Nickbee and more.. Enjoy!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  155  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/toeighty_threens/u_ozera_kocit_ep019/20-1-0-301"  id="feed301"  data-category="Toeighty Threens"  data-p2p-audio="https://s3.regru.cloud/arenaradio/tt/%D0%BA%D0%BE%D1%86%D0%B8%D1%8219.mp3"  data-p2p-cover="/_ld/3/s23213354.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/toeighty_threens/u_ozera_kocit_ep019/20-1-0-301"  data-p2p-title="У озера Коцит EP019"  data-p2p-author="Toeighty Threens"  style="--feed-bg:url(/_ld/3/s23213354.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Toeighty Threens: У озера Коцит EP019</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Подборка треков лучших представителей техно.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  114  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/kshv/er075/2-1-0-727"  id="feed727"  data-category="K-SHEE"  data-p2p-audio="https://s3.regru.cloud/arenaradio/kshv/K-SHEEEP075.mp3"  data-p2p-cover="/_ld/7/s39786947.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/kshv/er075/2-1-0-727"  data-p2p-title="ЕР075"  data-p2p-author="K-SHEE"  style="--feed-bg:url(/_ld/7/s39786947.jpg)">  <div class="top_author">  <div class="top_info">  <h2>K-SHEE: ЕР075</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Массивный сет, выстроенный на плотных диповых роллерах и грязном бристольском звучании, который в финале плавно растворяется в теплой и спокойной эстетике ликвид-фанка.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  96  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s05e27/1-1-0-237"  id="feed237"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/03072025.mp3"  data-p2p-cover="/_ld/2/s11161580.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s05e27/1-1-0-237"  data-p2p-title="S05E27"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/2/s11161580.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S05E27</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">New RUINNA, Nebulate, IMANU, Para, Moore Kismet and more.. Enjoy! Come party at the VISION stage at Rampage Open Air this Saturday!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  132  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/artem_scout/scout_liquid_work_046/16-1-0-853"  id="feed853"  data-category="Artem Scout"  data-p2p-audio="https://s3.regru.cloud/arenaradio/scout_saturday/LiquidWorkEP046.mp3"  data-p2p-cover="/_ld/8/21259866.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/artem_scout/scout_liquid_work_046/16-1-0-853"  data-p2p-title="Scout Liquid Work 046"  data-p2p-author="Artem Scout"  style="--feed-bg:url(/_ld/8/21259866.jpg)">  <div class="top_author">
1447  <div class="top_info">  <h2>Artem Scout: Scout Liquid Work 046</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Этот многогранный драм-н-бейс микс виртуозно балансирует между пронзительной, светлой лирикой от Hybrid Minds с Etherwood и разрывной фестивальной энергией от Chase & Status и Kanine.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  27  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/russkaja_kibernetika_ep707/84-1-0-487"  id="feed487"  data-category="Русская кибернетика"  data-p2p-audio="https://s3.regru.cloud/arenaradio/ruscyber/260311.mp3"  data-p2p-cover="/_ld/4/s53655063.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/russkaja_kibernetika_ep707/84-1-0-487"  data-p2p-title="EP707"  data-p2p-author="Русская кибернетика"  style="--feed-bg:url(/_ld/4/s53655063.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Русская кибернетика: EP707</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Сразу два трека с текстами на русском языке — стихами в «Ночной дороге» и монологом в «Союзе-39», а также заокеанский успех Алексея Aiwaska и Михаила Milletrax</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  145  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/braingasm/santa_sova_2026/45-1-0-569"  id="feed569"  data-category="Braingasm by Andryu Kash"  data-p2p-audio="https://s3.regru.cloud/arenaradio/braingasm/SantaSova2026.mp3"  data-p2p-cover="/_ld/5/s15081695.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/braingasm/santa_sova_2026/45-1-0-569"  data-p2p-title="&quot;Santa Sova&quot; 2026"  data-p2p-author="Braingasm by Andryu Kash"  style="--feed-bg:url(/_ld/5/s15081695.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Braingasm by Andryu Kash: &quot;Santa Sova&quot; 2026</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Свежий Live Set от Andryu Kash.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  82  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/puls/er030/81-1-0-868"  id="feed868"  data-category="Пульс"  data-p2p-audio="https://s3.regru.cloud/arenaradio/pulse/EP030.mp3"  data-p2p-cover="/_ld/8/s27316323.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/puls/er030/81-1-0-868"  data-p2p-title="ЕР030"  data-p2p-author="Пульс"  style="--feed-bg:url(/_ld/8/s27316323.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Пульс: ЕР030</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Зарядите свой эфир этим эпичным рейв-маршрутом, который филигранно разгоняется до абсолютного максимума, чтобы в финале взорваться бескомпромиссными ностальгическими битами от Kai Tracid и легендарным электронным штормом от Darude.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  ‹20  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/good_scene/ep091/70-1-0-448"  id="feed448"  data-category="Good Scene"  data-p2p-audio="https://s3.regru.cloud/arenaradio/goodscene/091.mp3"  data-p2p-cover="/_ld/4/39878306.webp"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/good_scene/ep091/70-1-0-448"  data-p2p-title="EP091"  data-p2p-author="Good Scene"  style="--feed-bg:url(/_ld/4/39878306.webp)">  <div class="top_author">
1447  <div class="top_info">  <h2>Good Scene: EP091</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Почти два часа новых релизов и классики драм-н-бэйса, а также гостевой микс от Rough Wave.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  148  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/muzgost/ep453/85-1-0-518"  id="feed518"  data-category="МУЗГОСТ"  data-p2p-audio="https://s3.regru.cloud/arenaradio/MUZGOST/453.mp3"  data-p2p-cover="/_ld/5/s33714950.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/muzgost/ep453/85-1-0-518"  data-p2p-title="EP453"  data-p2p-author="МУЗГОСТ"  style="--feed-bg:url(/_ld/5/s33714950.jpg)">  <div class="top_author">  <div class="top_info">  <h2>МУЗГОСТ: EP453</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Тёплый грув и аккуратный ритм без лишних слов.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  88  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/artem_scout/favourite_modestep/16-1-0-57"  id="feed57"  data-category="Artem Scout"  data-p2p-audio="https://s3.regru.cloud/arenaradio/scout_saturday/14122024.mp3"  data-p2p-cover="/_ld/0/s93219853.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/artem_scout/favourite_modestep/16-1-0-57"  data-p2p-title="Favourite: Modestep"  data-p2p-author="Artem Scout"  style="--feed-bg:url(/_ld/0/s93219853.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Artem Scout: Favourite: Modestep</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Олдскульный дабстеп из Туманного Альбиона.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  172  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/dnb/weirdrum/tvoyschen/21-1-0-97"  id="feed97"  data-category="Weirdrum"  data-p2p-audio="https://s3.regru.cloud/arenaradio/weirdrum/tvoyschen.mp3"  data-p2p-cover="/_ld/0/s19358609.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/dnb/weirdrum/tvoyschen/21-1-0-97"  data-p2p-title="tvoyschen"  data-p2p-author="Weirdrum"  style="--feed-bg:url(/_ld/0/s19358609.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Weirdrum: tvoyschen</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Микс треков от tvoyschen специально для Arena Radio.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  190  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/artem_scout/scout_39_s_favourite_bazil_mc/16-1-0-334"  id="feed334"  data-category="Artem Scout"  data-p2p-audio="https://s3.regru.cloud/arenaradio/scout_saturday/FavouriteBazil%20MC.mp3"  data-p2p-cover="/_ld/3/s93286557.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/artem_scout/scout_39_s_favourite_bazil_mc/16-1-0-334"  data-p2p-title="Favourite: Bazil MC"  data-p2p-author="Artem Scout"  style="--feed-bg:url(/_ld/3/s93286557.jpg)">  <div class="top_author">
1447  <div class="top_info">  <h2>Artem Scout: Favourite: Bazil MC</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Завораживающие речитативы прямиком из дождливого Лондона.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  114  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep378/58-1-0-813"  id="feed813"  data-category="United Drum & Bass Community"  data-p2p-audio="https://s3.regru.cloud/arenaradio/UnitedDABC/FreshMeat378.mp3"  data-p2p-cover="/_ld/8/57102817.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep378/58-1-0-813"  data-p2p-title="Fresh Meat EP378"  data-p2p-author="United Drum & Bass Community"  style="--feed-bg:url(/_ld/8/57102817.jpg)">  <div class="top_author">  <div class="top_info">  <h2>United Drum & Bass Community: Fresh Meat EP378</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Свежие треки со всего спектра ломаных ритмов в миксе United Drum & Bass Community.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  68  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s06e05/1-1-0-456"  id="feed456"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/S06E05.mp3"  data-p2p-cover="/_ld/4/s44674883.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s06e05/1-1-0-456"  data-p2p-title="S06E05"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/4/s44674883.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S06E05</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">New music by Break, Submarine, Posij, Ways, Second Law, TI, Harley D and more.. Enjoy!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  164  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s05e01/1-1-0-72"  id="feed72"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/02012025.mp3"  data-p2p-cover="/_ld/0/s85974747.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s05e01/1-1-0-72"  data-p2p-title="S05E01"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/0/s85974747.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S05E01</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">More new music by The Upbeats, Former, Fre4knc, Enei, S.P.Y. and more, in this new season! Enjoy!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  200  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div>
1448<div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_er383/58-1-0-872"  id="feed872"  data-category="United Drum & Bass Community"  data-p2p-audio="https://s3.regru.cloud/arenaradio/UnitedDABC/FreshMeat383.mp3"  data-p2p-cover="/_ld/8/22275581.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_er383/58-1-0-872"  data-p2p-title="Fresh Meat ЕР383"  data-p2p-author="United Drum & Bass Community"  style="--feed-bg:url(/_ld/8/22275581.jpg)">  <div class="top_author">
1448  <div class="top_info">  <h2>United Drum & Bass Community: Fresh Meat ЕР383</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Свежие треки со всего спектра ломаных ритмов в миксе United Drum & Bass Community.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  ‹20  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/soundsystem/sentjabr_2026/24-1-0-871"  id="feed871"  data-category="Arena Soundsystem"  data-p2p-audio="https://s3.regru.cloud/arenaradio/soundsystem/September2026.mp3"  data-p2p-cover="/_ld/8/s46743884.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/soundsystem/sentjabr_2026/24-1-0-871"  data-p2p-title="Сентябрь 2026"  data-p2p-author="Arena Soundsystem"  style="--feed-bg:url(/_ld/8/s46743884.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Arena Soundsystem: Сентябрь 2026</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Приготовьтесь к филигранному нарастанию темпа, в котором чувственная лирика и глубокие вибрации ликвид-фанка виртуозно подготавливают танцпол к предстоящему звуковому шторму.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  ‹20  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/dnb/weirdrum/the_machine_method/21-1-0-870"  id="feed870"  data-category="Weirdrum"  data-p2p-audio="https://s3.regru.cloud/arenaradio/weirdrum/TheMachineMethod.mp3"  data-p2p-cover="/_ld/8/s53277261.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/dnb/weirdrum/the_machine_method/21-1-0-870"  data-p2p-title="The Machine Method"  data-p2p-author="Weirdrum"  style="--feed-bg:url(/_ld/8/s53277261.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Weirdrum: The Machine Method</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Приготовьтесь к мощнейшему танцпольному катарсису, когда в дело вступает золотая эпоха биг-бита, бескомпромиссно обрушивая на вас первобытный драйв и культовые бэнгеры от легендарных The Prodigy, The Crystal Method и Propellerheads.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  65  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/dnb/hall_hogan_kreyk_krik_grafityst/gostevoj_miks_03_10_2026/118-1-0-869"  id="feed869"  data-category="Hall Hogan & Kreyk-Krik (GrafityST)"  data-p2p-audio="https://s3.regru.cloud/arenaradio/guests/HallHogan%26KreykKrik.mp3"  data-p2p-cover="/_ld/8/s08610234.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/dnb/hall_hogan_kreyk_krik_grafityst/gostevoj_miks_03_10_2026/118-1-0-869"  data-p2p-title="Гостевой микс (03.10.2026)"  data-p2p-author="Hall Hogan & Kreyk-Krik (GrafityST)"  style="--feed-bg:url(/_ld/8/s08610234.jpg)">  <div class="top_author">
1448  <div class="top_info">  <h2>Hall Hogan & Kreyk-Krik (GrafityST): Гостевой микс (03.10.2026)</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Отдайтесь во власть этого термоядерного коктейля из первобытного танцпольного драйва и хулиганского стрит-вайба, который гарантированно прокачает любые сабвуферы на максимальной громкости и не оставит танцполу ни единого шанса на передышку.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  29  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div>
1449<div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/er702/84-1-0-556"  id="feed556"  data-category="Русская кибернетика"  data-p2p-audio="https://s3.regru.cloud/arenaradio/ruscyber/702.mp3"  data-p2p-cover="/_ld/5/s84383952.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/er702/84-1-0-556"  data-p2p-title="ЕР702"  data-p2p-author="Русская кибернетика"  style="--feed-bg:url(/_ld/5/s84383952.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Русская кибернетика: ЕР702</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Русская кибернетика 702 с Евгением Сваловым / 4Mal и Александром Киреевым.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  122  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/prjamye_ehfiry/prilive_atmos/prilive_selection_31_07_2026/105-1-0-757"  id="feed757"  data-category="Prilive Atmos"  data-p2p-audio="https://s3.regru.cloud/arenaradio/Prilive_Selection/20260731_040011.mp3"  data-p2p-cover="/_ld/7/s79079419.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/prjamye_ehfiry/prilive_atmos/prilive_selection_31_07_2026/105-1-0-757"  data-p2p-title="Prilive Selection (31.07.2026)"  data-p2p-author="Prilive Atmos"  style="--feed-bg:url(/_ld/7/s79079419.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Prilive Atmos: Prilive Selection (31.07.2026)</h2>  <div class="top_tags"><div>Прямые эфиры</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Коллекция атмосферной электроники</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  100  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep377/58-1-0-798"  id="feed798"  data-category="United Drum & Bass Community"  data-p2p-audio="https://s3.regru.cloud/arenaradio/UnitedDABC/FreshMeat377.mp3"  data-p2p-cover="/_ld/7/21301670.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep377/58-1-0-798"  data-p2p-title="Fresh Meat EP377"  data-p2p-author="United Drum & Bass Community"  style="--feed-bg:url(/_ld/7/21301670.jpg)">  <div class="top_author">  <div class="top_info">  <h2>United Drum & Bass Community: Fresh Meat EP377</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Свежие треки со всего спектра ломаных ритмов в миксе United Drum & Bass Community.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  66  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/dnb/ilf/gostevoj_miks_29_03_2026/87-1-0-530"  id="feed530"  data-category="ilf"  data-p2p-audio="https://s3.regru.cloud/arenaradio/guests/ilf.mp3"  data-p2p-cover="/_ld/5/27713241.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/dnb/ilf/gostevoj_miks_29_03_2026/87-1-0-530"  data-p2p-title="Гостевой микс (29.03.2026)"  data-p2p-author="ilf"  style="--feed-bg:url(/_ld/5/27713241.jpg)">  <div class="top_author">
1449  <div class="top_info">  <h2>ilf: Гостевой микс (29.03.2026)</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Глубокое погружение в эстетику ломаных ритмов, где неровные паттерны и мастерски нарезанные сэмплы встречаются с теплым, ностальгическим саундом.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  136  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/er726/84-1-0-759"  id="feed759"  data-category="Русская кибернетика"  data-p2p-audio="https://s3.regru.cloud/arenaradio/ruscyber/726.mp3"  data-p2p-cover="/_ld/7/s09506476.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/russkaja_kibernetika/er726/84-1-0-759"  data-p2p-title="ЕР726"  data-p2p-author="Русская кибернетика"  style="--feed-bg:url(/_ld/7/s09506476.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Русская кибернетика: ЕР726</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Новый эпизод Русской кибернетики</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  106  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep371/58-1-0-733"  id="feed733"  data-category="United Drum & Bass Community"  data-p2p-audio="https://s3.regru.cloud/arenaradio/UnitedDABC/FreshMeat371.mp3"  data-p2p-cover="/_ld/7/83271169.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/united_drum_bass_community/fresh_meat_ep371/58-1-0-733"  data-p2p-title="Fresh Meat EP371"  data-p2p-author="United Drum & Bass Community"  style="--feed-bg:url(/_ld/7/83271169.jpg)">  <div class="top_author">  <div class="top_info">  <h2>United Drum & Bass Community: Fresh Meat EP371</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Свежие треки со всего спектра ломаных ритмов в миксе United Drum & Bass Community.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  82  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div>
1450<div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/birmanguest"  id="feed291"  data-category="Илья Бирман"  data-p2p-audio="https://s3.regru.cloud/arenaradio/guests/IlyaBirman.mp3"  data-p2p-cover="/_ld/2/s37288296.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/birmanguest"  data-p2p-title="Гостевой микс (23.08.2025)"  data-p2p-author="Илья Бирман"  style="--feed-bg:url(/_ld/2/s37288296.jpg)">  <div class="top_author">  <div class="top_info">  <h2>Илья Бирман: Гостевой микс (23.08.2025)</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Техно с оттенками транса: городская гармония, гипнотический ландшафт и просто час хорошей музыки.</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  407  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/dnb/black_barrel/gostevoj_miks_08_11_2024/5-1-0-10"  id="feed10"  data-category="Black Barrel"  data-p2p-audio="https://s3.regru.cloud/arenaradio/guests/blackbarrel08112024.mp3"  data-p2p-cover="/_ld/0/s98891136.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/dnb/black_barrel/gostevoj_miks_08_11_2024/5-1-0-10"  data-p2p-title="Гостевой микс (08.11.2024)"  data-p2p-author="Black Barrel"  style="--feed-bg:url(/_ld/0/s98891136.jpg)">  <div class="top_author">
1450  <div class="top_info">  <h2>Black Barrel: Гостевой микс (08.11.2024)</h2>  <div class="top_tags"><div>Гостевые миксы</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">Легендарная чёрная бочка российской драм-н-бейс сцены</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  365  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/ringnoordep"  id="feed174"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/01052025.mp3"  data-p2p-cover="/_ld/1/s66568547.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/ringnoordep"  data-p2p-title="S05E18 (RN-0xA0 Mix)"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/1/s66568547.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S05E18 (RN-0xA0 Mix)</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">[RN-0xA0] [ENJOY!]</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  355  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s04e48/1-1-0-17"  id="feed17"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/s04e48.mp3"  data-p2p-cover="/_ld/0/s64070747.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s04e48/1-1-0-17"  data-p2p-title="S04E48"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/0/s64070747.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S04E48</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">New The Upbeats music in the shape of ‘Bozo Rockers’, new tracks by Particle, Erotic Cafe, Phace, Cesco & Sepia, OktoRed and more.. Enjoy!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  354  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div><div class="feed-item">  <a class="feed"  href="https://arenaradio.ru/mixes/radioshou/vision/s04e36/1-1-0-3"  id="feed3"  data-category="VISION Radio"  data-p2p-audio="https://s3.regru.cloud/arenaradio/vision/S04E46.mp3"  data-p2p-cover="/_ld/0/s81637455.jpg"  data-p2p-entry-url="https://arenaradio.ru/mixes/radioshou/vision/s04e36/1-1-0-3"  data-p2p-title="S04E36"  data-p2p-author="VISION Radio"  style="--feed-bg:url(/_ld/0/s81637455.jpg)">  <div class="top_author">  <div class="top_info">  <h2>VISION Radio: S04E36</h2>  <div class="top_tags"><div>Радиошоу</div></div>  </div>   <div class="top_date">  <div class="date"></div>  <div class="dateinfo"></div>  </div>  </div>   <div class="center_text">New Sorza! ‘Hiding In The Sea’ is out now on VISION. More new music by Particle x Enei x Kasra, Onhell x KARAN!, Leo Cap and more.. Enjoy!</div>   <div class="bottom_player">  <img src="https://s3.regru.cloud/arenaradio/elements/player_play.svg" height="28">  <div class="listeners">  347  <img src="https://s3.regru.cloud/arenaradio/elements/%20headphones.svg" height="16">  </div>  </div> </a>  </div>
1451
1452<div id="headcarousel">
1453 <div class="carblock num1"><a href="/mixes"><img src="https://arenaradio.ru/posters/starnew.svg"></a></div>
1454 <div class="carblock num2"><a href="/visionradio"><img src="https://arenaradio.ru/_ld/0/c1.webp"></a></div>
1455 <div class="carblock num3"><a href="/ruscyber"><img src="https://arenaradio.ru/_ld/0/c84.webp"></a></div>
1456<div class="carblock num4"><a href="https://arenaradio.ru/sbd"><img src="https://arenaradio.ru/_ld/0/c91.webp"></a></div>
1457</div>
1458
1459<!---------------- код и стили ---------------->
1460
1461<script>
1462(function () {
1463
1464 function run() {
1465 const container = document.querySelector('#mainfeed');
1466 if (!container) return;
1467
1468 if (container.dataset.feedFixed === '1') {
1469 container.classList.add('feed-ready');
1470 return;
1471 }
1472
1473 const chips = container.querySelector('#music_chips');
1474 const headcarousel = container.querySelector('#headcarousel');
1475
1476 const items = Array.from(
1477 container.querySelectorAll(':scope > .feed-item')
1478 ).filter(function (el) {
1479 if (headcarousel && el === headcarousel) return false;
1480 if (headcarousel && el.contains(headcarousel)) return false;
1481 return true;
1482 });
1483
1484 const authors = items.find(function (el) {
1485 return el.classList.contains('feed-authors');
1486 });
1487
1488 const rest = [];
1489 const seen = new Set();
1490
1491 items.forEach(function (el) {
1492 if (el === authors) return;
1493
1494 const feed = el.querySelector('.feed');
1495 if (!feed) return;
1496
1497 const id = feed.id;
1498 if (!id) return;
1499
1500 if (seen.has(id)) {
1501 el.style.display = 'none';
1502 return;
1503 }
1504
1505 seen.add(id);
1506 rest.push(el);
1507 });
1508
1509 for (let i = rest.length - 1; i > 0; i--) {
1510 const j = Math.floor(Math.random() * (i + 1));
1511 [rest[i], rest[j]] = [rest[j], rest[i]];
1512 }
1513
1514 container.dataset.feedFixed = '1';
1515
1516 let anchor = container.firstChild;
1517
1518 if (chips) {
1519 container.insertBefore(chips, anchor);
1520 anchor = chips.nextSibling;
1521 }
1522
1523 if (authors) {
1524 container.insertBefore(authors, anchor);
1525 anchor = authors.nextSibling;
1526 }
1527
1528 rest.forEach(function (el) {
1529 container.insertBefore(el, anchor);
1530 });
1531
1532 if (headcarousel) {
1533 container.appendChild(headcarousel);
1534 }
1535
1536 container.classList.add('feed-ready');
1537 }
1538
1539 function markReady() {
1540 const container = document.querySelector('#mainfeed');
1541 if (container) {
1542 container.classList.add('feed-ready');
1543 }
1544 }
1545
1546 /*
1547 Без requestAnimationFrame:
1548 перестановка выполняется сразу после создания DOM,
1549 не в следующем кадре отрисовки.
1550 */
1551 if (document.readyState === 'loading') {
1552 document.addEventListener('DOMContentLoaded', run, { once: true });
1553 } else {
1554 run();
1555 }
1556
1557 if (document.readyState === 'complete') {
1558 markReady();
1559 } else {
1560 window.addEventListener('load', markReady, { once: true });
1561 }
1562
1563})();
1564</script>
1564<!--/U1FEED1Z-->
1565 </div>
1566</div>
1567
1568<!--U1BFOOTER1Z--><!-- Yandex.RTB R-A-13604440-11 -->
1569<script>
1570window.yaContextCb.push(() => {
1571 Ya.Context.AdvManager.render({
1572 "blockId": "R-A-13604440-11",
1573 "type": "floorAd",
1574 "platform": "touch"
1575 })
1576})
1577</script>
1577
1578
1579<style>.csr-uniq1 {margin-bottom: 60px !important; z-index: 5}</style>
1580
1581
1582
1583<!-- Yandex.Metrika counter --> 
1583<script type="text/javascript"> (function(m,e,t,r,i,k,a){ m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a) })(window, document,'script','//mc.yandex.ru/metrika/tag.js', 'ym'); ym(99085350, 'init', {accurateTrackBounce:true, trackLinks:true, webvisor:true, clickmap:true, params: {__ym: {isFromApi: 'yesIsFromApi'}}}); </script>
1583 <noscript><div><img src="https://mc.yandex.ru/watch/99085350" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> 
1584
1585<div id="footer">
1586 <div><img src="https://s3.regru.cloud/arenaradio/elements/footerlogo.svg"> <br>2022 — 2026 г. Для лиц, достигших 16 лет <a href="https://maket.one" target="blank_">Проект ◆ maket.one</a></div>
1587
1588 <div><h4>О радиостанции</h4>
1589 <a href="/about">Подробнее о радио</a>
1590 <a href="/info">Параметры эфира</a>
1591 <a href="https://t.me/radioarena" target="blank_">Наш Telegram</a>
1592 <a href="https://vk.ru/arenaradio" target="blank_">Наш ВКонтакте</a>
1593 
1594 </div>
1595
1596 <div><h4>Микстейпы и передачи</h4>
1597 <a href="/mixes">Все микстейпы</a>
1598 <a href="/schedule">Расписание эфиров</a>
1599 <a href="https://t.me/himaket" target="blank_">Написать кураторам</a>
1600 </div>
1601
1602 <div><h4>Юридическое</h4>
1603 <a href="/index/pravoobladateljam/0-9">Правообладателям</a>
1604 <a href="/cookie">Политика по Cookie</a>
1605 <a href="/confidential">Политика конфиденциальности</a>
1606 <a href="/index/polzovatelskoe_soglashenie_i_publichnaja_oferta_sajta_arenaradio_ru/0-20">Пользовательское соглашение</a>
1607 <a href="/index/0-3">Связаться с нами</a>
1608 </div>
1609</div>
1610
1611
1612
1613<div id="mobilemenu">
1614 <a href="/"><img src="https://s3.regru.cloud/arenaradio/elements/icon_1.svg" class="activeicon"></a>
1615 <a href="/load"><img src="https://s3.regru.cloud/arenaradio/elements/icon_4.svg"></a>
1616 <a href="/index/0-4"><img src="https://s3.regru.cloud/arenaradio/elements/icon_2.svg"></a>
1617 <a href="/curators"><img src="https://s3.regru.cloud/arenaradio/elements/icon_5.svg"></a>
1618 <a href="/about"><img src="https://s3.regru.cloud/arenaradio/elements/icon_3.svg"></a>
1619</div>
1620
1621<style>.activeavatar {border-radius: 100px;}</style>
1622
1623<script src="https://s3.regru.cloud/arenaradio/elements/app.js?version0001"></script>
1623
1624<link type="text/css" rel="stylesheet" href="https://s3.regru.cloud/arenaradio/elements/app.css?version0001">
1625<link type="text/css" rel="stylesheet" href="/styles/radioheart.css?version0005">
1626
1627<style>.grecaptcha-badge {
1628 visibility: hidden !important;
1629}</style>
1630
1631<script>
1632document.addEventListener('error', function (e) {
1633 var el = e.target;
1634 if (el.tagName === 'IMG') {
1635 el.style.display = 'none';
1636 }
1637}, true);
1638</script>
1638
1639
1640
1641
1642<script>
1643document.addEventListener('DOMContentLoaded', function () {
1644 // Если есть свой ID плеера — укажи его тут
1645 var audio = document.querySelector('audio');
1646 if (!audio) return;
1647 if (!('mediaSession' in navigator)) return;
1648
1649 var TRACK_URL = 'https://maket.one/arena/track.php';
1650 var metaTimer = null;
1651
1652 async function updateArenaRadioMetadata() {
1653 try {
1654 var response = await fetch(TRACK_URL, {
1655 cache: 'no-cache' // чтобы не тянуть старый трек из кэша
1656 });
1657
1658 if (!response.ok) {
1659 throw new Error('Bad response');
1660 }
1661
1662 var trackTitle = (await response.text()).trim();
1663
1664 // Если по каким-то причинам трек пустой — подстрахуемся
1665 if (!trackTitle) {
1666 trackTitle = 'Arena Radio — прямой эфир';
1667 }
1668
1669 navigator.mediaSession.metadata = new MediaMetadata({
1670 title: trackTitle, // здесь будет текущий трек
1671 artist: 'Arena Radio: прямой эфир',
1672 album: 'Прямой эфир',
1673 artwork: [
1674 {
1675 src: 'https://arenaradio.ru/images/safari-live.png',
1676 sizes: '512x512',
1677 type: 'image/png'
1678 }
1679 ]
1680 });
1681 } catch (e) {
1682 // Фолбэк, если не удалось получить трек
1683 navigator.mediaSession.metadata = new MediaMetadata({
1684 title: 'Arena Radio — прямой эфир',
1685 artist: 'Arena Radio: прямой эфир',
1686 album: 'Прямой эфир',
1687 artwork: [
1688 {
1689 src: 'https://arenaradio.ru/images/safari-live.png',
1690 sizes: '512x512',
1691 type: 'image/png'
1692 }
1693 ]
1694 });
1695 }
1696 }
1697
1698 audio.addEventListener('play', function () {
1699 // Сразу обновляем метаданные при старте
1700 updateArenaRadioMetadata();
1701
1702 // И периодически обновляем, чтобы подхватывать новый трек
1703 if (metaTimer) {
1704 clearInterval(metaTimer);
1705 }
1706 metaTimer = setInterval(function () {
1707 if (!audio.paused) {
1708 updateArenaRadioMetadata();
1709 }
1710 }, 10000); // каждые 10 секунд
1711 });
1712
1713 audio.addEventListener('pause', function () {
1714 if (metaTimer) {
1715 clearInterval(metaTimer);
1716 metaTimer = null;
1717 }
1718 });
1719});
1720</script>
1720<!--/U1BFOOTER1Z-->
1721
1722<script>
1723document.querySelectorAll('#briefwave img').forEach((img) => {
1724 const showImage = () => img.classList.add('is-loaded');
1725
1726 if (img.complete && img.naturalWidth > 0) {
1727 showImage(); // картинка уже есть в кэше
1728 } else {
1729 img.addEventListener('load', showImage, { once: true });
1730 }
1731});
1732</script>
1732
1733
1734<script>document.addEventListener('DOMContentLoaded', function () {
1735 const cover = document.getElementById('back_cover');
1736 const imageUrl = cover.dataset.image;
1737 const image = new Image();
1738
1739 image.src = imageUrl;
1740
1741 function setCover(withFade) {
1742 cover.style.setProperty('--cover-image', `url("${imageUrl}")`);
1743
1744 if (!withFade) {
1745 cover.classList.add('no-fade');
1746 return;
1747 }
1748
1749 requestAnimationFrame(function () {
1750 cover.classList.add('is-loaded');
1751 });
1752 }
1753
1754 if (image.complete && image.naturalWidth > 0) {
1755 setCover(false); // уже загрузилось — показываем без анимации
1756 } else {
1757 image.addEventListener('load', function () {
1758 setCover(true); // загружено сейчас — появление 1 секунда
1759 }, { once: true });
1760 }
1761});</script>
1761
1762
1763<script>
1764document.addEventListener('DOMContentLoaded', function () {
1765 // Если есть свой ID плеера — укажи его тут
1766 var audio = document.querySelector('audio');
1767 if (!audio) return;
1768 if (!('mediaSession' in navigator)) return;
1769
1770 var TRACK_URL = 'https://maket.one/arena/track.php';
1771 var metaTimer = null;
1772
1773 async function updateArenaRadioMetadata() {
1774 try {
1775 var response = await fetch(TRACK_URL, {
1776 cache: 'no-cache' // чтобы не тянуть старый трек из кэша
1777 });
1778
1779 if (!response.ok) {
1780 throw new Error('Bad response');
1781 }
1782
1783 var trackTitle = (await response.text()).trim();
1784
1785 // Если по каким-то причинам трек пустой — подстрахуемся
1786 if (!trackTitle) {
1787 trackTitle = 'Arena Radio — прямой эфир';
1788 }
1789
1790 navigator.mediaSession.metadata = new MediaMetadata({
1791 title: trackTitle, // здесь будет текущий трек
1792 artist: 'Arena Radio: прямой эфир',
1793 album: 'Прямой эфир',
1794 artwork: [
1795 {
1796 src: 'https://arenaradio.ru/images/safari-live.png',
1797 sizes: '512x512',
1798 type: 'image/png'
1799 }
1800 ]
1801 });
1802 } catch (e) {
1803 // Фолбэк, если не удалось получить трек
1804 navigator.mediaSession.metadata = new MediaMetadata({
1805 title: 'Arena Radio — прямой эфир',
1806 artist: 'Arena Radio: прямой эфир',
1807 album: 'Прямой эфир',
1808 artwork: [
1809 {
1810 src: 'https://arenaradio.ru/images/safari-live.png',
1811 sizes: '512x512',
1812 type: 'image/png'
1813 }
1814 ]
1815 });
1816 }
1817 }
1818
1819 audio.addEventListener('play', function () {
1820 // Сразу обновляем метаданные при старте
1821 updateArenaRadioMetadata();
1822
1823 // И периодически обновляем, чтобы подхватывать новый трек
1824 if (metaTimer) {
1825 clearInterval(metaTimer);
1826 }
1827 metaTimer = setInterval(function () {
1828 if (!audio.paused) {
1829 updateArenaRadioMetadata();
1830 }
1831 }, 10000); // каждые 10 секунд
1832 });
1833
1834 audio.addEventListener('pause', function () {
1835 if (metaTimer) {
1836 clearInterval(metaTimer);
1837 metaTimer = null;
1838 }
1839 });
1840});
1841</script>
1841
1842
1843<style>
1844#today {background: rgba(27, 27, 27, 0.96) !important; display: none;}
1845#feed_ads {background: rgba(27, 27, 27, 0.96) !important; display: none;}
1846#content_podcast {background: rgba(16, 16, 16, 0.90) !important;}
1847</style>
1848
1849<script>
1850const elements = [
1851 { id: 'back_cover', start: 0, end: 600 },
1852 { id: 'mainhead', start: 0, end: 400 },
1853 { id: 'fixedcontent', start: 0, end: 400, disableClickAfter: true }
1854];
1855
1856let ticking = false;
1857
1858function calcOpacity(scroll, start, end) {
1859 if (scroll <= start) return 1;
1860 if (scroll >= end) return 0;
1861 return 1 - (scroll - start) / (end - start);
1862}
1863
1864function update() {
1865
1866 const scroll = window.scrollY;
1867
1868 elements.forEach(cfg => {
1869
1870 const el = document.getElementById(cfg.id);
1871 if (!el) return;
1872
1873 const opacity = calcOpacity(scroll, cfg.start, cfg.end);
1874 el.style.opacity = opacity;
1875
1876 if (cfg.disableClickAfter) {
1877 el.style.pointerEvents = scroll > cfg.end ? 'none' : 'auto';
1878 }
1879
1880 });
1881
1882 ticking = false;
1883}
1884
1885document.addEventListener('scroll', function () {
1886
1887 if (!ticking) {
1888 requestAnimationFrame(update);
1889 ticking = true;
1890 }
1891
1892});
1893</script>
1893
1894
1895
1896</body>
1897</html>
1898<!-- 0.08288 (s726) -->

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.