Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: Часть 1  |  Часть 2  |  Часть 3


Официальный сайт | Страница проекта на SourceForge.net

Примечания: | Справка: | О программе:
LZMA SDK | История версий | Страница загрузки
На 7-Zip.org доступны сборки для всех поддерживаемых ОС, исходные коды,
а также пакет 7-Zip Extra (автономная консольная версия, библиотеки и плагин для FAR)
 
Тема Сборки и украшательства архиватора 7-Zip

Загрузить:

Последняя стабильная версия: 25.01 (03.08.2025) | Download 7-Zip 25.01 (03.08.2025)
 
Setup: Windows: x86 (SFX | MSI), x86-64 (SFX | MSI), ARM SFX, ARM64 SFX, Console: Linux: x86 | x86-64 | arm | arm64, macOS arm64/x86-64, Extra (x86/x64), LZMA SDK, Source (.7z | .tar.xz)
 
Последняя beta-версия: 24.04 (05.04.2024), для Linux/MacOs 05.05.2024 выложена v24.04 beta
Windows: (AMD64, SFX , x86, SFX , Arm64, SFX) | Linux: (AMD64, tar.xz , x86, tar.xz , Arm64, tar.xz , ARM, tar.xz) | MacOS X: (Arm64 and AMD64, tar.xz) | 7-Zip Extra: (7z. x86 + AMD64, DLL, standalone console, ANSI Far plug-in)
 
Последняя alpha-версия: 21.02 (06.05.2021)
x86 (7-Zip SFX) | x64 (7-Zip SFX)
 
Расшифровка обозначения аппаратных платформ к таблицам:
IA32 Win32 для x86/х86-64 и совместимых по набору машинных команд процессоров от i386 и новее    
AMD64 Win64 для AMD64/Intel EMT64 х64-86 совместимые процессоры от AMD K8 и новее    
IA64 Win64 для Intel Itanium/Itanium 2    
ARM Win32 для DEC StrongARM SA-110/Intel XScale совместимые процессоры    
Arm64 64-х битные RISC процессоры с архитектурой ARMv8-A и совместимые с ними

Achtung!
Некоторые провайдеры блокируют официальный сайт. Заходить туда можно через ТОР/прокси или скачивать файлы со страницы проекта на SourceForge.net
Скачивать с посторонних ресурсов, типа различных файлопомоек не рекомендуется, можно легко нарваться на различную заразу.

Примечание:
Alpha и Beta-версии 7-Zip зачастую являются развитием "стабильных" версий с улучшениями и исправлениями багов.
Ссылки на альфы ищем в разделе Open Discussion форума проекта 7-Zip, там же можно получить и консультацию от разработчика.


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. Vista+. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • Ultra7z Archive Optimizer 1.09 Ахтунг! при конвертации пропадают файлы - Проверяйте количество файлов в созданном архиве! Работайте с копиями.
  • Ultra7z Optimizer 0.12  
  • m7zRepacker 1.0.32.301 (версия 7-zip 9.20 включена)
  • Плагин MutiArc для Total Commander с поддержкой 7z
  • Отдельный 7z-плагин для Total Commander
  • Ещё один новый 7z-плагин для Total Commander - Total7zip
  • Иные программы, поддерживающие архивацию в формате 7z
    Дополнительные бесплатные утилиты:

  • 7z SFX Tools - модифицированные SFX модули 1.7.0.3900, Архив версий и 7ZSplit.exe
  • 7z SFX Constructor - программа для сжатия файлов\папок в один *.exe
  • Графическая оболочка для 7z SFX Tools (версия 0.6.0.1, 342 КБ, 01.05.2007)
  • Кнопка для создания и работы с SFX-архивами 7z в Total Commander (Архив версий) (автор: GORA2)
  • Универсальный загрузчик для многотомных 7z SFX архивов. Описание (автор: GORA2)
  • 7-Zip Parameter Generator - генератор параметров командной строки для особых настроек сжатия

    Часто задаваемые вопросы:

  • Почему для использования 2+ ГБ памяти желательно установить 64-битную версию Windоws?
  • Как добавить к имени архива текущие дату и время?
  • Если забыли пароль к архиву, cRARk for 7-Zip purpose, 7z Cracker, Parallel Password Recovery (7-zip module), Hashcat, Daossoft ZIP Password Rescuer
  • А почему вообще в последних версиях убрана поддержка NSIS?
  • Как помещать каждый файл/папку в отдельный архив? (Put each file to separate archive)

  • Всего записей: 39673 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: Victor_VG, 20:45 03-08-2025
    lvqcl

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    либо трудозатраты на тестирование выше возможного профита.

     
    А трудозатраты на написание кода? Подозреваю, что код распаковки может быть рассчитан на выделение памяти под словарь одним куском. В таком случае нужно будет писать отдельную версию кода распаковки, которая умеет работать со словарем, разбитым на несколько кусков. И только для поддержки нишевого случая - 2ГБ словарь и 32-бит распаковщик.

    Всего записей: 1315 | Зарегистр. 03-02-2007 | Отправлено: 21:04 02-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lvqcl
    И написания, и тестирования...
     
    Добавлено:
    Benchmark
    Скорость+эффективность зачастую стоит в противоположном углу от работы на ископаемом железе. Очень трудно усидеть на двух стульях сразу.
     
    Добавлено:
    lelik007
    Там ещё нужно проверять - это ли искусственное ограничение "во имя древних дров", или же просто логический предел возможностей (или целесообразности) самого алгоритма.
    Настолько большие словари - это уже речь не только (и не столько) про эффективность самого алгоритма сжатия, сколько про возможности найти похожее на намного больших расстояниях. Примерно как с архивом образов установки Windows, например, схожих версий или редакций но на разных языках. Сами по себе образы (по отдельности) практически не жмутся, но будучи уложенными в единый архив с достаточным словарём способны ужаться до размера одного из них, плюс небольшой разницы между ними. И это будет сопоставимо меньше, чем если бы пытались жать с недостаточным словарём.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 21:11 02-03-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Benchmark

    Цитата:
    Либо цель у них совсем другая - максимальная скорость или эффективность в плане скорость/сжатие, переносимость с прицелом на работу на более слабом железе и т.д.

    Такая цель у них тоже стоит, железо, конечно не класса x86 предполагается, но и супер-топ не нужен. Попробую объяснить, у ZSTD как минимум 3 разработчика, сколько их всего, я не знаю. У каждого своя специализация (квалификация) и каждый с учетом своего применения что то делает. Янн Колле - бывший французский телекоммуникационный инженер, Ник Террелл - специалист по сжатию данных в ЦОД, 3-й точно специалист по БД (забыл как зовут), но конечная программа должна работать с учетом этих направлений.
     
    insorg
    В Facebook ZSTD - это архиватор реального времени для высокоскоростных каналов связи.
    О чем Янн Колле и пишет, что они не собираются пока словарь увеличивать.
    https://github.com/facebook/zstd/issues/2730#issuecomment-2684097849

    Цитата:
    We don't have the bandwidth for this effort now.

    Нет у нас, говорит, такой пропускной способности, чтобы словарь увеличивать. Пакетная база Linux сжимается ZSTD - это бывает, т.е. внутри одного образа, а насчет много образов не слыхал, чтобы какая то компания так делала.
     
    В разработку чего то серьезного для x86 сейчас можно вкладываться только имея крупный корпоративный заказ, а они сами себе корпорация и заказа такого у них нет.

    Всего записей: 3406 | Зарегистр. 13-10-2006 | Отправлено: 21:35 02-03-2025 | Исправлено: lelik007, 23:50 02-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007
    Для zstd большие словари и бесполезны в общем-то будут. Оно само по себе слабо жмёт.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 22:36 02-03-2025
    Benchmark



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    Скорость+эффективность зачастую стоит в противоположном углу от работы на ископаемом железе

    Речь не про ископаемое.  
     
    Есть огромное количество различного промышленного, медицинского, телекоммуникационного и прочего железа, которое ощутимо "послабже" последних поколений x86 или Мака, но где тоже выполняется компрессия "на лету". И на нём нужно жать быстро при разумном расходе памяти, пусть даже ценой уровня сжатия.
     
    Добавлено:
    lelik007

    Цитата:
    Такая цель у них тоже стоит, железо, конечно не класса x86 предполагается, но и супер-топ не нужен. Попробую объяснить, у ZSTD как минимум 3 разработчика, сколько их всего, я не знаю. У каждого своя специализация (квалификация) и каждый с учетом своего применения что то делает. Янн Колле - бывший французский телекоммуникационный инженер, Ник Террелл - специалист по сжатию данных в ЦОД, 3-й точно специалист по БД (забыл как зовут), но конечная программа должна работать с учетом этих направлений.

     

    Цитата:
    В Facebook ZSTD - это архиватор реального времени для высокоскоростных каналов связи.
    О чем Янн Колле и пишет, что они не собираются пока словарь увеличивать.
    https://github.com/facebook/zstd/issues/2730#issuecomment-2684097849

     
    О том и речь.

    Всего записей: 7000 | Зарегистр. 01-10-2002 | Отправлено: 01:28 03-03-2025
    vasevase

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    lvqcl: А трудозатраты на написание кода?

    Вы это серьёзно, или как?
    Тут вам не расчёты полёта ракеты к Луне, это раз.
    Программы пишут не ламеры-джуниоры, а именитые авторы.
    Они в своём коде - как "рыба в воде". Это два.
    Свистелки-перделки, что предлагают и, порой, реализовывают,
    типа "чорной схемы" - на них трудозатраты находятся. Это три.
     
    Резюме: если задача стоит под надуманным предлогом
    "съехать с темы", то повод найти можно без проблем.
    Другое дело, что другим скармливать это, подразумевая,
    что "на том конце" - лопухи сидят и ничего не понимают...

    Цитата:
    insorg: И написания, и тестирования

    Как будто этим не юзеры занимаются (подчёркнутое).
    Кстати, в доказательство: куча тем в «Программах»,
    где либо напрямую юзеров просят о тестах, либо выкладывают
    нерабочее [SuperMium], а потом, на "ишшусях" допиливают.
    7zip тут не исключение (я не в негатив. коннотации, если что).

    Всего записей: 3670 | Зарегистр. 28-08-2010 | Отправлено: 07:10 03-03-2025 | Исправлено: vasevase, 07:18 03-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vasevase

    Цитата:
     Как будто этим не юзеры занимаются (подчёркнутое).  

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

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 16:23 03-03-2025
    lvqcl

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vasevase

    Цитата:
    Вы это серьёзно, или как?  
    Тут вам не расчёты полёта ракеты к Луне, это раз.
    Программы пишут не ламеры-джуниоры, а именитые авторы.
    Они в своём коде - как "рыба в воде". Это два.

     
    То, что вы ни одной строчки кода не написали - это и так ясно, но вы вообще хоть чем-то сложным в своей жизни занимались?

    Всего записей: 1315 | Зарегистр. 03-02-2007 | Отправлено: 19:14 03-03-2025
    Benchmark



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    Всякому железу свой инструмент. Если хороший компрессор ему не по зубам, то это нужно не его портить, а брать такой, который на имеющемся железе работает.

    Вот авторы ZSTD спецом и делают "такой, который на имеющемся железе работает". Он никогда и не предполагался в качестве суперкомпрессора.

    Всего записей: 7000 | Зарегистр. 01-10-2002 | Отправлено: 22:08 03-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Benchmark
    Я в курсе, что он - всего лишь замена "устаревшим" gzip bzip и deflate.
    Хотя, вон даже тут полно адептов секты свидетелей zstd, активно желающих видеть его в 7zip и zip архивах вопреки здравому смыслу и даже официальным спекам.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 16:47 04-03-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    даже официальным спекам.

    Каким таким спекам?
     
    В zip ZSTD согласно официальным спекам:
    https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

    Цитата:
    20 - deprecated (use method 93 for zstd)
    93 - Zstandard (zstd) Compression  

     
    В 7-Zip из официальной документации:
    ZSTD - 4F71101 (написано, почему такое ID метода ниже)
    https://github.com/ip7z/7zip/blob/main/DOC/Methods.txt#L134
    Да, пока что Игорь не добавил свою реализацию декодера ZSTD для контейнера .7z, это его право, как разработчика решать, что и когда лучше.
     
    Любым другим разработчикам, например, которые там же упоминаются: Tino Reichard, Denis Anisimov - он такую возможность предоставил, самим наличием 7-Zip с открытым форматом и кодом,
    но тут такое дело...

    Цитата:
    адептов секты свидетелей zstd

    Эта парочка выше, которые по-английски, это главсектанты и есть, их даже Facebook таковыми считает.
    http://facebook.github.io/zstd/

    Цитата:
     
    Tino Reichardt has created a version of 7-zip archive manager with Zstandard.
    Denis Anisimov, of TC4shell fame, also developed a 7-zip plugin with Zstandard support.
     

    Видишь где угнездовались, в сам то логове.

    Всего записей: 3406 | Зарегистр. 13-10-2006 | Отправлено: 18:21 04-03-2025 | Исправлено: lelik007, 19:31 04-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007
    Тем самым, по которым 99% имеющегося софта ничего знать не знает о подобном иврате, который суют адепты этого самого изврата куда не надо было.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 18:48 04-03-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    адепты

    Так адепты, если.
    ---
    По сути, у каждого из вариантов есть свои сильные и слабые стороны.
     
    Вариант 1. ZSTD в чистом виде.
    Достоинства:
    - возможность кастомизации всех настроек доступных пользователю.
    - большее количество ПО может распаковать.
    Недостатки или особенности:
    - более 1 файла нужно обязательно упаковывать в .tar архив, что пользователям Windows не привычно
    - не сохранение имени файла
    - официальное исполнение только CLI, что опять же пользователям Windows не привычно
    - отсутствие фильтров
    - отсутствие встроенной функции шифрования, скорее всего предполагается использовать что то вроде GPG в симметричном режиме с паролем
     
    Вариант 2. ZSTD в контейнере .7z.
    Достоинства:
    - знакомый контейнер
    - более 1 файла не нужно обязательно упаковывать в .tar архив
    - сохранение имен файлов
    - можно использовать в GUI
    - возможность применения высокоэффективных фильтров 7-Zip
    - наличие шифрования контейнера 7-Zip
    Недостатки или особенности:
    - невозможность кастомизации всех настроек упаковки доступных пользователю, потому что:

    Цитата:
    7-Zip plugin API has a limited number of parameters that can be passed to the codec.

    Нет доступа к таким важным настройкам как clog, hlog, slog , они используются заданные по-умолчанию уровнем сжатия
    - меньшее количество ПО может распаковать.
     
    А пользователи пусть выбирают, что им ближе.

    Всего записей: 3406 | Зарегистр. 13-10-2006 | Отправлено: 19:59 04-03-2025 | Исправлено: lelik007, 12:51 06-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007

    Цитата:
    ZSTD в чистом виде

    К чистому вопросов нет. Как и "недостатков" в виде .tar.zst просто потому оно - всего лишь аналог и замена для bzip и gzip, которые тоже ничего о "двух файлах в архиве" знать не знают.

    Цитата:
    ZSTD в контейнере .7z.
    Достоинства:
    - знакомый контейнер  

    Это не достоинство, а обман. Помимо того, что оригинальный архиватор такого НЕ ДОПУСКАЕТ, так ещё и сжатие получаем в разы хуже?

    Цитата:
    - сохранение имен файлов  

    Про .tar забыл, да? А меж тем .tar.zst - это вполне по спекам и как это было задумано разработчиками.

    Цитата:
    - возможность применения высокоэффективных фильтров 7-Zip  

    Эффективным фильтрам и алгоритм надо давать хороший. А не "вот такое".
    Увы, но мимо.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 20:31 04-03-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg

    Цитата:
    Про .tar забыл, да?

    А как называется архив .tar, если там, вообще, и архив и .tar?

    Цитата:
    так ещё и сжатие получаем в разы хуже?

    В разы вряд ли, но максимальное и кастомное доступно не полностью.

    Цитата:
    Эффективным фильтрам и алгоритм надо давать хороший. А не "вот такое".  

    Это типа BZip2, один из методов в официальном дистрибутиве для контейнера .7z, однако, архивов .7z с ним припомнить не могу.

    Всего записей: 3406 | Зарегистр. 13-10-2006 | Отправлено: 20:49 04-03-2025 | Исправлено: lelik007, 17:18 06-03-2025
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    максимальное, да не доступно и кастомное тоже

    Modern7z позволяет задавать почти все параметры настройки оригинального zstd, так что простор довольно приличный остаётся. Ну и напомню, что контейнер 7z создаёт не только 7-Zip. Чисто теоретически, можно взять "родной" zstd, а результат упаковки внедрить в 7z-контейнер. У меня, например, есть архив, в котором уживаются LZMA, PPMD и Delta+Rar5 (кстати, почему-то применение дельта-сжатия Rar поверх Delta-фильтра 7-Zip улучшило сжатие).
     
    А ещё было бы неплохо научить 7-Zip менять контейнер при использовании ключа -u!new_archive_name. Ну очень полезная была бы в некоторых сценариях функция.

    Всего записей: 1155 | Зарегистр. 12-06-2019 | Отправлено: 22:40 04-03-2025
    HA3APET

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Есть официальные sfx с русским языком?

    Всего записей: 333 | Зарегистр. 28-01-2009 | Отправлено: 23:08 04-03-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell

    Цитата:
     
    Modern7z позволяет задавать почти все параметры настройки оригинального zstd, так что простор довольно приличный остаётся.
     

    Каким синтаксисом писать, можно пример командной строки?
    Вообще, параметры упаковки -m0=ZSTD -mx=22 они такие:
    --zstd=wlog=27,clog=27,hlog=25,slog=9,mml=3,tlen=999,strat=9
    из них я знаю, как получить доступ только к wlog (который словарь): -md=2g
    А это максимальное, что может быть, вообще:
    --zstd=wlog=31,clog=30,hlog=30,slog=30,mml=3,tlen=131072,strat=9
    Как увеличить другие значения, кроме словаря, я не знаю.

    Всего записей: 3406 | Зарегистр. 13-10-2006 | Отправлено: 23:17 04-03-2025 | Исправлено: lelik007, 16:27 06-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007

    Цитата:
    однако, архивов .7z с ним припомнить не могу

    Ну так это может потому что оно нафиг не нужно? Не думал об этом?
    Для всех этих bzip/gzip/zstd есть свои тарболы, свои упаковщики, свои костыли из своего мира, где нет понятий "архива" как контейнера, где нет "более одного" файла в "архиве", где правят бал голые потоки.
    В реальной жизни и в реальных архивах подобное просто не нужно.
     
    Добавлено:
    HA3APET
    Когда-то были 7zSD.sfx всякого вида, в том числе и русские. Но это было давно.

    Всего записей: 20048 | Зарегистр. 04-11-2010 | Отправлено: 23:45 04-03-2025
    HA3APET

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Я правильно понял, что sfx модули 7z.sfx и 7zCon.sfx не поддерживают файл конфигурации config.txt?

    Всего записей: 333 | Зарегистр. 28-01-2009 | Отправлено: 02:48 05-03-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

    Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru