# KLT 4.14 checked source/build package

KLT 4.14 сохраняет функции KLT 4.13 и добавляет универсальный импорт документов, архивов, демо/платный режим, авторизацию проверяющего, web drag-and-drop shell и мобильную оболочку Android/iOS на Flutter.

## Новое в 4.14

- Импорт TXT, DOC, DOCX, HTML, PDF, JPG, JPEG, PNG, TEX, ODT, EPUB и неизвестных текстовых расширений через fallback.
- Массовая загрузка директорий и архивов ZIP, RAR, 7Z, TAR/TGZ.
- OCR-адаптер для файлов сканера и камеры: JPG/JPEG/PNG/TIFF/BMP/WEBP. Для реального OCR нужен tesseract/pytesseract либо внешний OCR.
- Drag-and-drop web shell: `web/index.html`.
- Проверяющий вводит логин, пароль, ФИО, телефон, e-mail; профиль хранится локально в JSON с salted SHA-256 hash.
- Демо-режим: три бесплатные проверки без скачивания чек-листа; JSON-результат сохраняется, DOCX-экспорт блокируется.
- Платный режим: открывает DOCX-чек-листы, ведомость оценок и ZIP массовой выгрузки.
- Flutter-shell для Android/iOS с RU/EN/ZH интерфейсом, file picker, camera picker, демо-лимитом и заготовкой in-app purchase.
- Новый сайт и контакты: www.kurpishev.com, me@kurpishev.ru, tel +789128325861.

## Сохранено из 4.13

- Индивидуальный лямбда-чек-лист DOCX.
- Массовая проверка ZIP.
- Сравнение с идеальным ответом.
- ЕГЭ-совместимая 100-балльная нормировка.
- 5-балльная шкала с плюсами/минусами.
- Три строки замечаний проверяющего.
- Ведомость оценок DOCX с группировкой по учебным заведениям, классам и группам.
- Нормализация классов типа 7-б / 7б / 7 Б -> 7-Б.
- Отдельный лист подозрения на заимствование.

## Быстрый запуск

```bash
python -m klt414.app examples/works/ivanov_7b.txt --ideal examples/ideal_answer_ru.txt --paid --out report.docx --checker "Иванов И.И." --email teacher@example.ru
```

## Демо-режим

```bash
python -m klt414.app examples/works/ivanov_7b.txt --ideal examples/ideal_answer_ru.txt --demo --out demo.docx --register_login teacher --password 123 --full_name "Иванов И.И." --phone +70000000000 --user_email teacher@example.ru
```

В demo-режиме DOCX не выгружается, создается `*.demo_result.json`.

## Массовая проверка смешанного ZIP

```bash
python -m klt414.app --batch_archive examples/batch_inputs_mixed.zip --ideal examples/ideal_answer_ru.txt --paid --out_dir batch_output --checker "Иванов И.И." --email teacher@example.ru
```

## Сравнение двух текстов на подозрение заимствования

```bash
python -m klt414.app --compare_a examples/works/ivanov_7b.txt --compare_b examples/works/petrova_7B.html --paid --out plagiarism_sheet.docx
```

## Web shell

Откройте `web/index.html` или запустите API:

```bash
uvicorn web.server:app --reload
```

## Mobile shell

```bash
cd mobile_flutter_shell
flutter pub get
flutter run
```

Это source-shell, не подписанные APK/IPA.
