Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как подсойденить и управлять такими lcd?

Лучший ответ:
1. Могут отличаться.
2. Возможны оба варианта. Смотря по тому, какой интерфейс использует контроллер дисплея (далее), какие интерфейсы и выводы GPIO Raspberry свободны и/или допускают разделение в другими компонентами разрабатываемой схемы.
3. Надо идти от марки дисплея к марке контроллера, установленного в них. От марки контроллера и/или дисплея - к типовой схеме подключения. И от марки контроллера - к поиску готового программного драйвера для Raspberry или написанию своего. Как-то так.

Худший ответ:
По названию дисплея ищешь даташит на дисплей и берёшь оттуда схему подключения и протокол обмена данными.
По даташиту будет ясно нужен отдельный контроллер или можно напрямую подключить. Там же в даташите изучаешь протокол обмена данными и пишешь свой код вывода изображения, если повезёт то он будет более менее типовой и в гугле уже будут примеры.

Сразу хочу сказать что вероятность найти даташит на какой-то неизвестный дисплей крайне мала.
Гарантированно заведётся с малиной если купить такой дисплей с контроллером в комплекте
Чисто для примера, дисплей с контроллером который можно воткнуть напрямую в hdmi https://aliexpress.ru/i/1005001658631882.html
Вопрос: Колледж или 11 для программиста?

Лучший ответ:
Что вам мешает доучиться до 11, потом поступить заочно в какой-нибудь заштатный ВУЗ, спокойно учиться 4 года и в это же время получать опыт на профильной работе, пока однокурсники изучают Паскаль и сортировку массивов сидя на лекции.
Вы слишком переоцениваете высшее образование для программиста в целом(по факту оно вам нужно будет, если вы планируете прыгнуть на хорошую должность в какую нибудь интерпрайз контору или на руководящую должность). 
Убейте двух зайцев - получите вышку, и к ней 4 года работы по профилю = PROFIT. У вас есть 2 года, что бы выучится до джуна нужного вам стека программирования(что бы после окончания 11 класса и поступления на заочку - показать потенциальному работодателю свои скилы и "портфолио" из пет проектов), и не завалить ЕГЭ(хотя если вы будете поступать заочно - баллы вам будут толком не нужны).

Худший ответ:
Добрый день!
Сначала скажу прямо - ты молодец, если уже сейчас думаешь о своём образовании.
О себе - мне 36, я окончил 11 класов, ВУЗ (я учитель), сейчас поменял специализацию и учу детей информатике.
Для начала - выучи программу 8 и 9 класса. Возьми учебники 8-9 класса и тупо их проштудируй. Там идут системы счислений, логика, алгоритмы, и да, Паскаль. В котором, кстати, нет ничего плохого. Это послужит крепкой базой. Я, в своё время, не выучил это и теперь часто страдаю говнокодерством (даже сейчас!)
Одновременно успокой родителей. Они волнуются за тебя, ибо раньше (лет 30 назад), после 9 класса уходили тупые лохи. Они просто не хотят, чтобы их сына считали тупым лохом. В колледже ты также будешь изучать и историю, и русский язык, и даже философию (серьёзно!).
Напоследок - в общем, можно и  в 10-11 класс. Там даётся ОЧЕНЬ хорошая программа по информатике. Например, как раз сейчас, я объясняю ученику про обход бинарного дерева (binary tree traversal). Став программистом, тебе всё равно придётся учить всё это. Иначе тебя ждёт судьба тысяч выпускников говношкол кодинга.
Вопрос: Почему при проверке безопасности Google Chrome пишет, что пароль от 192.168.1.1 раскрыт при утечке и не получается его поменять?

Лучший ответ:
Я так понимаю, что Ваш пароль (наверное не сильно сложный?) или комбинация admin/пароль встречалась в каких-то известных базах утекших паролей. Вот вдруг будут вас ломать перебором по такой базе - сломают. Он и предлагает его поменять. Это не значит, что обнаружено проникновение на Ваш компьютер.

Худший ответ:
Здравствуйте, у меня точно такая же дилемма возникла и такой же IP, но не могу понять от чего именно пароль. Самые важные пароли изменил и от роутера тоже, но всё равно в гугл аккаунте можно найти эту проблему Вы разобрались с этой проблемой?
Вопрос: Почему сбивается время?

Лучший ответ:
В домене не нужна GPO для синхронизации времени, о чём и написано по вашей ссылке. Уберите GPO и настройте сервер.

Худший ответ:
В AD все придумано и не нужно никаких дополнительных политик.
PDC корневого домена\леса должен синхронизироваться с источником, а все остальное автоматом по цепочке доберется до рабочих станций.
Вопрос: Актуальные версии Java?

Лучший ответ:
Здесь, здесь, здесь, здесь или здесь.

Худший ответ:
Добавлю только, что легко ставить и менять версии java можно с помощью sdkman
Вопрос: Как скрыть IP адрес при отправке почты?

Лучший ответ:
Если посмотреть на заголовки Received: типичного письма, например, с гугла.
Received: from mail-ua1-f41.google.com (mail-ua1-f41.google.com [209.85.222.41])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by xxx.xxx.ru (Postfix) with ESMTPS id 537297EC5E
	for <xxx@xxx.ru>; Fri, 15 May 2020 11:58:38 +0300 (MSK)
Received: by mail-ua1-f41.google.com with SMTP id c17so510696uaq.13
        for <xxx@xxx.ru>; Fri, 15 May 2020 01:58:38 -0700 (PDT)
То можно увидеть, что IP адреса отправителя там нет. то есть корректным ответом на ваш вопрос будет "пользуйтесь адресом на гугле"  :)

Можно, конечно, вырезать заголовки Received, но ещё есть всякие заголовки от DKIM и SPF, без которых в наше время корректная доставка не всегда возможна. А ip адреса там могут фигурировать. И заголовки эти добавляет принимающая сторона,  а не отправляющая. То есть вырезать их вы не можете, так что совет "забить" имеет право на жизнь

Худший ответ:
1. Если вы хотите чтобы ваша почта отправлялась - IP адрес почтового сервера с которого почта уходит (а от соединения IP вашего сервера - IP таргета вы никуда не уйдете) должен иметь достаточно много завязок в публичном DNS и известен антиспам-системам как IP  с хорошей репутацией. Дмитрий об этом упомянул.
Заголовок тут дело 10-е
2. Скрыть "ваш" (точнее тот, который вам предоставил ваш провайдер) IP в заголовках в принципе можно - находите или настраивайте relay который будет резать заголовок и шлите вашу почту только через него. Однако тут возвращаемся к пункту 1 - теперь целевой стороне (да и всему интернету) хотите вы или нет, известен адрес этого relay и при желании его можно легко с вами ассоциировать.
3. Можно использовать веб почту без локального клиента на каком-нибудь уже раскрученном почтовике, но как вы сами понимаете, теперь почтовик знает ваш IP. 
Если для вас и это недопустимо - договаривайтесь чтобы он его удалял =;D но даже не представляю сколько это может для вас стоить и будут ли реально выполнены договоренности. Наибольшую анонимность здесь можно достичь, регистрируя каждый раз новый email с нового IP адреса(и чистого браузера :D ) . Пользуетесь постоянным email адресом - в конце концов соберется статистика с каких адресов вы на него заходите.
Резюмируя: 
Используя почтовый клиент вы засветите или свой IP адрес или IP адрес сервера пересылки, который будет ассоциирован с вами. Используя для работы с почтой только браузер - вы засветите ваш IP адрес провайдеру почтового сервиса, в заголовках будут фигурировать его адреса. Используя для анонимизации различные публичные прокси или тор - вас будут блокировать те самые сервера к которым вы хотите подключиться, репутация что у первых что у второго в антиспам системах не ок.
Вопрос: Какие основы нужны для взлома?

Лучший ответ:
то что необходимо знать начинающему хакеру

Худший ответ:
Форумы и только форумы: античат, эксплоит и другие. Читайте статьи и пробуйте. Не получается - задавайте вопросы на форумах.
Вам нужно понять как работают такие вещи, как:SQL-injectionPHP-injectionXSSCSRFLFIRFIЭксплойты (поиск и эксплуатация)Научится работать со сканерами (особенно Metasploit)
Как научитесь находить и раскручивать вышеупомянутые, как самые популярные, виды атак, можете заявить, что что-то знаете. В процессе познакомитесь с кучей других видов уязвимостей, их разнообразием.
Вопрос: Выскакивает ошибка, что делать?

Лучший ответ:
Не в интернете искать надо, а в учебнике. В любом из них написано про отступы, блоки и области видимости переменных.

Худший ответ:
Нужно определить переменную "message", о чём у вас собсна и говорит ошибка
Вопрос: Где найти программу активности пользователя онлайн, без доступа к списку его задач, монитору и прочее?

Лучший ответ:
Поставьте корпоративный XMPP-чат и пусть юзеры поставят любые клиенты.
На серве сразу будет всё видно и статус юзер может сам поменять в любое время.

Худший ответ:
Именно такая программа никому нафиг не нужна. Потому что принцип построения СМП (Систем Мониторинга Пользвателей - именно так такие программы называются) - он всегда один: есть агент, устанавливаемый на компе юзера и стучащий на сервер, есть сервер, собирающий инфу и есть консоль наблюдения, которая к серверу цепляется и собственно мониторит (в более простых системах, сервер и консоль одно и то же).
Это все нужно разработать. А агента нужно сделать еще так, чтобы его нельзя было обнаружить и удалить и чтобы каспер не завизжал голосом анально насилуемой свиньи :)
Поэтому, если уж берутся - то берутся и делают.
Вопрос: Где хранить кастомные поля с инфой о компьютере в реестре для дальнейшего удалённого аудита?

Лучший ответ:
Если речь идет об инвентаризации:
Почему это решение никуда не годится по сравнению с QR кодами на боку системников:
1) Компьютер на момент проверки может быть выключен или быть поломан. Инвентаризация проверяет факт наличия оборудования, а не его исправность
2) В процессе ТО железо может переехать в другой корпус. Нужна специальная процедура по перезаписи метки.
3) Что при инвентаризации делать со всем, что не является системником - принтеры, мониторы, ИБП? Для них заводить отдельный учет?

Если речь идет об идентификации машин в сети:
В AD у машин уже есть такой идентификатор - это банальное ИМЯ компьютера.

Худший ответ:
Не понятна суть вопроса.
Спрашиваете где хранить информацию, и тут же отвечаете что хранить нужно в реестре.
В чем вопрос?

Полагаю, есть какой-то стандартный ключ с комментариемЧто такое стандартный ключ?
Реестр это база данных. Создаете запись, устанавливаете ее тип и пишите в нее значения.
Вопрос: Надо ли в День системного администратора поздравлять DevOps'ов?

Лучший ответ:
Это когда надо камплюхтер починить или картридж поменять - мы не сисадмины. А если поздравить - то пожалуйста.

Худший ответ:
Нет не надо. Мало того, что десятилетиями терпим унижения от "ты ж программист-почини утюг", так теперь еще и профессию под это придумали :-)
Вопрос: Какую литературу по C++ можете рекомендовать?

Лучший ответ:
Совсем недавно заинтересовался программированием, что можете посоветовать новичку для изучения C++
Ничего. Один из худших выборов для первого ЯП.

Худший ответ:
Чем вас не устраивает rfc и Карнеги Ричи?
Вопрос: Робот на ардуино не едет назад. Как исправить?

Лучший ответ:
У вас по нажатию кнопок в верх и вниз задается одно и тоже направление вращения

if(ps2x.Button(PSB_PAD_UP)) {
  // ***
  // устанавливаем направление мотора «M1» в одну сторону
  digitalWrite(DIR_1, LOW);  // <<<<<
  // ***
}

if(ps2x.Button(PSB_PAD_RIGHT)){...}
if(ps2x.Button(PSB_PAD_LEFT)){...}

if(ps2x.Button(PSB_PAD_DOWN)){
  // ***
  // устанавливаем направление мотора «M1» в другую сторону
  digitalWrite(DIR_1, LOW); // <<<<< 
  // ***
}

Худший ответ:
Тяжко разглядывать неформатированный код (и часть первой строки потеряли). Комментарии про "ждём одну секунду" накиданы вообще от балды где надо и где не надо, только путают. Поэтому вижу как минимум одну явно лишнюю задержку - при обработке кнопки "назад" между включениями первого и второго моторов. 
Ну и надо описывать проблему точнее. "Не едет назад" - а что происходит, когда нажимаете кнопку "назад"?
И ещё. В коде есть вывод отладочной информации в последовательный порт. При нажатии кнопки "назад" соответствующее сообщение выводится?
Вопрос: Какая есть литература для изучения ASP.NET MVC?

Лучший ответ:
Вот это и вот это покрывают тему примерно на 98%. 

Актуальнее учить Core.

Худший ответ:
"В интернете смотрел, нашел немного информации"
Казалось, что книги уходят в пошлое, а оказывается в них куда больше информации чем в интернете и все описания новшеств сначала в книгах появляются.
Вопрос: Что делать, если вода попала в матрицу экрана макбука про 2015?

Лучший ответ:
Мыть что-либо листерином - так себе идея. Вашу проблему можно попробовать вылечить, включив полностью белый экран и оставить в покое. Или само высохнет. У меня похожая проблема была на Apple Cinema Display, а у товарища - на MBP. Высушили.

Худший ответ:
Включить и ждать пока высохнет, надеясь что с жидкостью не затекла грязь и не останутся следы.
Вопрос: Почему у меня не работает Python 3?

Лучший ответ:
Ты, кажется, неправильно пытаешься запустить его. Питон запускается командой python, а не python3. Если не получится, переустанови: возможно, проблемы с переменными среды. 
Попробуй сначала полностью удалить второй питон, и только потом устанавливай третий. Не забудь нажать галочку на путь при повторной установке (уже делал, но напомню ещё разок, ведь это ж типа гайд :) ). Также настоятельно прошу запомнить, куда устанавливаешь питон (лучше скопируй этот путь, он понадобится) .После установки проверь переменные среды.
spoilerКак найти эти "переменные":
1. ПКМ по папке компьютера ("Этот компьютер" или "Мой компьютер", смотря где смотришь)
2. В панельке слева открывшегося окна "Система" открываешь вкладку "Дополнительные переменные среды"
3. В появившемся окне во вкладке "Дополнительно" (по идее она и должна открыться) над кнопками "ОК", "Отмена" и "Применить" будет кнопка "Переменные среды..." 
4. Двойной щелчок по переменной Path.
Если там есть ссылки на второй питон, то удали их (хотя по идее уже быть не должно). Если в переменных не будет ссылок на третью версию, то их придется добавить вручную (Для этого тебе нужно знать, куда ты устанавливал питон, на что я очень просила обратить внимание выше). 
Если ты установил всё правильно, то двумя полями в Пути обязательно будут подобные строчки (у меня версия 3.6.х, но это не особо важно, так что не переживай, у тебя будет 3.8.х):
C:\Users\tau\AppData\Local\Programs\Python\Python36\Scripts\
C:\Users\tau\AppData\Local\Programs\Python\Python36\
Если подобных нет, то кладём ладошку на мышку и из закромов пк находим, куда устанавливали Пайтон, перейдя по скопированному пути при установке. 
В итоге ты должен найти эту папку и остановиться на ней:
spoiler
Скопируй путь выше (Этот компьютер >Локальный диск ....) и добавь в переменную среды Путь. Это будет первая ссылка. 
Теперь добавляем вторую:
Перейди из папки Python38 в папку Scripts и скопируй путь к ней (или просто припиши к предыдущему пути "Scripts\").
Через команду python в командной строке попытайся запустить питон теперь.  По идее должно получиться. :)

Худший ответ:
C питоном 3.X устанавливается Python Launcher (который py/pyw). Его еще можно настроить, чтобы по умолчанию запускался третий питон. Вот:

D:\Temp>py
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

D:\Temp>py -2
Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

D:\Temp>
Вопрос: Если ли годная статейка по разворачиванию CI/CD в Kubernetes через GITLAB?

Лучший ответ:
А ещё посмотрите доклады Flant - и воспользуйтесь их утилитой werf. Как раз для этого создана.

Худший ответ:
Auto DevOps же
Вопрос: Почему find: paths must precede expression?

Лучший ответ:
а то что в find уже есть вшитый алгоритм + дней - дней вас не смущает?
find. / -mtime +n  
find ./ -mtime -n
На крайняк  file ./ -mtime +n  -exec find -mtime -n file {} \;
Что конкретно пытаетесь сделать ?

Худший ответ:
Командную строку запускаете в Bash. 
В нем !  это запуск предыдущей команды, после чего на запуск отдается совсем не то, что  Вы набрали.  Необходимо маскировать ! .
find . -newermt $DATE1 \! -newermt $DATE2 -ls
Вопрос: Какой роутер выбрать для интернета от двух провайдеров?

Лучший ответ:
Делал так на D-Link серии DSR. Работает. 
Да, наверное можно на другом оборудовании, но я не отношусь к "свидетелям микротика".
Там 2 шт гигабитных WAN и несколько режимов балансировки трафика, в т.ч. "round robin" - он сам рандомно разбрасывает трафик по каналам. Однако нельзя указать скорости тарифа, и в случае перекоса - могут быть неувязочки.
Плюс надо понимать - на некоторых (немногих) сайтах - сессия привязывается через куки и IP одновременно. А IP в вашем случае - может скакать со временем (при паузе в трафике) между каналами, сессия будет вылетать.

Худший ответ:
Никак не объединить. Если вы про суммирование. В теории можно, но это целая история и вагон костылей.
Если поочередно, то вроде у Микротика есть с двумя WAN.
Вопрос: Пишет «inconsistent use of tabs and spaces in indentation», что ему не нравится??

Лучший ответ:
не понимаю почему он так пишет
Что там понимать
Возьмите и переведите фразу со словарем. Вам прямым текстом пишут что у вас в отступах табы перемешаны с пробелами

Худший ответ:
Нет, не надо полагаться на визуальное расположение текста в редакторе, он вполне может менять табы на 2/4/8/любое_другое_число пробелов в зависимости от настроек. Самое простое - стереть отступы в нужной части кода и сделать их снова, одинаковым образом для соответствующих строк.

PS: Где-то я видел этот код...
Вопрос: Где можно хранить бесконечный архив видеонаблюдения?

Лучший ответ:
Если у руководства - паранойя или шизофрения, то решение для именно таких условий - Ultrium LTO-8. Следующее после него - Blu-ray.

Худший ответ:
Если использовать RAID, то сумма получается просто космической. 
А вы что хотели? Хранение бесконечно большого объёма информации потребует бесконечно большого хранилища, которое в свою очередь стоит бесконечно большую сумму денег.
Вопрос: Как настроить sql запрос чтобы для него был важен регистр?

Лучший ответ:
SELECT * FROM user WHERE name='дима'
SELECT * FROM user WHERE binary name='дима'
И указывайте СУБД с которой работаете, ваш вопрос специфичен именно для MySQL.

Худший ответ:
Чтобы не писать в запросе binary как предложил Vitsliputsli, можно сделать binary Collation (например utf8_bin или utf8mb4_bin) для нужной колонки. И добавьте в вопрос информацию о БД, кодировке и т.д.
Вопрос: Лицензии Windows Server CAL по пользователям — это одновременные подключения?

Лучший ответ:
Лицензии не конкурентные. Если 10 пользователей, то 10 User CAL.

Худший ответ:
Если лицензирование "per user", то каждый пользователь должен быть обеспечен лицензией и не важно, одновременно все подключаются или по очереди. Поэтому чаще все же применяется вариант "per device" - на устройство.  Исключение составляют случаи, когда пользователей существенно меньше, чем лицензируемых устройств, например, офис где у каждого из сотрудников несколько компьютеров  (рабочий, домашний, ноутбук...).
Вопрос: Посoветуйте курс по парсингу на python?

Лучший ответ:
Советую полноценно изучить язык путём прочтения учебника. После этого не должно быть проблем ни с парсингом, ни с чем-либо другим.

Худший ответ:
Олег Молчанов
Вопрос: Как ограничить количество выполнений foreach php?

Лучший ответ:
считать итерации и как наберется 10, break;

Ещё можно вынуть нужный слой из массива - те 10 элементов, и вывести их через foreach() обычным образом.
$arr_to_display = array_slice($arr, 0, 10);
foreach ($arr_to_display AS $el) { 
    // ...
}

Худший ответ:
Ещё вариант сделать через while и next
Вопрос: Какой язык программирования выбрать для преподавания студентам 1го курса?

Лучший ответ:
Выберите Python, он как то проще, плюс датаскентисты его любят. 
Java все-же тяжелый энтерпрайз и мобильная разработка, С++ это вообще на любителя.

Худший ответ:
C# - это оптимальный выбор для студентов, ещё не определившихся с направлением своего развития: прост, везде востребован и не скриптовый. Позволит студентам быстро создавать свои графические и консольные утилиты. Также, при желании, они просто смогут перейти на Unity в будущем и разрабатывать 3D-проекты и игры.
А вот именно нейроаналитика - это уже проектирование и тестирование НС (математика/матан и Python).
Вопрос: Как получить XML по https?

Лучший ответ:
Попробуйте поменять порт на 443

Худший ответ:
Порт укажите 443 вместо 80
Вопрос: Proxmox на Hetzner, как настроить VPN c офисом?

Лучший ответ:
Дешевый вариант - VPN  с windows сервера внутри Proxmox на роутер в офисе. Есть проблема защиты самого proxmox - он то будет наружу смотреть.
Красивый вариант - отдельная виртуальная машина на базе linux\mikrotik, на которой и будет висеть публичный адрес сервера у Hetzner и которая будет пересылать пакеты внутрь виртуальной сети, принимать VPN из офиса или даже напрямую от удаленных пользователей, защищать ваши виртуальные машины и proxmox.

Худший ответ:
Поднять обычную OpenVPN сеть.
https://github.com/Nyr/openvpn-install
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Вопрос: Как запретить пользователям дважды отправлять форму?

Лучший ответ:
1) с помощью JavaScript после первой отправки можно сделать кнопку отправки disabled
2) можно саму форму убрать вообще, после перегрузки страницы
3) можно куку ставить после отправки, если она есть - значит обработчик на серваке получаемые данные с формы игнорит

Худший ответ:
В сессию timestamp последнего отправления, и при следующей отправке сравнивайте, не прошло ли N времени с момента последней отправки.
Вопрос: Почему оператор называется with?

Лучший ответ:
Вполне логичное название. Оператор with объявляет некоторый контекст, с которым работает код внутри блока оператора. Код практически дословно можно перевести:
with open('some.file') as f:
    for line in f:
        print(line)
с открыть('некоторый.файл') как f:
    для каждой строки в f:
        напечатать(строку)

Худший ответ:
Оператор with это просто синтаксический сахар.
Его удобно использовать при написании классов для работы с базами, файлами, а также какими либо сетевыми соединениями, где постоянно нужно выполнять ряд рутинных операций.

"Под капотом" with выполняются два магических метода: 
__enter__ при открытии контекста
__exit__ при выходе из контекста.

Соответственно чтобы ваш класс можно было использовать с конструкцией with, вам достаточно объявить эти два метода в своем классе и указать операции, которые будут каждый раз выполняться при "открытии" и "закрытии".

Хорошая статья по данной теме https://pavel-karateev.gitbook.io/intermediate-pyt...
Вопрос: При запуске C++ программы, какие типы переменных инициируются нулями?

Лучший ответ:
Я хочу иметь “шпаргалку” Имейте
а дакакие типы переменных инициируются нулями?
https://en.cppreference.com/w/cpp/language/default...

Худший ответ:
11. Инициализируй все переменные, не рассчитывая, что компьютер сделает это за тебя.
Тебе это ничего не стоит, а пренебрежение может стоить долгих часов отладки.
Например, для конвертирования строки в число wxWidgets имеет дивную функцию:wxString number(wxT("145"));
long value;
if(!number.ToLong(&value)) { /* error! */ }
Это пример из документации. Фокус в том, что если функция вернула ошибку - в value так и остается мусор, в отличие от стандартного atol, который таки считает нечисловое значение нулевым.
Вопрос: Как сверстать стрелочку?

Лучший ответ:
Можно так:
https://codepen.io/Natalia_ai_ivanova/pen/RwNEYVK

Худший ответ:
Применить SVG