Mozilla Firefox. Проблемы адаптивной вёрстки (баг, который чуть не рассорил компанию)

Рекомендуется к прочтению верстальщикам, а так же их руководителям. Не является руководством к какому-либо действию.

Сегодня 13 февраля 17-ого. История началась 3 дня назад. Собственно проблема появилась следующая. Есть каруселька (это тип слайдера), верстальщику компании «R&K» пришёл запрос, о том что каруселька не адаптивная, т.е. не сжимается как положено, при сжатии окна браузера по ширине. Баг выявлен в Firefox v50.1.0 32-bit, Win7 32-bit. При этом, на следующий день, появился странный телефонный звонок от заказчика, с сообщением о том, что всё работает, и благодарность за быстрое реагирование. Т.к. вёрстку вообще никто не смотрел, то люди почесали в недоумении репы и разошлись. Через два дня снова позвонил заказчик, и уже яростно/истошно/дико/люто начал орать, что вёрстка снова не адаптивная, и не ужимается в окно браузера при сжатии браузера. Вот тут-то люди призадумались и начали крутить вёрстку.

index.html

<!DOCTYPE html>
<html><head>

  <meta encoding="utf-8" />
  <link rel="stylesheet" href="style.css" />

</head><body>

  <div>
    <label><input type="radio" name="name" checked="checked" /></label>
    <label><input type="radio" name="name" /><img src="1.jpg" /></label>
    <label><input type="radio" name="name" /><img src="2.jpg" /></label>
  </div>

</body></html>

style.css

* {margin: 0; padding: 0; font-size: 0; } /* сброс стилей */

div {
  margin: 20px auto;              /* центрирование для тестов */
  border: 1px solid royalblue;    /* видимость блока для тестов */
/*display: inline-block;          оригинальное значение div, для теста не нужно */

  max-width: 450px;               /* 300, 400, 450, 600, ширину перебирайте сами */
  white-space: nowrap;            /* что бы изображения были в линию */
/*overflow: hidden;               оригинальное значение overflow, для теста не нужно */
}

input {
/*display: none;                  оригинальное значение display, для теста не нужно */
}

img {
  width: 100%;                    /* адаптивное сжатие изображения */
}

Само собой все лишнее выпилено для тестов. Что бы ясно был виден смысл проблемы. Итак, обнаруженная проблема «адаптивной верстки» следующая:

Верстаем, верстаем, например то что выше, запускаем опять же в вышеприведённом браузере Firefox. Видим следующую картину, всё как и ожидается, например вот так.


Сжимаем окно, естественно «адаптивная вёрстка» жмёт и изображение, получаем вот это.


Всё в порядке? А не тут то было… Идём пить чаёк, курим, приходим обратно, открываем яндекс, читаем новости (почту, Хабр, рутуб и т.д.), открываем поглядеть нашу верстку, и изумлённо получаем вот это.


Теперь поймите правильно людей. Люди — это люди. Всё учесть невозможно. В мире багнутого ПО учесть всё — тем более невозможно. Сложилась следующая ситуация. Клиент открыл страничку в одной вкладке, сжал браузер, и получил то, что хотел. На следующий день он открыл страничку со второй вкладкой, и верстку расколбасило. При этом, верстальщик ровно так же не замечая вкладок — открывал по-разному и получал разные результаты. На количество вкладок никто не обратил внимания. Дошло до того, что начали приподымать чистую вёнду, смотреть там, начали рыть багрепорты на форумах мозиллы, начали искать странное поведение селекторов width/max-width и предпринимать ну очень фееричные и странные действия, про которые стыдно писать, но на количество вкладок снова и опять никто не обратил внимания. Более того, часа три никто не смог воссоздать баг, потому что открывали тестовую страничку на чистом браузере без вкладок. Были просто поражены тем, что баг исчез сам собой, но конечно же, стоило открыть страничку со вкладками, причем с определенными — баг выполз. Сутки люди имели наилютейший баттхерт, которого я в жизни не видел, сдобренный истошными воплями клиента. Разумеется, у людей начали немножко сдавать нервы, и дело чуть не дошло до откровенного мордобоя. Далее повесть рассказывать смысла нет, но догадаться во что выливаются подобные ситуации можно самостоятельно.

Пожалуйста, в мире багнутого ПО будьте внимательней и терпеливей. Это относится ко всем без исключения. Как к исполнителям, так и к руководителям. С заказчиков брать кроме денег, конечно же нечего, и им простительно.

P.S.: К верстальщикам не имею никакого отношения. Верстал 10 лет назад, слава богу быстро слез с этого непотребного дела. Получил себе эту проблему по телефонному звонку от знакомого, который всю голову изломал, решая оную задачку. Баг успешно воссоздан, верстка выше — моя. Верстка тестовая, никак не продакшн, ни в одном глазу. Специально позвонил еще одному знакомому верстальщику, слышит про этот баг впервые.
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 59

    +10

    Как минимум, не хватает ссылки на заведённый баг в багзилле. Ничего похожего там не находится.

      +4
      Ответили бы честно в первый раз, что сами ничего не делали и баг саморассосался, и не было бы недовольства со стороны заказчика. А то сначала сказали, что вроде как починили, а потом оказалось, что не починили…
        +2
        Вы как-то странно нафантазировали только что.
        +4
        Как исправили то?
          +1

          Вы там все истерички какие-то, вместе с заказчиком. Баги в браузерах — это интересно. А еще бывает свойство "object-fit".

            0
            Здравствуй IE и Edge, который не поддерживают данное свойство. Но так спасибо, не слышал ранее про него
            +1
            В итоге-то что имеем? И выше уже сказали про багрепорт
              +19

              В итоге имеем статью с завязкой без развязки.
              Да и вообще без каких-либо технических подробностей. Только скриншоты с текстом из пейнта.
              Сплошное разочарование.
              Автор — не молодец

              0
              Разве по-русски можно сказать «рассорил компанию» без уточнения с кем?
                0

                Вполне. Рассорить можно не с кем, а просто людей между собой.
                "рассорил друзей", "рассорил влюбленных".

                  0
                  правильно. В обоих случаях это множественное число, которое подразумевает, что рассорил одного и друга и второго. Здесь же использовано единственное, которое никак не намекает с кем-таки кто рассорился.
                    +1

                    Но так же можно "рассорил семью", "рассорил руководство" и даже "рассорил маршрутку".
                    Вот к примеру "Трамп рассорил руководство Oracle".
                    Компания так же подразумевает множественное число.

                      –1
                      вы правы, да, все эти варианты абсолютно нормально звучат. Но вот про компанию мне всё равно слух режет почему-то. Возможно, дело в том насколько очеловечено мы воспринимаем то или иное слово: семья, руководство и маршрутка — это вполне конкретные люди, если сказать: «Олег рассорил нашу дворовую компанию» — тоже звучит ок, потому что слова имеют вполне конкретных действующих лиц, даже «Игнат рассорил ПБОЮЛ „Рога и копыта“ звучит вполне годно, но вот слово „компания“ в таком обезличенном смысле как в статье звучит совсем странно.
                +1
                >>При этом, верстальщик ровно так же не замечая вкладок — открывал по-разному и получал разные результаты. На количество вкладок никто не обратил внимания
                Можно этот момент поподробнее? Не понял, речь о вкладках браузера (вроде), но как они действительно влияют на верстку?
                  –1
                  Где адаптивная вертка?
                  https://output.jsbin.com/qucuqobahu/1
                    0
                    Не все знают разницу между адаптивной и резиновой ;)
                    0

                    Судя по скриншоту:
                    image
                    Фрейм в котором отображается страница стал больше границ окна. Вряд ли это можно поправить стилями страницы.

                      0
                      Так точно. Это видно по полю поиска, которое не исчезло, как на прошлом скриншоте. И это уж точно не пофиксить стилями.
                      +1
                      Если смотреть по приведённой вёрстке, то это не баг, а сомнительное использование инлайнового как блочного элемента. А при нарушенной логике никто не может обещать работу стабильную.
                        0
                        Блоки делятся на три типа, насколько мне известно с 2000-ых годов, если, разумеется, не внесли что-то новое, т. е. новые типы «блоков». А именно: блочный «блок», строчный «блок», и строчно-блочный «блок». При этом, если блок как абстракция существует, то блоку можно в любом случае задать любой тип из трех доступных. Как тут нарушается логика — я не знаю… Если есть соображения на этот счет — приведите их пожалуйста. Пример: у нас есть
                        <div>
                        
                        , по умолчанию — это block, т. е. это
                        <div style="block">
                        
                        , но как нарушится логика ПО, если написать
                        <div style="inline">
                        
                        или
                        <div style="inline-block">
                        
                        ? В первом случае div обязан быть блочным, во втором строчным, в третьем блочно-строчным. Разве тут может быть какое-то другое ожидание поведения от блоков? Разумеется, вариант
                        <div style="inline">
                        
                        надо переделать в
                        <span>
                        
                        , но речь же не про это. Любой блок, каким бы он ни был, разве не может быть переписан под себя?
                          0
                          Да, любой блок можно переделать под себя, но я как раз и писал про то, что это сделано не было. label по умолчанию inline-элемент, и в этом случае он имеет свои строковые особенности с шириной блока, такие как неразрывность строки при выведении символа. Если вставленное изображение считается символом, то, по логике разработчиков ПО, родительский элемент никак не ограничивает ширину картинки, и при её пересоздании вполне может сделать полноразмерной и раздвинуть резиновую вёрстку. Поведение неожидаемое, но разработчики люди творческие…
                            0
                            Так изображения и должны быть span-ами, т.е. строковыми. С неразрывностью строки. Они идут в строку друг за другом без отступов. Это одна из распространенных реализаций одного из видов каруселей (слайдеров). Если изображения упакованы в лейблы, то и получается то что нужно, иногда. То что у лейблов нет значения в виде строки, так лейбл получает ширину от изображения, т.к. это строковый блок же. Ширину с потомка получает. Проценты это позволяют делать. И ровно так же можно заменить лейбл на спан — логика не изменится. Вообще, на самом деле, лейблы можно убрать вовсе. Логика опять не изменится. Лейбл — это просто враппер, с возможностью «ссылки» с него. Спан лишен этой возможности. Можете в коде убрать лейблы. Колбасить верстку будет ровно так же. Проверено. Написано немного сумбурно, но по-другому я объяснить не могу.
                          0
                          2017 год на дворе, в html5 не больше строчных или блочных элементов…
                          http://css-live.ru/articles/blochnyx-i-strochnyx-elementov-v-html-bolshe-net.html
                            0
                            В данном случае речь идёт о css, для которого это всё ещё актуальные понятия.
                          0
                          Открывая статью «Mozilla Firefox. Баг, который чуть не рассорил компанию», я ожидал увидеть статью про компанию Mozilla, но никак не вашу.
                            0
                            Люди не хотят читать о том, что у вас есть проблемы, они хотят читать о том как вы их решили.
                              0
                              Во-первых, люди как вид — совершенно разные. Во-вторых — не все проблемы решаемы, на это есть строгое мат-доказательство. В-третьих, некоторой группе людей жизненно необходим ну скажем так список например тех же багов браузеров. У нас решения нет, и вряд ли оно появится. Т.к. это не проблема верстки, то кто же за мозиллу будет решать проблемы мозиллы? Никак не я и не мои старые знакомые, которые подкинули сею задачку.
                                0
                                А ещё недавно дизайн Твича в Мозилле поехал (кнопки над видео упорно на вторую строку переносятся). Сделаны флексами, но почему-то и переделка в инспекторе на display: inline-block с white-spce: nowrap не помогает. Исследовать было лень, но появилось совсем недавно. Интересно, виноват браузер, или криворукие верстальщики :)

                                Тут правда должен оговориться, что у меня стоит 42-ая версия.
                                  0
                                  > В-третьих, некоторой группе людей жизненно необходим ну скажем так список например тех же багов браузеров.

                                  Ага, а где нормальные люди будут искать этот список?
                                  Ой, подождите, так вы же сами такой список искали, интересно, где?

                                  > Дошло до того, что начали приподымать чистую вёнду, смотреть там, начали рыть багрепорты на форумах мозиллы.

                                  Так вот, к чему я виду… список багов нужен на багтрекере. На хабре же нужно ну как минимум подробное описание. А в статье «ну вот короче есть в мозилле баг… вот два скриншота, сами найдите. Ах да, подсказка: количество вкладок».
                                    0
                                    Вы все верно говорите. Но вы не связывались с форумами мозиллы ни разу. Во-первых, найти что-либо там вообще проблематично. Во-вторых, мозилла плюет с высокой калакольни на баги. Я лично писал туда два репорта, уже три года не исправленные. Причем, через некоторое время попытался найти свои запросы — не нашел. Чудесно же, правда? И в чем великий смысл тогда писать багрепорты в мозиллу? Я бросил это дело. В-третьих, вы совершенно правильно пишете — где люди будут искать этот список? Прямой ответ — да бог его знает. Каждый его составляет сам. Инструменты багрепортов работают отвратно. Разве для верстальщика на форуме мозиллы переписаны все баги на все версии файерфокса? Ну нет же. Даже не ищите, плевала мозилла на верстальщиков. При этом, сей замеченный баг — вы же понимаете, он критичный. Щас мы живем в мире адаптивных версток, т.е. что бы не версталось — все так или иначе — адаптивно. И тут замечен прямой баг (ну или фича, бог его знает), который влияет на работу верстки, а значит и на работу верстальщика. Кто заинтересован в этой проблеме — прочитают здесь. Но вряд ли полезут рыть багрепорты. Плюс ко всему, вы не учли одной простой вещи. Кто-то конечно же опубликует багрепорт, исходя из этой статьи. И в этом нет ничего плохого, пусть пишут. Пока набирается статистика, т.е. щас самое начало изучения проблемы. Пусть будет так. Далее посмотрим.
                                      0
                                      Кто заинтересован в этой проблеме — прочитают здесь.

                                      Если и прочитают, какой смысл? Решения вы никакого не привели. Даже тесткейса нет.

                                        0
                                        Знание того, что проблема есть — уже многое дает. Для верстальщика — это основные знания. Другое им просто не нужно. Разве верстальщик борет баг мозиллы? Это же не баг верстки. Достаточно знать, что сие существует и все. Если хотите — решайте проблему. Вы сразу за голову схватились, не правда ли? В таком случае позвольте и нам эту проблему не решать. При этом куча людей, которая занимается версткой — разумеется статью взяли на заметку. Т.к. у них тоже есть непонятный заказчик, который ровно так же с открытой вкладкой яндекса откроет сайт верстальщика, и увидит непотребщину. При этом, верстальщик хотя бы будет знать, что такое бывает в природе, когда верстку колбасит из-за левых вкладок. И не потратит кучу человеко-часов, нервов и прочего, выясняя что вообще происходит. Решения не будет, ничего не будет. На это нет времени. Это проблема мозиллы и верстальщиков. Мозилла пусть и решает, это прямая обязанность сей организации.
                                          0

                                          Пусть Мозилла решает, но сообщать мы им конечно не будем. Хорошая у вас позиция, ответственная.

                                            0
                                            Разумеется, ответственная. А как иначе? Я сообщил сообществу верстальщиков о проблеме. Они теперь знают, что проблема есть. Остальное дело техники и вопрос времени. Что не так? Если я руководствуясь личным опытом и убеждением не написал в мозиллу баг-репорт — то это вовсе не означает, что я человек безответственный. Я не вижу смысла туда писать, т.к. это часть моего опыта. Если вы видите смысл — напишите. Я посчитал нужным описать проблему на более вменяемом ресурсе, т.е. на хабре. Т.к. яндекс и гугл вроде бы работают исправно, то 95% вменяемых верстальщиков на этой планете уже ознакомлены с багом. Этого достаточно.
                                0
                                Так, в чем баг то?) «то ли сани не едут, то ли я не шибко умен»
                                Каким образом вкладка яндекса повлияла?
                                  0
                                  Вот тут самый интересный момент. Прямой ответ — да без понятия вообще. Еще найден сайт который выдает такое же поведение — это сайт радио «Маяк». Например, если загрузить гугл, то верстку не расколбашивает. А вот если загрузить яндекс и маяк — верстку колбасит. Есть очень-очень-преочень много предположений. Но они ни на чем не основаны… Им основываться просто не на чем. Понятное дело, что верстка тут совершенно ни при чем. В таком случае что тогда влияет? Возможно, яндекс и маяк грузят какие-то компоненты, но по какой-то причине эти загруженные компоненты колбасят верстку других вкладок. Кто ж знает как мозилла реализовала эти компоненты? Теперь вопрос, а что это за компоненты? Да опять же нет ответа и не будет. Это же может быть все что угодно, начиная от плагинов/дополнений, установленного левого ПО и кончая каким-нибудь давным-давно приткнутым вирусом. Вирус конечно же прибили, но следы его деятельности могут влиять на что угодно. А может быть это проблема в модуле, который рулит вкладками мозиллы? В этом всем нужно крайне пристально разбираться, но сколько на это уйдет времени? Совершенно верно, дофига. Сам факт того, что каким-то образом мозилла допускает влияние одной вкладки на другую, причем не всегда, уже настораживает. Статья рассчитана именно на донесение сего простого факта, что во-первых, не у всех чистые компьютеры, и т.к. все влияет на все — в результате может быть всякое. Во-вторых, сам факт такого поведения насколько я смог излазить интырнеты — замечен впервые. Верстальщикам это важно, они многое учитывают в разработке. Ну и в-третьих — показана ситуация, во что это может вылиться. Это уже как бонус. Т.к. работают человеки, а не биороботы — я посчитал нужным упомянуть и это вкратце. Не повредит.
                                    0
                                    установленного левого ПО и кончая каким-нибудь давным-давно приткнутым вирусом

                                    Мне кажется, дело не в этом. Я бы поставил на то, что просто в движок внесли некоторые оптимизации, которые имеют баги. И таки да, при создании другой вкладки с определённым дизайном (даже без всяких плагинов) может что-то изменяться во внутренних параметрах движка рендеринга, что потом влияет на все вкладки, включая вкладку вашего сайта и тестового примера.
                                      0
                                      А как нужно открыть радио Маяк и Яндекс чтобы начался расколбас верстки на сайте Маяка? У меня не получилось. Последняя версия ФФ, вин 7.
                                      0
                                      Так, в чем баг то?

                                      В 1-м случае (открыт google.ru) при сужении окна появляются стрелки для прокрутки списка вкладок, во 2-м случае (откыт yandex.ru) — не появляются и область просмотра начинает выходить за рамки окна.


                                      image


                                      image

                                        0
                                        Опишите конфигурацию вашего кампутера, и вкратце список установленного ПО. Еще необходима информация, был ли приткнут какой-то зловред, непосредственно влияющий на браузер.
                                          0

                                          Linux Mint 18.1, из расширений — Wappalizer, uBlock Origin, Stylish. Видеокарта Intel.
                                          Скриншоты выше с рабочего компьютера. На домашнем стоит все описанное выше, но баг не воспроизводится.

                                          0

                                          Так похоже по скришотам это яндекс раскорячивает окно. Надо смотреть что задано у них. Может скрипт пытается регулировать размеры фрейма. Можете поэксперементировать глобально отключив скрипты

                                            0
                                            Можете поэкспериментировать глобально отключив скрипты

                                            К сожалению до понедельника не могу, т.к. проблема всплывает только на работе (как писал выше), хотя дома ОС та же, а наборы дополнений синхронизируются.

                                              0
                                              Помогло, баг исчез. Теперь осталось выяснить, почему на одних конфигурациях все в порядке, а на других баг вылазит.
                                              Стоит дополнить следующее. Если открыть маяк и тестовую верстку (и более ничего), то тестовую верстку колбасит.
                                              Сам маяк тоже хорош, и тоже влияет на верстку соседних вкладок. Изначально смотрели на это:
                                              <img class="pic" src="7.jpg"
                                              alt="Федор Бондарчук о фильме "Притяжение""
                                              title="Федор Бондарчук о фильме "Притяжение"">
                                              Там весь маяк в бонадчуках, причем с левыми кавычками. Но тесты показали, что если сделать верстку с левыми кавычками (и даже бондарчков навставлять), то с версткой соседней вкладки все в порядке. Искореженный img не является проблемой.
                                              Отличная мысль про скрипты. За пару дней расковыряем проблему уже точно.
                                                0
                                                Ждем итогов!
                                          0

                                          В продолжение топика можно продолжить !!


                                          Потом позванил заказчик и сказал мы разобрались в проблеме, А что была за проблема, Мы просто поставили CHROME ))

                                            0
                                            Есть мнение что это не баг, а фича. FF при большом количестве открытых вкладок начинает экономить память, например слетают кастомные шрифты. Вероятно ресайз изображений то же на каком-то этапе отключается.
                                              0
                                              Про оптимизации подумали в первую/вторую очередь почти сразу же. Вытащили имеющиеся 8 гб оперативы 2x4 и воткнули 2 гига (почти минимальный почти стандарт сейчас). Запустили на двух гигах все что можно, кучу браузеров/виртуалку/более-менее тяжелый гейм и т.д., все что можно, лишь бы скопытить кампутер. Кампутер жоско подвисал, не скопытился, но таки в файерфоксе при открытом гугле не выдавал багов верстки, но стоило загрузить яндекс — баги появились. Тест на забитую до отказа оперативку сделан, на полностью загруженный процессор тоже, все ядра 100%. Была еще такая мысль, что как-то влияет разгон проца. Мозилла ловит разгон и сбрасывает работу рендера в скажем так легкую версию, но это не подтвердилось, т.к. на одном кампутере идея сработала, т.е. как только шел разгон — верстка слетала, кампутер на i5 3570k. На другом разгон шел тоже штатно, но верстку не расколбасило. Там тоже какой-то i5, насколько я помню что-то слегка посвежее, следующего поколения, т.е. 4670, но без k.
                                                0
                                                Тут необходимо добавить, конечно же, если вы будете тестировать таким образом обрезая оперативу, не забудьте в биосе отключить ремап, иначе будут проблемы со свопящимся ПО, как то виртуалки, фотошоп и т.д. По умолчанию в новых матерях (скажем так, то что i5+ я условно считаю новым) пункт биоса ремап включен, т.е. рассчитан на 4+ гб. Отключите этот пункт, если у вас менее 4 гб. Не отключите — все падает, естественно. Касается Win7 32/64. На остальных Win не тестировалось.
                                              0
                                              Спасибо за тему!!!!
                                                0
                                                Что-то никак не удается повторить. Опишите плз точную последовательность действий.

                                                И как вы получили то, что у вас на скрине? Куда делись указанные в разметке input[type=radio]?
                                                  0
                                                  Раскомментируйте то что закомментировано (css). То что не удается повторить — это и есть баг. Если бы всем удалось повторить — это была бы ошибка. Четко установленная ошибка. Но т.к. не всем удается повторить подобное — это и классифицировано как баг. У кого-то вылазит, у кого-то нет. Почему вылазит — не известно.
                                                  0
                                                  Я так и не понял какое отношение имеет количество вкладок к отображени содержимого сайта? как баг исправен был?

                                                  очень смущает запись max-width: 450px:
                                                  то что вы задали максимальную ширину в 450 не означает что блоку( картинке) нельзя быть 450 при ширине окна в 320

                                                  я бы написал
                                                  max-width: 100%;
                                                  width: 450px;

                                                  и думаю никакого бага бы не было.
                                                    0
                                                    Проверено, не работает. Стандартное решение враппер div, в нем img.
                                                    На div вешается max-width=XXXpx, на img вешается width=100%.
                                                    Ваше решение просто не выдает того что нужно. Точнее, оно что-то выдает, но это не то.
                                                    При этом, стандартное решение работает вообще везде где только можно.
                                                    Не работает, если в соседней вкладке болтается яндекс :) И то, только в файерфоксе. И то не у всех. Далеко не у всех.
                                                      0
                                                      Мне сложно даже представить как вы пришли к выводу что виной вкладка с яндексом… это звучит простите но просто фантастически бредово, если вкладки чужих сайтов так влияли бы на отображение сайта, то это был бы самый распространённый баг в мире. Проблема явно в css, label как и картинка не являются блочными элементами и запросто могут выходить за пределы области если им строго не указать что так делать нельзя… в эту сторону и нужно копать…
                                                    0
                                                    <meta name="viewport" content="width=device-width, initial-scale=1">

                                                    На всякий случай добавьте

                                                      0
                                                      Разумеется, оригинал сверстан с метами вьюпортов. Ничего не дает.
                                                      Обратите внимание на сайт маяка, который колбасит, там есть куча мет, среди которых, разумеется есть
                                                      <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
                                                      
                                                      0
                                                      А банально добавить display: block для изображений?
                                                        0
                                                        Проблема решена, тест-кейс и баг-репорт будут подготовлены в течении пары дней. Времени нет быстро подготовить все необходимое.

                                                        Only users with full accounts can post comments. Log in, please.