From b4aafafcb4d80afe5f140960ac91dcc251dac70e Mon Sep 17 00:00:00 2001 From: Karolis Strazdas Date: Sun, 8 Nov 2026 03:45:08 +0200 Subject: [PATCH] feat: read additional book formats with cancellable preparation Closes #24. Adds real-format coverage and opt-in large-book stress checks; records remaining performance limits. --- README.md | 24 +- docs/ARCHITECTURE.md | 19 + docs/VALIDATION.md | 47 +- example/lib/main.dart | 16 +- example/pubspec.lock | 71 ++ lib/src/domain/reader_types.dart | 15 +- lib/src/engine/epub/epub_reader_engine.dart | 20 +- .../engine/epub/worker/epub_processor.dart | 36 +- .../epub/worker/epub_worker_native.dart | 7 +- .../engine/epub/worker/epub_worker_web.dart | 12 +- lib/src/engine/formats/comic_document.dart | 128 ++++ lib/src/engine/formats/reflow_document.dart | 208 ++++++ lib/src/engine/pdf/pdf_facade.dart | 6 +- lib/src/engine/pdf/pdf_reader_engine.dart | 74 +- lib/src/engine/reader_engine_registry.dart | 9 +- lib/src/presentation/papyrus_reader.dart | 32 +- pubspec.lock | 79 +- pubspec.yaml | 8 + test/engine/additional_formats_test.dart | 353 +++++++++ test/fixtures/comics/README.md | 16 + test/fixtures/comics/page1.png | Bin 0 -> 1646 bytes test/fixtures/comics/page10.png | Bin 0 -> 1646 bytes test/fixtures/comics/page2.png | Bin 0 -> 1646 bytes .../fixtures/comics/pages-rar4-compressed.cbr | Bin 0 -> 377 bytes test/fixtures/comics/pages-rar4.cbr | Bin 0 -> 5089 bytes test/fixtures/comics/pages-rar5.cbr | Bin 0 -> 371 bytes test/fixtures/comics/pages.cbz | Bin 0 -> 923 bytes test/fixtures/gutenberg/README.md | 7 + test/fixtures/gutenberg/alice.azw3 | Bin 0 -> 255506 bytes test/fixtures/gutenberg/alice.mobi | Bin 0 -> 241000 bytes test/presentation/papyrus_reader_test.dart | 7 +- test/stress/large_books_test.dart | 91 +++ test/support/generate_comic_fixtures.py | 46 ++ third_party/kindle_unpack/LICENSE | 674 ++++++++++++++++++ third_party/kindle_unpack/UPSTREAM.md | 16 + .../kindle_unpack/lib/kindle_unpack.dart | 27 + .../lib/src/decompress/book_text.dart | 90 +++ .../lib/src/decompress/huff_cdic.dart | 348 +++++++++ .../lib/src/decompress/palmdoc.dart | 85 +++ .../lib/src/decompress/trailing_data.dart | 72 ++ third_party/kindle_unpack/lib/src/epub.dart | 290 ++++++++ .../kindle_unpack/lib/src/exception.dart | 15 + .../kindle_unpack/lib/src/headers/exth.dart | 236 ++++++ .../lib/src/headers/header_exception.dart | 8 + .../lib/src/headers/mobi_header.dart | 247 +++++++ .../lib/src/headers/palmdoc_header.dart | 91 +++ third_party/kindle_unpack/lib/src/images.dart | 179 +++++ .../kindle_unpack/lib/src/kf8/boundary.dart | 166 +++++ .../kindle_unpack/lib/src/kf8/fdst.dart | 72 ++ .../kindle_unpack/lib/src/kf8/flows.dart | 152 ++++ .../kindle_unpack/lib/src/kf8/font.dart | 166 +++++ .../kindle_unpack/lib/src/kf8/indx.dart | 426 +++++++++++ .../kindle_unpack/lib/src/kf8/resc.dart | 67 ++ .../lib/src/kf8/skeleton_fragment.dart | 169 +++++ .../lib/src/kf8/xhtml_split.dart | 131 ++++ .../kindle_unpack/lib/src/kindle_book.dart | 219 ++++++ third_party/kindle_unpack/lib/src/pdb.dart | 199 ++++++ third_party/kindle_unpack/pubspec.yaml | 25 + tool/browser/formats.mjs | 106 +++ tool/browser/smoke.mjs | 2 + tool/browser/stress.mjs | 152 ++++ tool/check_worker_build.py | 2 +- tool/epub_worker.dart | 19 +- 63 files changed, 5723 insertions(+), 59 deletions(-) create mode 100644 lib/src/engine/formats/comic_document.dart create mode 100644 lib/src/engine/formats/reflow_document.dart create mode 100644 test/engine/additional_formats_test.dart create mode 100644 test/fixtures/comics/README.md create mode 100644 test/fixtures/comics/page1.png create mode 100644 test/fixtures/comics/page10.png create mode 100644 test/fixtures/comics/page2.png create mode 100644 test/fixtures/comics/pages-rar4-compressed.cbr create mode 100644 test/fixtures/comics/pages-rar4.cbr create mode 100644 test/fixtures/comics/pages-rar5.cbr create mode 100644 test/fixtures/comics/pages.cbz create mode 100644 test/fixtures/gutenberg/alice.azw3 create mode 100644 test/fixtures/gutenberg/alice.mobi create mode 100644 test/stress/large_books_test.dart create mode 100644 test/support/generate_comic_fixtures.py create mode 100644 third_party/kindle_unpack/LICENSE create mode 100644 third_party/kindle_unpack/UPSTREAM.md create mode 100644 third_party/kindle_unpack/lib/kindle_unpack.dart create mode 100644 third_party/kindle_unpack/lib/src/decompress/book_text.dart create mode 100644 third_party/kindle_unpack/lib/src/decompress/huff_cdic.dart create mode 100644 third_party/kindle_unpack/lib/src/decompress/palmdoc.dart create mode 100644 third_party/kindle_unpack/lib/src/decompress/trailing_data.dart create mode 100644 third_party/kindle_unpack/lib/src/epub.dart create mode 100644 third_party/kindle_unpack/lib/src/exception.dart create mode 100644 third_party/kindle_unpack/lib/src/headers/exth.dart create mode 100644 third_party/kindle_unpack/lib/src/headers/header_exception.dart create mode 100644 third_party/kindle_unpack/lib/src/headers/mobi_header.dart create mode 100644 third_party/kindle_unpack/lib/src/headers/palmdoc_header.dart create mode 100644 third_party/kindle_unpack/lib/src/images.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/boundary.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/fdst.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/flows.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/font.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/indx.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/resc.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/skeleton_fragment.dart create mode 100644 third_party/kindle_unpack/lib/src/kf8/xhtml_split.dart create mode 100644 third_party/kindle_unpack/lib/src/kindle_book.dart create mode 100644 third_party/kindle_unpack/lib/src/pdb.dart create mode 100644 third_party/kindle_unpack/pubspec.yaml create mode 100644 tool/browser/formats.mjs create mode 100644 tool/browser/stress.mjs diff --git a/README.md b/README.md index 893c155..5216ace 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # Papyrus Reader `papyrus_reader` is a self-contained Flutter library for reading reflowable -EPUB 2/3 and PDF documents on Android, iOS, Web, Linux, macOS, and Windows. +EPUB 2/3, PDF, MOBI, AZW3, TXT, CBZ and CBR documents on Android, iOS, Web, +Linux, macOS, and Windows. It provides versioned EPUB content locations, PDF page locations, TOC/outline navigation, scroll and paginated layouts, configurable appearance, and a responsive @@ -67,16 +68,27 @@ flutter run ``` The six-platform example includes deterministic long EPUB and three-page PDF -assets, a local EPUB/PDF file picker, light/dark themes, and in-memory +assets, a local book file picker, light/dark themes, and in-memory position/preference restoration. Example positions reset when the app restarts; production persistence belongs to the host application. ## Current scope -The initial release supports reflowable EPUB 2/3 and PDF. Fixed-layout EPUBs -return `ReaderErrorCode.unsupportedFixedLayout`. MOBI/AZW3, TXT, comic -archives, search, bookmarks, highlights, and notes are planned extensions. -Encrypted/DRM documents are unsupported. EPUB uses semantic reflow: publisher +Supported inputs are reflowable EPUB 2/3, PDF, DRM-free MOBI/AZW3 (KF8), plain +text (UTF-8, BOM-marked UTF-16 and Windows-1252), CBZ and CBR (RAR4/RAR5). +Comic pages use natural filename order and support JPEG, PNG, GIF, WebP and BMP; +animations display as still pages. Password-protected archives, multi-volume +comics, Kindle Print Replica, Topaz and encrypted/DRM books are unsupported. +Fixed-layout EPUBs return `ReaderErrorCode.unsupportedFixedLayout`. + +Text and Kindle inputs use the reflow engine. Comics use a transient in-memory +page document for zoom, scrolling and facing pages; original library files are +never changed. Conversion runs in a cancellable isolate/browser worker before +opening; large comics may take longer and require memory for the page document. +Reflow uses EPUB-style content locators; comics use PDF-style page locators, so +saved positions, bookmarks and reading activity use the existing contracts. + +EPUB and Kindle use semantic reflow: publisher stylesheets, embedded fonts, advanced SVG/math, RTL progression and footnote interaction are incomplete; complex tables render as readable rows. diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index a6a783a..3709208 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -42,6 +42,25 @@ Custom HTML rendering restores approximate progression rather than the default renderer’s precise content offset. Supported-format limits are in the [README](../README.md#current-scope). +## Additional input formats + +The shared document worker prepares TXT and MOBI/AZW3 as transient EPUB content, +then applies the same sanitizer, semantic offsets and layout pipeline. Text +chapters use deterministic bounded chunks. The vendored Kindle decoder records +its upstream version, license and browser adjustments in +`third_party/kindle_unpack/UPSTREAM.md`. + +CBZ and CBR are decoded in the worker into a transient PDF page document. Natural +path ordering determines page indices. Images preserve their aspect ratios and +JPEG data; archive readers release their resources after preparation. Binary +responses transfer typed byte buffers in browsers instead of serializing them +as large JSON arrays. Cancelling a load terminates its conversion worker. + +Input format remains on `ReaderDocument`; reflow inputs use `EpubReaderLocator` +and fixed-page inputs use `PdfReaderLocator`. The host retains the original file, +and no conversion cache or second persisted copy is introduced. Comic colors +are preserved in dark mode. + ## PDF resources `PdfReaderEngine` uses a `PdfFacade` so engine tests do not depend on PDFium. diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md index c7b8c5a..d62b314 100644 --- a/docs/VALIDATION.md +++ b/docs/VALIDATION.md @@ -13,7 +13,11 @@ python3 tool/check_worker_build.py Widget tests inject an in-process EPUB transport because fake clocks do not model resident-isolate scheduling. Native transport tests and the compiled browser suite -exercise the real transports. Browser checks require the built example and its +exercise the real transports. Additional-format tests decode real Gutenberg MOBI/KF8 +text and covers, compare rendered comic pixels for natural page order, restore +serialized positions, and exercise cancellation. Browser checks also open every +format through the example file picker and record animation-frame gaps during +worker processing. Browser checks require the built example and its packaged worker. `PAPYRUS_CHROME_EXECUTABLE` selects an installed Chrome; `PAPYRUS_SCREENSHOT_DIR` saves review images outside source control. @@ -53,3 +57,44 @@ The driver writes screenshots and timings under `client/app/build/`. Keep run results with the relevant PR, including the tested revisions, platform and unrun checks. Debug turn timings include deliberate observation frames and test overhead; they are not production latency benchmarks. + +## Large-book stress checks + +Keep large downloads outside Git. The opt-in native corpus expects Webster's +Unabridged Dictionary (Gutenberg 29765) as `websters-dictionary.epub`, `.mobi`, +`.azw3`, and `.txt`, plus `alice-high-resolution.pdf`, `whiz-272-pages.cbz`, and +`whiz-272-pages.cbr`. Record source URLs, checksums and any generated/repeated +content alongside the files. Never present a repeated-page fixture as a newly +published book. + +```sh +PAPYRUS_LARGE_BOOKS=/absolute/path/to/corpus \ + ../tools/flutter test test/stress/large_books_test.dart --concurrency=1 +``` + +This checks native loading, seeking and locator restoration, and reports event-loop +gaps and sampled test-process RSS. It does not render Flutter viewports or establish +device memory limits. The corpus is skipped in ordinary test runs. + +For actual browser viewports, build the example, serve `example/build/web` on +localhost port 8791, and run: + +```sh +PAPYRUS_CHROME_EXECUTABLE=/path/to/chrome \ +PAPYRUS_STRESS_OUTPUT=/absolute/path/to/results \ + node tool/browser/stress.mjs /absolute/path/to/corpus/*.epub +``` + +Pass any supported book files as arguments. `PAPYRUS_STRESS_ORIGIN` overrides the +server URL. `PAPYRUS_STRESS_CANCEL_ONLY=1` checks cancellation during preparation +without waiting for full reading. The runner records idle and loading frame gaps, +long tasks, page-turn screenshots, worker closure and Back response. macOS/Linux +RSS sampling covers all processes belonging to the test browser, including GPU +and workers; it is not the reader's isolated heap. Each file gets a fresh browser. +Screenshots are excluded from the navigation frame measurements. + +Functional success does not mean acceptable performance: review load duration, +long tasks and memory separately. Compare frame gaps with the idle baseline, avoid +concurrent builds, and record other desktop load. Browser page turns and native +headless seeks do not certify long-distance Flutter pagination, phone behavior, +or every page in a large publication. diff --git a/example/lib/main.dart b/example/lib/main.dart index f4a7f00..2171fd5 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -290,19 +290,25 @@ final class _DemoLibrary extends StatelessWidget { acceptedTypeGroups: const [ XTypeGroup( label: 'Books', - extensions: ['epub', 'pdf'], - mimeTypes: ['application/epub+zip', 'application/pdf'], + extensions: ['epub', 'pdf', 'mobi', 'azw3', 'txt', 'cbz', 'cbr'], + uniformTypeIdentifiers: [ 'org.idpf.epub-container', 'com.adobe.pdf', + 'public.data', ], ), ], ); if (file == null || !context.mounted) return; final extension = file.name.split('.').last.toLowerCase(); - if (extension != 'epub' && extension != 'pdf') { - throw const FormatException('Choose an EPUB or PDF document.'); + final format = ReaderFormat.values + .where((format) => format.name == extension) + .firstOrNull; + if (format == null) { + throw const FormatException( + 'Choose an EPUB, PDF, MOBI, AZW3, TXT, CBZ or CBR document.', + ); } final id = 'file:${file.name}:${await file.length()}:${await file.lastModified()}'; @@ -310,7 +316,7 @@ final class _DemoLibrary extends StatelessWidget { final document = ReaderDocument( id: id, title: file.name, - format: extension == 'epub' ? ReaderFormat.epub : ReaderFormat.pdf, + format: format, loadBytes: file.readAsBytes, ); Navigator.of(context).push( diff --git a/example/pubspec.lock b/example/pubspec.lock index 814d9ac..0742219 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -25,6 +25,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.1" + barcode: + dependency: transitive + description: + name: barcode + sha256: "7b6729c37e3b7f34233e2318d866e8c48ddb46c1f7ad01ff7bb2a8de1da2b9f4" + url: "https://pub.dev" + source: hosted + version: "2.2.9" + bidi: + dependency: transitive + description: + name: bidi + sha256: "77f475165e94b261745cf1032c751e2032b8ed92ccb2bf5716036db79320637d" + url: "https://pub.dev" + source: hosted + version: "2.0.13" boolean_selector: dependency: transitive description: @@ -272,6 +288,37 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.1" + kindle_unpack: + dependency: transitive + description: + path: "../third_party/kindle_unpack" + relative: true + source: path + version: "0.2.0" + koni_archive_core: + dependency: transitive + description: + name: koni_archive_core + sha256: f323296866d6224725839e2b8ef25dfeba5e0c2476877fa7726f4b966a4c7a84 + url: "https://pub.dev" + source: hosted + version: "0.9.0" + koni_codecs: + dependency: transitive + description: + name: koni_codecs + sha256: "0a0ffa23f62f627bc50db6de79e88a6a41e019d3a21c6a455ac5ae7c1677a8bd" + url: "https://pub.dev" + source: hosted + version: "0.9.0" + koni_rar: + dependency: transitive + description: + name: koni_rar + sha256: c8f1a5b2f1b9d8f6cfd981c67e8c34298f722806f7288f06faabb40004362f56 + url: "https://pub.dev" + source: hosted + version: "0.9.0" leak_tracker: dependency: transitive description: @@ -375,6 +422,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" path_provider: dependency: transitive description: @@ -423,6 +478,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + pdf: + dependency: transitive + description: + name: pdf + sha256: e47a275b267873d5944ad5f5ff0dcc7ac2e36c02b3046a0ffac9b72fd362c44b + url: "https://pub.dev" + source: hosted + version: "3.12.0" pdfium_dart: dependency: transitive description: @@ -495,6 +558,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + qr: + dependency: transitive + description: + name: qr + sha256: "2c0189dca64a3ab08dda7acd7911c89af2374f08eb4eaded3e8ef4609f3b9c8b" + url: "https://pub.dev" + source: hosted + version: "3.0.3" record_use: dependency: transitive description: diff --git a/lib/src/domain/reader_types.dart b/lib/src/domain/reader_types.dart index b5da8a0..7d9417c 100644 --- a/lib/src/domain/reader_types.dart +++ b/lib/src/domain/reader_types.dart @@ -1,4 +1,17 @@ -enum ReaderFormat { epub, pdf } +enum ReaderFormat { + epub, + pdf, + mobi, + azw3, + txt, + cbr, + cbz; + + bool get isReflowable => switch (this) { + epub || mobi || azw3 || txt => true, + pdf || cbr || cbz => false, + }; +} enum ReaderLayoutMode { paginated, scroll } diff --git a/lib/src/engine/epub/epub_reader_engine.dart b/lib/src/engine/epub/epub_reader_engine.dart index 7392d4f..be72e2a 100644 --- a/lib/src/engine/epub/epub_reader_engine.dart +++ b/lib/src/engine/epub/epub_reader_engine.dart @@ -85,7 +85,12 @@ final class EpubReaderEngine extends ReaderEngine { ReaderPreferences get preferences => _preferences; @override - Set get supportedFormats => const {ReaderFormat.epub}; + Set get supportedFormats => const { + ReaderFormat.epub, + ReaderFormat.mobi, + ReaderFormat.azw3, + ReaderFormat.txt, + }; @override ReaderCapabilities get capabilities => const ReaderCapabilities( supportsPagination: true, @@ -103,11 +108,11 @@ final class EpubReaderEngine extends ReaderEngine { ReaderLocator? initialLocator, required ReaderPreferences preferences, }) async { - if (document.format != ReaderFormat.epub || + if (!supportedFormats.contains(document.format) || (initialLocator != null && initialLocator is! EpubReaderLocator)) { throw const ReaderException( ReaderErrorCode.invalidDocument, - 'The EPUB document or initial locator has the wrong format.', + 'The text document or initial locator has the wrong format.', ); } cancelPendingSeek(); @@ -119,7 +124,12 @@ final class EpubReaderEngine extends ReaderEngine { candidate = await _workerFactory(); _requireCurrent(generation); _openingWorker = candidate; - final metadata = await candidate.open(bytes); + final metadata = await candidate.request( + document.format == ReaderFormat.epub + ? 'open' + : 'open_${document.format.name}', + bytes, + ); _requireCurrent(generation); final count = metadata['count'] as int; final restored = initialLocator as EpubReaderLocator?; @@ -162,7 +172,7 @@ final class EpubReaderEngine extends ReaderEngine { if (!identical(candidate, _worker)) candidate?.dispose(); throw ReaderException( ReaderErrorCode.invalidDocument, - 'The EPUB document is invalid or malformed.', + 'The text document is invalid or malformed.', cause: error, ); } finally { diff --git a/lib/src/engine/epub/worker/epub_processor.dart b/lib/src/engine/epub/worker/epub_processor.dart index a4a1c55..2abce3a 100644 --- a/lib/src/engine/epub/worker/epub_processor.dart +++ b/lib/src/engine/epub/worker/epub_processor.dart @@ -5,6 +5,12 @@ import 'package:epub_pro/epub_pro.dart'; import 'package:html/dom.dart' as html_dom; import 'package:html/parser.dart' as html_parser; +import 'package:kindle_unpack/kindle_unpack.dart'; +import 'package:koni_archive_core/koni_archive_core.dart' + show EncryptedArchiveException; + +import '../../formats/comic_document.dart'; +import '../../formats/reflow_document.dart'; import 'epub_content.dart'; /// Pure Dart document session, shared by native isolates and browser workers. @@ -18,6 +24,18 @@ final class EpubProcessor { Object? argument, ) async { if (command == 'open') return _open(argument as Uint8List); + if (command == 'open_txt') return _open(textToEpub(argument as Uint8List)); + if (command == 'open_mobi' || command == 'open_azw3') { + return _open(kindleToEpub(argument as Uint8List)); + } + if (command == 'prepare_cbz' || command == 'prepare_cbr') { + return { + 'bytes': await comicToPdf( + argument as Uint8List, + isRar: command == 'prepare_cbr', + ), + }; + } if (command == 'chapter') return _chapter(argument as int); throw ArgumentError('Unknown EPUB worker command: $command'); } @@ -409,11 +427,27 @@ Future> processEpubMessage( }; } on EpubProcessingException catch (error) { return {'id': message['id'], 'error': error.code, 'message': error.message}; + } on HeaderException catch (error) { + return { + 'id': message['id'], + 'error': error.message.contains('encrypted') + ? 'encryptedDocument' + : 'invalidDocument', + 'message': error.message.contains('encrypted') + ? 'This book is encrypted. Open a DRM-free copy.' + : 'The Kindle document is invalid or malformed.', + }; + } on EncryptedArchiveException { + return { + 'id': message['id'], + 'error': 'encryptedDocument', + 'message': 'This comic archive requires a password.', + }; } catch (_) { return { 'id': message['id'], 'error': 'invalidDocument', - 'message': 'The EPUB document or chapter is invalid or malformed.', + 'message': 'The book document or chapter is invalid or malformed.', }; } } diff --git a/lib/src/engine/epub/worker/epub_worker_native.dart b/lib/src/engine/epub/worker/epub_worker_native.dart index 3dfebf8..9cc26d0 100644 --- a/lib/src/engine/epub/worker/epub_worker_native.dart +++ b/lib/src/engine/epub/worker/epub_worker_native.dart @@ -66,9 +66,10 @@ final class _NativeEpubWorker implements EpubWorker { if (message['error'] != null) { pending.completeError( ReaderException( - message['error'] == 'unsupportedFixedLayout' - ? ReaderErrorCode.unsupportedFixedLayout - : ReaderErrorCode.invalidDocument, + ReaderErrorCode.values.firstWhere( + (code) => code.name == message['error'], + orElse: () => ReaderErrorCode.invalidDocument, + ), message['message'] as String, ), ); diff --git a/lib/src/engine/epub/worker/epub_worker_web.dart b/lib/src/engine/epub/worker/epub_worker_web.dart index d31308b..173165d 100644 --- a/lib/src/engine/epub/worker/epub_worker_web.dart +++ b/lib/src/engine/epub/worker/epub_worker_web.dart @@ -26,15 +26,19 @@ final class _WebEpubWorker implements EpubWorker { _WebEpubWorker(this.worker) { worker.onmessage = ((web.MessageEvent event) { final message = - jsonDecode((event.data as JSString).toDart) as Map; + (event.data.isA() + ? jsonDecode((event.data as JSString).toDart) + : event.data.dartify()) + as Map; final result = _pending.remove(message['id']); if (result == null) return; if (message['error'] != null) { result.completeError( ReaderException( - message['error'] == 'unsupportedFixedLayout' - ? ReaderErrorCode.unsupportedFixedLayout - : ReaderErrorCode.invalidDocument, + ReaderErrorCode.values.firstWhere( + (code) => code.name == message['error'], + orElse: () => ReaderErrorCode.invalidDocument, + ), message['message'] as String, ), ); diff --git a/lib/src/engine/formats/comic_document.dart b/lib/src/engine/formats/comic_document.dart new file mode 100644 index 0000000..a3b42ec --- /dev/null +++ b/lib/src/engine/formats/comic_document.dart @@ -0,0 +1,128 @@ +import 'dart:typed_data'; + +import 'package:archive/archive.dart'; +import 'package:koni_archive_core/koni_archive_core.dart' as rar; +import 'package:koni_rar/koni_rar.dart'; +import 'package:pdf/pdf.dart'; + +/// Build a transient page document inside the worker. Pages retain their +/// original dimensions and JPEG data; no library file or converted copy is saved. +Future comicToPdf(Uint8List bytes, {required bool isRar}) async { + final document = PdfDocument(); + var count = 0; + + void addPage(Uint8List bytes) { + final image = PdfImage.file(document, bytes: bytes); + final page = PdfPage( + document, + pageFormat: PdfPageFormat( + image.width.toDouble(), + image.height.toDouble(), + ), + ); + page.getGraphics().drawImage( + image, + 0, + 0, + image.width.toDouble(), + image.height.toDouble(), + ); + count++; + } + + if (isRar) { + final source = rar.MemoryByteSource(bytes); + rar.ArchiveReader? archive; + + try { + archive = await const RarFormat().openReader( + source, + const rar.ArchiveReadOptions(), + ); + final pages = + archive.entries + .where( + (entry) => + entry.type == rar.ArchiveEntryType.file && + isComicPage(entry.path), + ) + .toList() + ..sort((left, right) => compareComicPaths(left.path, right.path)); + + for (final page in pages) { + final content = BytesBuilder(copy: false); + + await for (final chunk in archive.openRead(page)) { + content.add(chunk); + } + + addPage(content.takeBytes()); + } + } finally { + await archive?.close(); + await source.close(); + } + } else { + final archive = ZipDecoder().decodeBytes(bytes); + + try { + final pages = + archive.files + .where((entry) => entry.isFile && isComicPage(entry.name)) + .toList() + ..sort((left, right) => compareComicPaths(left.name, right.name)); + + for (final page in pages) { + addPage(page.content); + page.clear(); + } + } finally { + archive.clear(); + } + } + + if (count == 0) { + throw const FormatException('The comic archive has no readable images.'); + } + + return document.save(); +} + +bool isComicPage(String path) { + final segments = path.replaceAll('\\', '/').split('/'); + return !segments.any((part) => part.startsWith('.') || part == '__MACOSX') && + RegExp( + r'\.(jpe?g|png|gif|webp|bmp)$', + caseSensitive: false, + ).hasMatch(path); +} + +/// Natural ordering: page2 precedes page10, including nested chapter folders. +int compareComicPaths(String left, String right) { + final parts = RegExp(r'\d+|\D+'); + final first = parts + .allMatches(left.toLowerCase()) + .map((match) => match[0]!) + .toList(); + final second = parts + .allMatches(right.toLowerCase()) + .map((match) => match[0]!) + .toList(); + + for (var index = 0; index < first.length && index < second.length; index++) { + final a = first[index]; + final b = second[index]; + final numeric = int.tryParse(a); + final other = int.tryParse(b); + final comparison = numeric != null && other != null + ? numeric.compareTo(other) + : a.compareTo(b); + + if (comparison != 0) { + return comparison; + } + } + + final length = first.length.compareTo(second.length); + return length != 0 ? length : left.compareTo(right); +} diff --git a/lib/src/engine/formats/reflow_document.dart b/lib/src/engine/formats/reflow_document.dart new file mode 100644 index 0000000..2256237 --- /dev/null +++ b/lib/src/engine/formats/reflow_document.dart @@ -0,0 +1,208 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:html/parser.dart' as html; +import 'package:kindle_unpack/kindle_unpack.dart'; + +/// Runs exclusively in the document worker. The source file is never replaced. +Uint8List textToEpub(Uint8List bytes) { + final text = decodeBookText( + bytes, + ).replaceAll('\r\n', '\n').replaceAll('\r', '\n'); + + if (text.trim().isEmpty) { + throw const FormatException('The text document is empty.'); + } + + final parts = []; + var start = 0; + + // Stable, bounded chapters keep text measurement and seek work manageable. + while (start < text.length) { + var end = (start + 32768).clamp(0, text.length); + + if (end < text.length) { + final boundary = text.lastIndexOf('\n', end); + + if (boundary > start) { + end = boundary + 1; + } else if (text.codeUnitAt(end - 1) >= 0xd800 && + text.codeUnitAt(end - 1) <= 0xdbff) { + end--; + } + } + + final paragraphs = text.substring(start, end).split(RegExp(r'\n[ \t]*\n')); + final body = paragraphs + .map( + (paragraph) => + '

${const HtmlEscape().convert(paragraph).replaceAll('\n', '
')}

', + ) + .join(); + parts.add( + XhtmlPart( + fileNumber: parts.length, + bytes: utf8.encode('$body'), + ), + ); + start = end; + } + + return EpubBuilder.build( + metadata: const EpubMetadata( + identifier: 'papyrus-text', + title: 'Text', + language: 'und', + ), + parts: parts, + ); +} + +Uint8List kindleToEpub(Uint8List bytes) { + final book = KindleBook.fromBytes(bytes); + final images = {for (final image in book.images.all) image.blockIndex: image}; + final parts = []; + + for (final part in book.parts) { + final source = decodeBookText( + part.bytes, + windows1252: book.mobi.textEncoding == 1252, + ); + final document = html.parse(source); + + for (final image in document.querySelectorAll('img')) { + final flowLink = RegExp( + r'^kindle:flow:([0-9A-V]+)', + caseSensitive: false, + ).firstMatch(image.attributes['src'] ?? ''); + final index = flowLink == null + ? null + : int.tryParse(flowLink.group(1)!, radix: 32); + final flow = book.flows?.flows + .where((flow) => flow.index == index && flow.kind == FlowKind.svg) + .firstOrNull; + + if (flow != null) { + final svg = html + .parseFragment(utf8.decode(flow.bytes)) + .querySelector('svg'); + + if (svg != null) { + image.replaceWith(svg); + } + } + } + + for (final image in document.querySelectorAll('img, image')) { + final source = + image.attributes['src'] ?? + image.attributes['href'] ?? + image.attributes['xlink:href'] ?? + image.attributes.entries + .where((entry) => entry.key.toString() == 'xlink:href') + .map((entry) => entry.value) + .firstOrNull ?? + ''; + final embedded = RegExp( + r'^kindle:embed:([0-9A-V]+)', + caseSensitive: false, + ).firstMatch(source); + final number = embedded == null + ? int.tryParse(image.attributes['recindex'] ?? '') + : int.tryParse(embedded.group(1)!, radix: 32); + final resource = number == null ? null : images[number - 1]; + + if (resource != null) { + image.attributes[image.localName == 'img' ? 'src' : 'href'] = + '../Images/${resource.name}'; + } + } + + parts.add( + XhtmlPart( + fileNumber: part.fileNumber, + bytes: utf8.encode(document.outerHtml), + ), + ); + } + + if (parts.isEmpty) { + throw const FormatException('The Kindle document has no readable content.'); + } + + return EpubBuilder.build( + metadata: EpubMetadata( + identifier: 'papyrus-kindle-${book.mobi.uniqueId}', + title: book.title, + language: book.exth?.language ?? 'und', + creators: book.exth?.authors ?? const [], + ), + parts: parts, + images: book.images.all, + ); +} + +String decodeBookText(Uint8List bytes, {bool windows1252 = false}) { + if (bytes.length >= 2 && + ((bytes[0] == 0xff && bytes[1] == 0xfe) || + (bytes[0] == 0xfe && bytes[1] == 0xff))) { + if (bytes.length.isOdd) { + throw const FormatException('Truncated UTF-16 text.'); + } + + final data = ByteData.sublistView(bytes); + final endian = bytes[0] == 0xff ? Endian.little : Endian.big; + return String.fromCharCodes([ + for (var offset = 2; offset < bytes.length; offset += 2) + data.getUint16(offset, endian), + ]); + } + + if (!windows1252) { + try { + return utf8.decode(bytes).replaceFirst(RegExp('^\uFEFF'), ''); + } on FormatException { + // Unmarked legacy text files commonly use Windows-1252. + } + } + + const controls = [ + 0x20ac, + 0x81, + 0x201a, + 0x192, + 0x201e, + 0x2026, + 0x2020, + 0x2021, + 0x2c6, + 0x2030, + 0x160, + 0x2039, + 0x152, + 0x8d, + 0x17d, + 0x8f, + 0x90, + 0x2018, + 0x2019, + 0x201c, + 0x201d, + 0x2022, + 0x2013, + 0x2014, + 0x2dc, + 0x2122, + 0x161, + 0x203a, + 0x153, + 0x9d, + 0x17e, + 0x178, + ]; + return String.fromCharCodes( + bytes.map( + (byte) => byte >= 0x80 && byte <= 0x9f ? controls[byte - 0x80] : byte, + ), + ); +} diff --git a/lib/src/engine/pdf/pdf_facade.dart b/lib/src/engine/pdf/pdf_facade.dart index 443b4ef..3d518ae 100644 --- a/lib/src/engine/pdf/pdf_facade.dart +++ b/lib/src/engine/pdf/pdf_facade.dart @@ -90,6 +90,7 @@ typedef PdfMetadataDocumentLoader = Future Function(); Future createPdfrxFacade( Uint8List bytes, { required String sourceName, + bool preserveColors = false, PdfMetadataDocumentLoader? metadataDocumentLoader, }) async { final reference = PdfDocumentRefData( @@ -114,6 +115,7 @@ Future createPdfrxFacade( final facade = _PdfrxFacade( documentRef: reference, + preserveColors: preserveColors, pageCount: metadataDocument.pageCount, outline: List.unmodifiable(outline), releaseDocument: releaseDocument, @@ -167,6 +169,7 @@ PdfFacadeOutlineEntry _convertOutline(PdfOutlineNode node) { final class _PdfrxFacade implements PdfFacade, DisposablePdfFacade { _PdfrxFacade({ required PdfDocumentRef documentRef, + this.preserveColors = false, required this.pageCount, required this.outline, VoidCallback? releaseDocument, @@ -176,6 +179,7 @@ final class _PdfrxFacade implements PdfFacade, DisposablePdfFacade { } final PdfDocumentRef _documentRef; + final bool preserveColors; final PdfViewerController _controller = PdfViewerController(); int _pageIndex = 0; double _pageOffset = 0; @@ -343,7 +347,7 @@ final class _PdfrxFacade implements PdfFacade, DisposablePdfFacade { } final revision = _viewerRevision; return applyPdfBrightness( - configuration.brightness, + preserveColors ? Brightness.light : configuration.brightness, Listener( onPointerSignal: (event) { if (configuration.layoutMode != ReaderLayoutMode.paginated || diff --git a/lib/src/engine/pdf/pdf_reader_engine.dart b/lib/src/engine/pdf/pdf_reader_engine.dart index 77eacfe..1a58719 100644 --- a/lib/src/engine/pdf/pdf_reader_engine.dart +++ b/lib/src/engine/pdf/pdf_reader_engine.dart @@ -1,3 +1,5 @@ +import 'dart:typed_data'; + import 'package:flutter/widgets.dart'; import '../../domain/reader_capabilities.dart'; @@ -11,15 +13,26 @@ import '../../domain/reader_toc_entry.dart'; import '../../domain/reader_types.dart'; import '../reader_engine.dart'; import 'pdf_facade.dart'; +import '../epub/worker/epub_worker.dart'; final class PdfReaderEngine extends ReaderEngine { - PdfReaderEngine({PdfFacadeFactory? facadeFactory}) - : _facadeFactory = facadeFactory; + PdfReaderEngine({ + PdfFacadeFactory? facadeFactory, + Future Function() workerFactory = createEpubWorker, + }) : _facadeFactory = facadeFactory, + _workerFactory = workerFactory; final PdfFacadeFactory? _facadeFactory; + final Future Function() _workerFactory; + EpubWorker? _preparingWorker; + int _generation = 0; @override - Set get supportedFormats => const {ReaderFormat.pdf}; + Set get supportedFormats => const { + ReaderFormat.pdf, + ReaderFormat.cbz, + ReaderFormat.cbr, + }; @override ReaderCapabilities get capabilities => const ReaderCapabilities( @@ -46,10 +59,10 @@ final class PdfReaderEngine extends ReaderEngine { ReaderLocator? initialLocator, required ReaderPreferences preferences, }) async { - if (document.format != ReaderFormat.pdf) { + if (!supportedFormats.contains(document.format)) { throw const ReaderException( ReaderErrorCode.invalidDocument, - 'The PDF engine can only load PDF documents.', + 'This engine requires a PDF or comic document.', ); } if (initialLocator != null && initialLocator is! PdfReaderLocator) { @@ -61,10 +74,37 @@ final class PdfReaderEngine extends ReaderEngine { _exposedPages = const []; _viewportReady = null; + final generation = ++_generation; + _preparingWorker?.dispose(); + _preparingWorker = null; PdfFacade? candidate; + EpubWorker? worker; try { - final bytes = await document.loadBytes(); - if (_disposed) { + var bytes = await document.loadBytes(); + if (_disposed || generation != _generation) { + throw const ReaderException( + ReaderErrorCode.engineUnavailable, + 'The document was closed.', + ); + } + if (document.format != ReaderFormat.pdf) { + worker = await _workerFactory(); + if (_disposed || generation != _generation) { + throw const ReaderException( + ReaderErrorCode.engineUnavailable, + 'The document was closed.', + ); + } + _preparingWorker = worker; + final prepared = await worker.request( + 'prepare_${document.format.name}', + bytes, + ); + bytes = prepared['bytes'] as Uint8List; + worker.dispose(); + if (identical(_preparingWorker, worker)) _preparingWorker = null; + } + if (_disposed || generation != _generation) { throw const ReaderException( ReaderErrorCode.engineUnavailable, 'The document was closed.', @@ -72,10 +112,14 @@ final class PdfReaderEngine extends ReaderEngine { } final factory = _facadeFactory ?? - (bytes) => createPdfrxFacade(bytes, sourceName: document.id); + (bytes) => createPdfrxFacade( + bytes, + sourceName: document.id, + preserveColors: document.format != ReaderFormat.pdf, + ); final facade = await factory(bytes); candidate = facade; - if (_disposed) { + if (_disposed || generation != _generation) { throw const ReaderException( ReaderErrorCode.engineUnavailable, 'The document was closed.', @@ -98,7 +142,7 @@ final class PdfReaderEngine extends ReaderEngine { .map((entry) => _tocEntry(entry, facade.pageCount)) .toList(); await facade.showPage(target.pageIndex, target.pageOffset); - if (_disposed) { + if (_disposed || generation != _generation) { throw const ReaderException( ReaderErrorCode.engineUnavailable, 'The document was closed.', @@ -127,7 +171,7 @@ final class PdfReaderEngine extends ReaderEngine { : ReaderErrorCode.invalidDocument, error.error == PdfFacadeError.encrypted ? 'The PDF document is encrypted.' - : 'The PDF document is invalid or malformed.', + : 'The page document is invalid or malformed.', cause: error.cause, ); } catch (error) { @@ -136,9 +180,12 @@ final class PdfReaderEngine extends ReaderEngine { } throw ReaderException( ReaderErrorCode.invalidDocument, - 'The PDF document is invalid or malformed.', + 'The page document is invalid or malformed.', cause: error, ); + } finally { + worker?.dispose(); + if (identical(_preparingWorker, worker)) _preparingWorker = null; } } @@ -387,6 +434,9 @@ final class PdfReaderEngine extends ReaderEngine { void dispose() { if (_disposed) return; _disposed = true; + _generation++; + _preparingWorker?.dispose(); + _preparingWorker = null; final facade = _facade; _facade = null; if (facade != null) _release(facade); diff --git a/lib/src/engine/reader_engine_registry.dart b/lib/src/engine/reader_engine_registry.dart index 4333364..a8988fb 100644 --- a/lib/src/engine/reader_engine_registry.dart +++ b/lib/src/engine/reader_engine_registry.dart @@ -27,11 +27,16 @@ final class ReaderEngineRegistry { factory ReaderEngineRegistry.defaults() { return ReaderEngineRegistry([ ReaderEngineRegistration( - formats: const {ReaderFormat.epub}, + formats: const { + ReaderFormat.epub, + ReaderFormat.mobi, + ReaderFormat.azw3, + ReaderFormat.txt, + }, factory: EpubReaderEngine.new, ), ReaderEngineRegistration( - formats: const {ReaderFormat.pdf}, + formats: const {ReaderFormat.pdf, ReaderFormat.cbr, ReaderFormat.cbz}, factory: PdfReaderEngine.new, ), ]); diff --git a/lib/src/presentation/papyrus_reader.dart b/lib/src/presentation/papyrus_reader.dart index 9fb3caa..1a285e8 100644 --- a/lib/src/presentation/papyrus_reader.dart +++ b/lib/src/presentation/papyrus_reader.dart @@ -469,15 +469,31 @@ final class _PapyrusReaderState extends State { ReaderThemeData theme, ) { final builder = widget.builders.loading; - if (builder != null) { - return builder(context, _stateContext(snapshot)); - } + final content = builder != null + ? builder(context, _stateContext(snapshot)) + : Center( + child: CircularProgressIndicator( + color: theme.accentColor, + semanticsLabel: 'Opening document', + ), + ); - return Center( - child: CircularProgressIndicator( - color: theme.accentColor, - semanticsLabel: 'Opening document', - ), + return Stack( + fit: StackFit.expand, + children: [ + content, + if (widget.onBack != null) + PositionedDirectional( + top: 0, + start: 0, + child: ReaderIconButton( + icon: Icons.arrow_back_rounded, + tooltip: 'Back', + onPressed: widget.onBack, + theme: theme, + ), + ), + ], ); } diff --git a/pubspec.lock b/pubspec.lock index 471b102..f78fbce 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -2,13 +2,13 @@ # See https://dart.dev/tools/pub/glossary#lockfile packages: archive: - dependency: transitive + dependency: "direct main" description: name: archive - sha256: ace891da0862b0e4cabbb064ee3fd87b2728b898949fdb366d83fe98342c9f19 + sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.0.9" args: dependency: transitive description: @@ -25,6 +25,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.1" + barcode: + dependency: transitive + description: + name: barcode + sha256: "7b6729c37e3b7f34233e2318d866e8c48ddb46c1f7ad01ff7bb2a8de1da2b9f4" + url: "https://pub.dev" + source: hosted + version: "2.2.9" + bidi: + dependency: transitive + description: + name: bidi + sha256: "77f475165e94b261745cf1032c751e2032b8ed92ccb2bf5716036db79320637d" + url: "https://pub.dev" + source: hosted + version: "2.0.13" boolean_selector: dependency: transitive description: @@ -169,7 +185,7 @@ packages: source: hosted version: "4.1.2" image: - dependency: transitive + dependency: "direct main" description: name: image sha256: "1976370a4df3091bb0f72409c187ad1f9132a818bc6b95ca59c0bae1c75c688e" @@ -200,6 +216,37 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + kindle_unpack: + dependency: "direct main" + description: + path: "third_party/kindle_unpack" + relative: true + source: path + version: "0.2.0" + koni_archive_core: + dependency: "direct main" + description: + name: koni_archive_core + sha256: f323296866d6224725839e2b8ef25dfeba5e0c2476877fa7726f4b966a4c7a84 + url: "https://pub.dev" + source: hosted + version: "0.9.0" + koni_codecs: + dependency: transitive + description: + name: koni_codecs + sha256: "0a0ffa23f62f627bc50db6de79e88a6a41e019d3a21c6a455ac5ae7c1677a8bd" + url: "https://pub.dev" + source: hosted + version: "0.9.0" + koni_rar: + dependency: "direct main" + description: + name: koni_rar + sha256: c8f1a5b2f1b9d8f6cfd981c67e8c34298f722806f7288f06faabb40004362f56 + url: "https://pub.dev" + source: hosted + version: "0.9.0" leak_tracker: dependency: transitive description: @@ -296,6 +343,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" path_provider: dependency: transitive description: @@ -344,6 +399,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + pdf: + dependency: "direct main" + description: + name: pdf + sha256: e47a275b267873d5944ad5f5ff0dcc7ac2e36c02b3046a0ffac9b72fd362c44b + url: "https://pub.dev" + source: hosted + version: "3.12.0" pdfium_dart: dependency: transitive description: @@ -416,6 +479,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + qr: + dependency: transitive + description: + name: qr + sha256: "2c0189dca64a3ab08dda7acd7911c89af2374f08eb4eaded3e8ef4609f3b9c8b" + url: "https://pub.dev" + source: hosted + version: "3.0.3" record_use: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b11b3f7..9cda5fc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,13 +8,21 @@ environment: flutter: ">=3.47.0" dependencies: + archive: ^4.0.7 characters: ^1.4.1 + kindle_unpack: + path: third_party/kindle_unpack epub_pro: ^5.6.0 flutter: sdk: flutter flutter_html: ^3.0.0 # flutter_html 3.0.0 uses the private matches API removed in html 0.15.7. html: 0.15.6 + # pdf 3.12 requires archive <4.1; image 4.10+ uses newer archive APIs. + image: ">=4.3.0 <4.10.0" + koni_archive_core: ^0.9.0 + koni_rar: ^0.9.0 + pdf: ^3.11.3 pdfrx: ^2.4.8 web: ^1.1.1 diff --git a/test/engine/additional_formats_test.dart b/test/engine/additional_formats_test.dart new file mode 100644 index 0000000..b6e8104 --- /dev/null +++ b/test/engine/additional_formats_test.dart @@ -0,0 +1,353 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:io'; +import 'dart:typed_data'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:kindle_unpack/kindle_unpack.dart'; +import 'package:archive/archive.dart' show ZLibEncoder; +import 'package:papyrus_reader/papyrus_reader.dart'; +import 'package:papyrus_reader/src/engine/epub/worker/epub_worker.dart'; +import 'package:pdfrx/pdfrx.dart'; + +import '../support/pdfium_test_setup.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + setUpAll(initializePdfiumForTest); + + for (final format in [ + ReaderFormat.txt, + ReaderFormat.mobi, + ReaderFormat.azw3, + ]) { + test( + '$format opens real text, navigates and restores a serialized position', + () async { + final bytes = format == ReaderFormat.txt + ? utf8.encode( + List.filled( + 3000, + 'Alice read the book. Ελληνικά 日本語 🐇\n\n', + ).join(), + ) + : await File( + 'test/fixtures/gutenberg/alice.${format.name}', + ).readAsBytes(); + final document = ReaderDocument( + id: format.name, + format: format, + loadBytes: () async => bytes, + ); + final engine = + ReaderEngineRegistry.defaults().resolve(format) as EpubReaderEngine; + addTearDown(engine.dispose); + var ticks = 0; + final heartbeat = Timer.periodic( + const Duration(milliseconds: 1), + (_) => ticks++, + ); + await engine.load(document, preferences: const ReaderPreferences()); + heartbeat.cancel(); + expect( + ticks, + greaterThan(0), + reason: 'Opening must allow the host event loop to advance', + ); + expect(engine.contentLength, greaterThan(0)); + await engine.goToProgress(.5); + expect(engine.currentChapterHtml, contains('Alice')); + final locator = ReaderLocator.fromJson( + (await engine.currentLocator())!.toJson(), + ); + final reopened = + ReaderEngineRegistry.defaults().resolve(format) as EpubReaderEngine; + addTearDown(reopened.dispose); + await reopened.load( + document, + initialLocator: locator, + preferences: const ReaderPreferences(), + ); + expect(await reopened.currentLocator(), locator); + expect(reopened.currentChapterHtml, engine.currentChapterHtml); + await reopened.goToProgress(1); + expect(reopened.contentLength, greaterThan(0)); + }, + ); + } + + for (final fixture in [ + 'pages.cbz', + 'pages-rar4.cbr', + 'pages-rar4-compressed.cbr', + 'pages-rar5.cbr', + ]) { + test( + '$fixture decodes real pages in natural order and opens in PDFium', + () async { + final worker = await createEpubWorker(); + addTearDown(worker.dispose); + final bytes = await File('test/fixtures/comics/$fixture').readAsBytes(); + var ticks = 0; + final heartbeat = Timer.periodic( + const Duration(milliseconds: 1), + (_) => ticks++, + ); + final converted = await worker.request( + fixture.endsWith('cbz') ? 'prepare_cbz' : 'prepare_cbr', + bytes, + ); + heartbeat.cancel(); + expect(ticks, greaterThan(0)); + final pdf = await PdfDocument.openData(converted['bytes'] as Uint8List); + addTearDown(pdf.dispose); + expect(pdf.pages, hasLength(3)); + + for (var index = 0; index < 3; index++) { + final page = pdf.pages[index]; + expect(page.width, 320); + expect(page.height, 480); + final rendered = await page.render(width: 32, height: 48); + expect(rendered, isNotNull); + final pixel = rendered!.pixels.sublist(0, 4); + // PDFium pixels are BGRA: red, green, blue prove natural page order. + expect(pixel[2 - index], greaterThan(150)); + expect(pixel[2 - ((index + 1) % 3)], lessThan(30)); + rendered.dispose(); + } + + final engine = ReaderEngineRegistry.defaults().resolve( + fixture.endsWith('cbz') ? ReaderFormat.cbz : ReaderFormat.cbr, + ); + addTearDown(engine.dispose); + final location = PdfReaderLocator( + pageIndex: 1, + pageOffset: .2, + totalProgression: .5, + ); + await engine.load( + ReaderDocument( + id: fixture, + format: fixture.endsWith('cbz') + ? ReaderFormat.cbz + : ReaderFormat.cbr, + loadBytes: () async => bytes, + ), + initialLocator: ReaderLocator.fromJson(location.toJson()), + preferences: const ReaderPreferences(), + ); + expect(await engine.currentLocator(), location); + await engine.goNext(); + expect( + (await engine.currentLocator() as PdfReaderLocator).pageIndex, + 2, + ); + await engine.goPrevious(); + expect( + (await engine.currentLocator() as PdfReaderLocator).pageIndex, + 1, + ); + }, + ); + } + + test( + 'text decoding preserves UTF-16 and Windows-1252 without interpreting markup', + () async { + final worker = await createEpubWorker(); + addTearDown(worker.dispose); + const text = '日本語 🐇 '; + final bytes = ByteData(2 + text.length * 2) + ..setUint16(0, 0xfeff, Endian.little); + + for (var index = 0; index < text.length; index++) { + bytes.setUint16(2 + index * 2, text.codeUnitAt(index), Endian.little); + } + + await worker.request('open_txt', bytes.buffer.asUint8List()); + var chapter = await worker.chapter(0); + expect( + chapter['html'], + contains('<script>literal text</script>'), + ); + expect(chapter['html'], contains('日本語 🐇')); + await worker.request( + 'open_txt', + Uint8List.fromList([0x93, 0x41, 0x94, 0x20, 0x80]), + ); + chapter = await worker.chapter(0); + expect(chapter['html'], contains('“A” €')); + }, + ); + + test('Kindle embedded font inflation uses the portable decoder', () { + final font = Uint8List.fromList([0, 1, 0, 0, ...List.filled(128, 42)]); + final compressed = ZLibEncoder().encodeBytes(font); + final record = Uint8List(24 + compressed.length); + record.setRange(0, 4, 'FONT'.codeUnits); + final header = ByteData.sublistView(record); + header.setUint32(4, font.length); + header.setUint32(8, 1); + header.setUint32(12, 24); + record.setRange(24, record.length, compressed); + expect(FontResource.parse(record).payload, font); + }); + + for (final pointsAtSentinel in [true, false]) { + test( + 'dual MOBI/KF8 uses relative section records, sentinel=$pointsAtSentinel', + () async { + final legacy = await File( + 'test/fixtures/gutenberg/alice.mobi', + ).readAsBytes(); + final modern = await File( + 'test/fixtures/gutenberg/alice.azw3', + ).readAsBytes(); + final bytes = _dualKindle( + legacy, + modern, + pointsAtSentinel: pointsAtSentinel, + ); + final book = KindleBook.fromBytes(bytes); + expect(book.format, KindleFormat.combo); + expect(book.parts.length, greaterThan(10)); + expect(utf8.decode(book.rawML), contains('Alice')); + final worker = await createEpubWorker(); + addTearDown(worker.dispose); + final metadata = await worker.request('open_mobi', bytes); + expect(metadata['count'], 19); + final cover = await worker.chapter(0); + expect( + (cover['blocks'] as List).where((block) => block['kind'] == 'image'), + isNotEmpty, + ); + }, + ); + } + + test('encrypted Kindle files report a specific error', () async { + final bytes = await File( + 'test/fixtures/gutenberg/alice.mobi', + ).readAsBytes(); + final header = ByteData.sublistView(bytes); + header.setUint16(header.getUint32(78) + 12, 2); + final worker = await createEpubWorker(); + addTearDown(worker.dispose); + await expectLater( + worker.request('open_mobi', bytes), + throwsA( + isA().having( + (error) => error.code, + 'code', + ReaderErrorCode.encryptedDocument, + ), + ), + ); + }); + + test('PDF opening leaves the host event loop running', () async { + final engine = PdfReaderEngine(); + addTearDown(engine.dispose); + final bytes = await File('example/assets/a_tiny_pdf.pdf').readAsBytes(); + var ticks = 0; + final heartbeat = Timer.periodic( + const Duration(milliseconds: 1), + (_) => ticks++, + ); + await engine.load( + ReaderDocument( + id: 'pdf', + format: ReaderFormat.pdf, + loadBytes: () async => bytes, + ), + preferences: const ReaderPreferences(), + ); + heartbeat.cancel(); + expect(ticks, greaterThan(0)); + expect(engine.snapshot.status, ReaderStatus.ready); + }); + + test( + 'worker rejects empty comics, malformed Kindle books and empty text', + () async { + for (final command in [ + 'prepare_cbz', + 'prepare_cbr', + 'open_mobi', + 'open_azw3', + 'open_txt', + ]) { + final worker = await createEpubWorker(); + addTearDown(worker.dispose); + await expectLater( + worker.request(command, Uint8List(0)), + throwsA(isA()), + ); + } + }, + ); + + test('closing the worker cancels in-flight format decoding', () async { + final worker = await createEpubWorker(); + final opening = worker.request( + 'open_txt', + utf8.encode(List.filled(100000, 'Long text\n\n').join()), + ); + final expectation = expectLater(opening, throwsA(isA())); + worker.dispose(); + await expectation; + }); +} + +// Combine the independent real editions without changing their text records. +// This deliberately tests section-relative record indices and shared images. +Uint8List _dualKindle( + Uint8List legacy, + Uint8List modern, { + required bool pointsAtSentinel, +}) { + final first = PdbFile.parse(legacy); + final second = PdbFile.parse(modern); + final original = first.records.first.data; + final originalHeader = ByteData.sublistView(original); + final exth = 16 + originalHeader.getUint32(20); + final count = originalHeader.getUint32(exth + 8); + var insertAt = exth + 12; + + for (var index = 0; index < count; index++) { + insertAt += originalHeader.getUint32(insertAt + 4); + } + + final record = Uint8List(original.length + 12); + record.setRange(0, insertAt, original); + record.setRange(insertAt + 12, record.length, original, insertAt); + final header = ByteData.sublistView(record); + header.setUint32(insertAt, 121); + header.setUint32(insertAt + 4, 12); + header.setUint32( + insertAt + 8, + first.records.length + (pointsAtSentinel ? 0 : 1), + ); + header.setUint32(exth + 4, originalHeader.getUint32(exth + 4) + 12); + header.setUint32(exth + 8, count + 1); + header.setUint32(84, originalHeader.getUint32(84) + 12); + final records = [ + record, + ...first.records.skip(1).map((record) => record.data), + utf8.encode('BOUNDARY'), + ...second.records.map((record) => record.data), + ]; + final table = Uint8List(78 + records.length * 8 + 2)..setRange(0, 78, legacy); + final offsets = ByteData.sublistView(table)..setUint16(76, records.length); + var offset = table.length; + + for (var index = 0; index < records.length; index++) { + offsets.setUint32(78 + index * 8, offset); + offset += records[index].length; + } + + return (BytesBuilder(copy: false) + ..add(table) + ..add(records.expand((record) => record).toList())) + .takeBytes(); +} diff --git a/test/fixtures/comics/README.md b/test/fixtures/comics/README.md new file mode 100644 index 0000000..a16b0ce --- /dev/null +++ b/test/fixtures/comics/README.md @@ -0,0 +1,16 @@ +# Comic fixtures + +These owned, generated pages use red, green and blue to verify decoded pixels +and natural filename ordering (`page1`, `page2`, `page10`). Regenerate PNG, CBZ, +and RAR4 files with `python3 test/support/generate_comic_fixtures.py`. + +`pages-rar5.cbr` uses RAR 7.23, maximum compression and solid mode: + +``` +rar a -ep -m5 -s pages-rar5.cbr page10.png page2.png page1.png +``` + +The RAR binary is only a fixture-generation tool, not a runtime dependency. + +`pages-rar4-compressed.cbr` uses RAR 6.24 with `-ma4 -ep -m5 -s`, exercising +compressed, solid RAR4 in addition to the generated stored archive. diff --git a/test/fixtures/comics/page1.png b/test/fixtures/comics/page1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e06924e868b70c16a36dec6463d4ab82d0e2925 GIT binary patch literal 1646 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OLa5k?42I!VC;-rk*a2Ar*7po^#}6a1>zK z_;G#V(K+q^MA#cSPVBXQu>2RJ!E5#dYvdU=*D;(K<&1{GXgV0p3!~-1$SxE48_f3U V{rPj`7qA{-@O1TaS?83{1OU97z-#~j literal 0 HcmV?d00001 diff --git a/test/fixtures/comics/page10.png b/test/fixtures/comics/page10.png new file mode 100644 index 0000000000000000000000000000000000000000..92232442787fabceed29d1367f2fc1f90fe6c5a1 GIT binary patch literal 1646 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OLa5k?42I!VC;-rk*a2Ar*7po^#}6a1>zK z_;G#V(K+q^MA#cSPTaM9u>BXK!E5#dYvdU=*D;(K<&1{GXgV0p3!~-1h%OTs^E02_ Wr)S(KqzzK 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≪a$j~GIAQ%! zLTA_y$Ol)m?`_8O?-G@tsX+Y@z@cke;>9^MP{``30exRugN!C9$PgLThKGTqX0`g)8?r zeHhy0!t*<}&0*z2|M+eFosC4ms#h;w-|LmuqxxiG1#=9N1erWEo_2}E38s;R= z8hERvzD(!ufc8(PN~y#t#5nUhHTsJMybr~%EF2e5M9E-3CWGKHA^(}PRP7iz$4-Uz>=7oRoXVy^)M%OLH|WQt@)Cb`;w4$Byk$?l8Q zKW|`PD}dhr3G;h1xqls7lMDB2E)R$cCR8FiNX~41mPCn<1&#pe3$2rSZ6o#C9>Doa zv}l^(7yJ|$D94s`VTr^7qju7h&~J!5jS*O7_ZEqNd5L=6Rc(!%f`BYUcd1fOz3cka zx|B|UNdf1xJ&QmD@18eOKubMEnc~}!zkG}O-OJQmo;QJvQxXGHM#rGU z0OyhsM<#c|Q3%HDTIZZ{R#TphUyQY1I$E=wOp!6X^Bi%Qd4e7yEw=3Ii2wZ8Iw^%w znA8Rer9;BI?2k%ujf{FI{eAuig4&XVSHn?joExiB`xc1_I`fqBfLM&E7~U~LtY07) zX3J=>&qjyStp^`W(UV*vV_&qN*xW}#JGyFv2dk1v(^ zic}|d4px|P13z3J)#!{|CpG@-6KfVSM4sQi{lxQJA@TKzhb$L`_E^@##vSA)Pl$Z9 zt)TN8TfW!wTmMVQ1;|{SB;JYDuXeh3SxY-K_sWR?q##0|QF5BVpAwZtuB7mL=+1YwtN)rVuyq{dZ6^Ah8)SJEELi0CdZ7Y z-z!gREA0Fdl!=`m=?5-xo9Y!f_(CIkEcC3^0cCr|u{+nqSI1(}#~hjTxUS}6pL+Pj z@CouEaN-g=(BX59Vv6^c{pr>|I-=K<2rG$VSyf%OL6n_R03SHrCz_~9YaBNf`_iGj zSqjL6!;5+BG97m96bqdhy(Fmj0MDoTI0wVQi`tV3&g}37cKtFC9v)b9@&mcbz46ueT>2ogtcu zp98xO$bIRYv*BGlr(6gzfvOtB8sV-mi;m#rdB_>Z1Jt694#&rQ0o0zAeEtrfxvrnM z0C}NgPGBkO8z6CSE#|4N$#yoSsl1Mzz_NMRZt9Qk8MJI!X z4#{h9LRx+kngjVBVg%fyl7ReE%p?VlXOm~B_hYQNPe6l7?O(uaWO{JFg+Di zXHB2NwuKs2C{QIcN#^4hKuM-0&qb=sNlrJRxh&Jx3`^^sm!|to6AsZ+qd-G$EuM(!IYGu4eLp$J9&k z1u6sfoNN5sOd(*se>+`GT(klLA2ol4D@? z%7U_~D(&Baikc$Zh*`!=GuREiC4(+vS6^jPzwG({3HuhXrtUOvXlJLG&Tg^o_Z8dS zDd@~o)D%Hm1?;TgrGi!kwH0i4%7L7aNXUsf!H{-#d+wLqFOUla2=@S90%{3(L)%%w zcBWW6TWn{yptgd&h?iDqXTE;#33O(6zxihSZ+sqWTZQEO-}n8!zsuzcE*{`hsnPEG ziM0t%<7%s)uFh{5hH;m^UmAPFd@6|{;QRiq{LmC~2j&SAm#jtCvRS*(1AVFcu=4W0 zgi2G4+mse#yNYL-*oSv4*4S_iugXY`>BlKR> zSQa|Nm~#;>JQkZ3*JKKh^gq=95V-;*-o?NpP4eZa|MATPLsOD<+?6^oNf(QI(pXo% z{Tee8sIy;WCc#rfa=V&T5R&;a7;vEa1ANFiR2se9dKvBkiFR?1c`ui}vqwybj_KDi zFVQ1zXjidG#9X2?k7^}|-7xU))Q52XZ9R3#@*mpT=foW%L;=Ab527{2RrNX01>o`z zjF|Won7ltpVeryyWS%HSsidX?2|gk*VD|ub=3K)7{V9FMyPT?aU(DzH8qHmlkOZ{S zW!6&IP+(4$mFnw;L+|>Bf_a82jamnx@0bDiXWC}Wf>4BMB}t?24GA=5A9|kC`Bp)$ zJS7pUv@GnkaaBvJt+2T}#zbNF?_rbVv>IVaMyS$~3uJ9uaCVqqU{nFYq!=}^PF2^e z+pHwJq)lR=q+^s$ZY%4lZ`X(a7D&(ck+W!7Fhz)2XEiw$T{9Zf!AI(@Hf%cbJ~N7A z?02-OW4A1nM<$*~b-X&~{IuD-u`R=Y&iYX$+O~rGU!BRo0O(AQsbRWsqpGgrV9wz) zhcj_h)?4Qvn0sTHRe7LE%;omk%IGUic}Lzlx`4k{FL4{HyDLX zwg8E~6Lk;ZO0K@*cxKuq@O|L#H=^}fYpIJko6P3hMI7$bhDGWMx<^9nyUEfRIE(uPHf~PkR+75<2$RXA;#i zBBvvp-p_9bT~yjx<;iCHL7|KU9}5$r=?H-g9+Yj&eYPxODKjc-*U-C2vgHfKsY!D@ zl`gFp%qf+CB&eN$D7Emjb7uKT4&WEKl((xT}E0>kW9^Z-FA0_FI6) zB&Z&+25C_ZJESjxK@XS1R_JMPXgFfEm>4Dy_@ly7+*Em1;+@|Hk$AZl26Y9sY>#wx zzmJpxmnl0IM-0suKq$H??Sz#1ttNG_4?FQDGsZ1p3gGcoOA;;}ovcDUVM{UhA#5ndscJQMhc3V|*DfM#l5u;r z_Ao{8@Q$vdli;CVFPRuAh;%g-GAHZ7BPwD^^xbbnym1QK1F`d?7i@8RJo~{;hIibN zEHgk3#SYn*$(bwMUM5MWtC^%pNhSmO02=}diU4J*uk*EVN!CoTdlClrsIV#AGsv}q z*V@whJaFnW`iwFo8G?AUxKh8HURYmD6a}j#5`>92#*SeduVWJPB~PdndV)U3D!Cbq zp9!vV?Wbm9q>cua#uWIy#OJC%C$!5fR~pH{01p8dK|Pc^{a5CKI-TSz!JEKeP&#Y3 zvun4R$Qz>Ca@UpUt_B-63Lu_+ojQ|eirZDct91k@Ew)j%*Z&3B)GJUf9s_S6Xs%g} z$$pe|x^pbcyrVGjS>s#N749yjK@c3#w2{sbTJvrx6;|r$5wfV;WN!WeL*BtZm|Kh3 zM-h4$f)*U4C6jcl2CpqT4o73TmbUk7@9Ct_GV96aC!2ptXZ3{W98Fg@Y^7@D`dE)e zs@C=hhZD`i^&%gtUF1`d{cY+7v#i1D+vb9>_V#^^mQrzs4pC3ACH7Q80p^{e!LrOA zvW~T%xB0_om zqD)In@5k>1VVKn=p?r<|YSwYU!qMpmyF-^4nw18wG|xnSU@iFLmsZtBTgQaUb9yyE z?<>h7x;M>Z`p1(CKv(QfZ~WHxGB~m5Pj5W>t$7sr602;= zIF=34--vrKk1qg5j3ZUSb?s0psh*afOFPr~r3Y(_9sEV>lI_Rf`AceFXFk?=TjG*7 zs9pB4=9Ji8w2Ff$D zfVsfxHn2J-y)LfO#DKIT+k1{mXtCC0hrW-g1b?|E-R7`4V$d>$fJ#_$3}fRML#U$n z6O;+;CZlcLH${JJr3Y)h4B=TSTXFm{W@!tTNU0E(e8+u&;yQ;h^F8W3oL{fBAKeUG zL!G^|j=jgMaY3-KM4ymg>?qe8lBUq*aJaR zJ!94j)?;`Yy}#4j|9NLKPMsV0u^t;BaCJ+1Wl*KC-S)m7edWzsnY3=Amz1I^H5HH1 zLugr*!M_0gT6?er%<>R|h#q0xdS95-b!8udkW*+I$_#YWyG{UkscxBbRi~n@xoR!UOvl6fK7SLkr7AG*k$DvNDxrfz|)!F0o6p znzNM%D`IC^mash6GhsJU{pNmfd|gLY%buglV+Ywlm+Yo=xOBfr!8YJ@2PwZ$_@`)r*2l63 zAEJJ;iF#0ygx}Q4nOj8q7f1(IFY(=18z~`+I+3&O60J5f%O5jI5KHb{3Vpt zd)7Qc8sR2m3QuU=4D$l#-#^cMoNwPEjUj5g2lLGJBaz?2yV9vqQ#0Ao|= zs5#ZD11|n0w!l(sgbs*}13zPS>d)3y%I6cE#W`g z%wBzoEs(Q+C*H{R^l~~QMWCFSDcmTQm@_>eQr}A_kNPeTnwpehB7;t&_H!OKDue*U zk;ghNn+wwlx;(VzxBO2rb67G}c0aDMXVw;bCv;?<$pAjaQQ9e9fIf>_4(9qgepDf3S);&*r#L=9U9dbQ zrkiu-zAEYuTdD7W{Wt;=5G|!MIBz;{64MxQgU*4~!IbZ9TBXr2ucT4QJi$fxxyVP&*hrC)E<}#o=_fIhPKqz$_~pIE9e_}&^Y+5y(yQimr;)nClkw%_NX4A z#`IqxhT0wERq=6dD*eVb=Sd+V^G4A48$pWDv?%-{ctQ<24 ziI%epSAmh)2%C3i=BECx(UT->Di;^pK4gmwT#lvMd>`DEGA(u491yDyxsa<>`cQB5 zpPz;x0d9=WvaAPmcWq6$tCTAQT5358LG22evNZ?9R%_{xN{Pv6n?~)@fn!#V3M=PD zVy2RqK@B)@RjEO^gmMh#OZNA&!P9KIRg`>y%pqc|b>aZ+7fqxZyJH~o+n{e(56loc z#{C(J9v%a$J*Y3_l?i=MaYK{S0mr)i%uhgAi7IW*A3TlByOqLVE0ASvPJtAmB5A?h zP~B_h-p;m|WR^H7S;_ZSxjl)@QVYpaRdc479h7`I5_LnM-4y) zm-_)IB5#BHk+@V#_c>kiE1taaI;Y-}N`dhQ)aV&U+jVymc~OeZ`id)o8wWQW9uID+ z%{#=9k@7Ru<(7CuFH%s(~cDC9(e>^ZghJ@Y%6=J(csM&5WdOTu1j z2?&WGr~5?D%k;(LiyR9*Cr?~Hl}zW?J|}Un{mC-4TBjcvuLHk8t1fhby7d*GDWOIX zN1DJb4K8SZoKR&Sv-(Da^D^!i=G}1f%j;D2VnY^RNZhDPl-#`!K-qjosrIfsI0~u9 z1iiFMtH*p}&Q!jRev*pT%E}Baq!cC?>UN6RG>}X{z9Xx5MTY8@*Nrh(94`uypgxop zETaxl$$YWCse&+{&?#hr3A9(l+;l^`_h8kkxy)RekWL%j> z$i|cqUeU398qu4FyVkcw9NF@^jW}i-JG__F5wk$7h56a;5~uCX)=JBU;PV}yTk`5c zjlAa!yiOK0GKV83F2#%xrHw1;un_emNNM6~t}d7w9M&Jo*e{VMQH{0Lx)PPWS)e(3 zOc|IW8_jQ&hpWl>UYuLdSD-(dq~^swEuSEZ;yrhDT&9rd`~#}>4jYh4UEg-%onw7O z^9hrM2*{i>pmjff4)`tCiSd@liEGC^{Dr<1sJT3L6ouvz+jo7peJv=e;U57@90aco z2VQF+^rsl#Y_Q9&GMz{#Oo-O*!gcgehev4aSVayQ zdVjB#pK~ve* z(*6e}BU#tM!JvmAf`hcZbQHf73J-&A_kQr4F zb1}kyon;7v_8OQTWOPX$YD*c{fue@ew3t9ZHAQd;)z@V*gL*D407HOtO|S zYlS?R`V?s*MmWF51%bZEr2q@0M9yUc9Yn=0mrofSO7Bz=neb zQKdQ883CTBGpZuO;GS=#t8Ik4ORc@57G>aCW-h73$RhH7?st+$Bb--WbRW&<{aUau z>tgOlA-4r|WeaO>DM3D|G1=}D*9xU_CLi3GvJq=92`V8Wl~2$Le$WKnh4`8D`G;2! zuIa7mFx|j^bOnSe-&x1?gjn~H^M=$-Q9qZlPm3l|?c4`o-R&xk2RQT6CQ=>CrC#g& zicPnz7l9opHzx!a!R&4=Q23`UU1%k}v2KV?qM~LHeWS>vr5f%VWfg9pvc#!OU%{Z|UvdYN6M2RBQYcQrb|& zCX?s9TfsKoOFFd*Hkj|p12{(EzZUCkgMDOPAuOlF=D@II{|U7bHVXm5omvN0^3$AC z?+q9oDx*J(5I_+e7^vUEs8ZUWbYpO|FSS3Zz}g=MMI5=oAOP_T|vG>wn|-gM_Dd1?7NaUqe|o@;@mR07pW5^0dAg?uhfrBX0{{ zAs>>#QU&PxTAGK$*|Ped^}SO+O65olp%5Q)Fa9!<`8>BTN&JqkLd77B-spKod`!loZevdjL_H(Vh;xMHHZjyrO z7Y|9Sv1@4A(QtEKpp_V>CL5>P{zJ~>w9JU= zht6CE#~P17r@+{e+LjmjC&%O6FCUFZAjNlqn65wl-syJ+KJqRi1{BAW5N%I0US@Hg zy48KhrH>3a5_U=n68a_bJe zD%*+LC)E1801`T?L1IlQS|`Fs!iQ>7wdIHW;dg{){&zC|V$fA(6Ji$(JJPWAR9%-^ zGL;JkI&Rk|kX=ME6Yt5Q!+Z%Q_MKWux%eU~L{F22Qi`N>LD>1&VK(}%k%wps)t0+5 z4<&1lUbbI>q)U2|ehdo>X9RlKkz6U}W6s|rS~F4REMnt-Fd*(9Gv6qS-9J6a&IQ)0 zO8P;un0`DvbRn2s|1TzHLN3xwhEn6qZtf|k5QG{(nq+rU+wZgv(Q;Y2)7iSK(|Pb@ zS<8L385R|=OPI6#IjQB;pnzwyGt|Nmj5A6m1kK%`A0yKZZl`5O?7XnalDD2pU|`Pm zXZreDi^`C?mBd-j?pazI5{MBdQddDfY%L3fJL3k2$t`>ial?8%n8D4oE^NO{22Q?q zWELtI*e^sL0S`$-Gg3puP-zezU{$fs0f2?rN?~pXi+}_{1C7H3+|nok#aD_#l)yA% zSdHI-+y17KTnSSQ(DGxtgiDwVCxAaDMW{fuFw6m8OOyR1ku3H8WC$pK6P0Ru1YCVS zm6{{ETC!r2u!nonrUBqu$q+Oen+wq|F{TLKXeg?ZG8s?^Xc4H7lt6!C(*MWSBvUdP z*dx(H*jwPul@EzO`VG8OrKU4CKvzOOY!sZh1d*z7;EHD|)oh|feq{Y$NKP>_c!P}! zW)xzM$_!+>P{*fcQ_YY+l!9DS<2qn+lmmnTjZRFtz~s>*v8Rm#cW%Jc#jRv2I7;p> ztOE1qd!XQ+q@1?J(iW!BOh9PQEL`$py6ul(wrn8x$>3fmCbe9clJFL$eL{*KBsfWSP zn_5*9H?Pp2At$NVaK0!;`vKxlp0L|?PcQY&fo9etLehvm z3MvBgS!*kOwdO%Q)S|EQ*T&uew z)s6PO$~(Rs_CfPc6=5*tbj@1F&8fCOfJLyDDH1bk638OUD00A+P_xkPcD>B)tqpg5 zo}8Lb*LB}v1%p2cAj7sOlOz*dmHbTOU??dtEHzT5#%yN#U^1QJ01M@qy=&T1;ept> z{{tKX`4b|Wc_~Fb_zNj~j%_~JUuiA}CY z*KbyDRg(RYRfRC)iycMaKNF)hSyPX@ey~4sjuhxIP#77`!^ibc{znr} zqh}`n0;dUCdo?<9GV+TmgVLJwCrVRiq6!>C`G1DUavWbQ{>qi~-=gwr{r^AvBinP` z7lJR$Gn#hHGnyLy1-9?)ssG9SC^v)b+_BO<1mC+qn;+GttZaI(=^d}?2Tl|9>gpYT z;xuLbx178kbEGC;QJO?*dXju?wb1L^3}>TiWxInt-)^Hbp6xzbJUCW{489v_QDMgG znwH`GiOPr@MNd8)Q*FtKy^7ZKn|;rfr*xA&--RaIf7~(Yh~AY7Qgp00OJ6ymRC;ql z5ya3A6BnI$>;gL*-a=)xOrJ?2qX%_Bf-FB73aSq7h=q&1wYq54mSYCT#U! zB0N#n`!BY|ba>zw+y`K^t;HBOB37s{owThYA)=Ob3WZDMgDLsDmay_H%D+|cLM+8wBV%YTOi7FPT|1{c3ft;XSoNaLcdrnJxX!^2D}N- zTo_dEFd%F& z$pGfx#fUm$e9mLB7^~u{^~4b10u`K!Q{a-mKTs|QcTWXbO}7f*m0tlXmc48-YM{C# zN=F(P^@#UFNRx(qT(V3CK<6HLnRCj3^Nnb3Dk&JZVe%O;Qu%0MNmA zKW!drQ*JPqaN#)_Jx(oDAvi-rlP9Or&uRofh9n6jWG`d12vb>FOl$c7eg8)K{@qoM z0t2xW5MzxZg@P!&R2z@u=G&Vj6vUj(Bun{!9KnAJ%6TRP!}4M=4Dl}J8UE$7M3H?F z4!bGzH8#`ck1aizS$n3Q9pUy;kl>_1Cx{%f8AdrYrn)t9hE1GKcpV6_T4u769d`>A zs3Z$@?)N3T&ZGKliT=hz>j0t&Vu1J6kN^kMKH8H>`*uJpD7fkdzAgu?kGn-mQ~>)o z6V=bwDzDgCs0ae0@1dz zHVnNP74-;uF_DT(lffPyWya<76@eA@@}o^EptjdXn*wB9DHd=7g)MCK<85-tvb}-Oa@4!3aRuIKj`u^*44DdwDJoTi9S{Yg zLPk_H-=rP~m;s0u(c93p*JZ?3Ha~3X^I3dXyM*G~bA*A$o5rq89ojfe&&CJY`wf=I z6`^!-)=_98KdP*cm=^-4QZEB=tgQs%L3mwb@0_OsQ?Z4q$mK_!NXiJG49h~i4(Ic6 zM^cZh+X_iF?!BTrHdA>fU0+%IGU?KTFGRS2A?qi?Pup)G%7%-`bjSX{V8_Ey27<%=Voi5G zHCaig#)w8OsV6Rw`A{0XaWWy3-U2I{+RSn+?b5)*`FHi_iIKqdQK`GTYR+s|;au`ZlAZ7n<4%fuEz77E+gX zS|{qm_}6$9qM6&Z8TmyB1vUvaqPNsq#~0Q{4Wi#V9r)c3OX8h@A9Z<m^g0j$}51 zb%`g_0XDAr``*W+TV=>Ms4ohF20s0`pr{-2-Y?MxzEB??9Vn4Ubpume0z1SWiJgNl zb^mdHRWM?0GpZZX`58NA$8c-Q@lPy!8g8yX-DMf|-ZJ*za$Mn;mfG{lR7^i*d6=kH zaQCy(LliYE)m zY{x=khFnY)$&3yYqarJUJ4;cNN^LBm7gE=$>kX|PCFBHwf0MA z)9QkB>+yz%-PJe{lylxxamfbD9q>R!-3j{kd$x)?NDkB31rXD&RZ__;430xaz1q|3 zPBv<@UFQ7095?Pn!bSH3Dw_K0pW3}A%=IrFDPO#$Dg@`8c=lr`vN4> zr&rM@;PRyVp~y-d1M_z&)Nc(cbiUdH$6_cSsxd2@0NpeW1@fj+hDt?m&b@&OA3(|P z5PTN0cB$(5>GJ9`%+=hhFca$_Es2_-f5CK1kPDzKyp?g&)nLwtu=~vAWowpz^M za;#kyu07%fdI^{de+H!=y=Md6t0dWF&yrE;PMVN0&p{;tFh*DrGjw`!4YO-Y6pRzcU1&$kG} zKm|n+hjR{|A*Ns&xbFZa+*0sG04a%a-XZN&y$O{`NsdB^?KvfKpdnpt5N;^AxOji8 z{o!Wf1MFb{ojj%HZ#6Ir4Z&{SNhRPi3(=TwOM-T&K9XkrLW05bt8{W|Ta8m92vI$- zP+(e>;Lv%4=ml?7H^p3}Be;E7qwr*qsYZK??*c+fwyX3sOpBHFH_S#jhOFQra2pZE zgs!&P-yr({*)au=dGB#YnHhx3Gx{=N$7OzNUK9JPT>ACxEk>Q$lVmq7?Yx>-o6d;v0?`tiskut)<^_nV|Qm zHfIB<)D{)*%~?`y5bwNz8ho!~0^+Jzle%S;UMtT#zXn-bb|- zGJFZ~^~tYvFL2~&Odc1JM<#LmC7bisI~~b$+@q(hG`Bf+Hf|K334dN*hDO8!7>W?O2x(=IcAM^1#CVtw5?a;ZCW2RYPo zRBf3KBsJ{|gox{{9^$jzaBo2#j|!{o>pKy!?zir?eIAyT)t3Oyb;V@uY1gTl#pJlX zs|*Y&QAYq~Lk$`UaNsgBcupUfvXY8^894-I50)rpMY*Cw`3=o&)m#{QV7y_b`!$Br zV$_RbmT*5}`H^rKtu8}#HuF2JQOsMNMe0QtgFpn710xkJA&96I%OC z$+eQPZ$9|t=@sSstTqU26`mjs9opZNxvZ`1H;c4I|uS;JiqP*HPH4HcwO2Z>P3K=bo$mj;^TC%-0><~;QzHwz^F)8Z^o5>AB$2!?p%|7;@wgqt$Y>Ij_vBA-@NWs@Sq5wIsH|bRN zSZ~;MH z>&y~==HBey;8DACdraZmw8;21NZZiqc(nKZy3Lw_UqKp=Pw>2vHX^I+@LQwNC9Mxr z36KX6$nrLu?~RxvhYHOn)-qFlJw48vG`Z|BDK4#9f@oZkV~2%j(}=qYZd{8w{z0SW zT8KO`{>&X&S?4V=L4GA{vfzDr&2jWa!;xvpQpj-f(NdH$Ah;Z0r zWLw%D;Ge?6e{Ptsz9;F%h*5&L2<}>8186nx5Y=EaA(QL@m3JgEBzdGv1t1T|MCaz| zJ&=#1tkT9fl3)u;l`%h)PeORYU5vgAyD$LhS&3orKP3XJ=b}5fD7^_*t9!^@ndF`V zAcU)N>9fK-&V<%69ny_Xt)SmnT~J8>vq>)f6#gyXVv9L6DVO?J;dcHU0b{}(0`0_S zu==Kk3|xu%HPcs8+W-tCX;FuQJ0gr;WFmm+Qa76Rmc*Vkf6IQ)9D!HQF7~@kRKx@y z=coy13gZ1`)bsHHrWj>gq)x&wGC+Q(D@|1uT84mF~6Ao~Eh&HoJ*cSrF%$*|NcwQ2rAz*eBaz+0O#;Q1TnaQCqc!Sr;^GJL znsqg6=_ve|Ne%(Vp@sgb*I=1uPReC9Yiicm--w-Gy=brAg_$jGeOpdb7_{|Qr2UO8 z4&!@;FtF~VRtgqGwuJWL#!NPhDP;z}08kcBLH$lwsx_mrb8aAe$=|cvR_4}m!}bIX zQeV{YiDix05?-S1@|!c+TS6gu(U}4LhTbHXktqr+P3Q+R%yrB!3e%aj`IaIsWB|Ec zw~i5*72;#wZxGjw?gC5`^fP&ol*!&lj!QZ^xvW$u^6qEGT^0pqe;wD=lz;(l)3X8#Mkae4mheIh%US+cvdiSR~$jUtNk(4b@X6gD4%LR79n&Z z+&&1nDqY3Zu(We8tzW6u9vuS_=3qU|ri5gSyJvrIF)U_VrbDU-IE+M}`-83zM&($PC7 z-WB`ZDP7AB&$>~jg&MBZ9NJPBFJoS}eEQ~rwgKD5_DeKH5u6{F95q@q2bSX~lJ)_S zS4jgl;Sbe}I`e?Wut8$$kbn{#%MgfOy7B{vU&YioF@lvxfhp>Ex)wPEtmy zs^K`3-q6!A8r|!DB)ad1lAK9vMDyu!2)jxT!4jEs(uD@3ExQVD#H>3SHFK6c*_7B2 zs2yXc5UbAnn&Mb>bj_UiTNd*cxI~42?5PI-wo^HZLp9;oy58pn-`=XS7SIP*>KI~w zm49Kdh;>QY97Vmm;U{Yyzdd+0va|O6(0*`6Iq`rFqtnedPF#}8s*F!P9Oo*oOQ>%? zwYDK*P&KM*=+KecWbv)j#?w_ivQe+@n`yr2?xGXgOH$rG@*F?qOjRIl(Ne52Pi<&D z$7VV6{qkBIKNRX5$hN#1J1^&2UV;7NSj;Wz4|S-$yAm-mzt*Vx{7kj)F@Oi*tS(%C zTGN@}92R=s6x0f;jvMR%IkR5322J?9W(og9(Vqwqma3SzY)%-4iiJjN}SP`OUY54xkYd*8FPh zbS?t9MIXB&;2gF`yl-t!p*sU&Z5^%N+1^Q@)>kQH-4}gD5-xt`4HjcDW^3di(|3sBdCCA0HKIVU(`!-1 zzk*T;)Nxux%y2agFzkn7=fN%XgSq4oRBwQ~%h%D{VX*$qpK1&1pm;dUR*K#LR>!~% z(3n7Wn8JR-UY^nda43Z|2rFV4JRL8vKU1YJ0ZHwk$63=H*gqlNE_9KUwRcB)j5MN= zTfr@(CrQBour`e9<3V4SZi<*YJ)3>2}1(c<+VZzxW>_=oUJrw8ppNCz#}<}c`9~(R=_ODXC8x( zhZ56ULs;!wOggn+a&l$iWA7!T-pBe;{!KRtvug!p+vvgAAB0-eEI=T0L?))ckO8l3 zZpM-f;l>7^Tdf761JGTCEj8z3pJl~Ps%$6fjuS;&bdR2m5GuJSGMD5$tb@uu!(71P z1`8a?_P8cVVfmKI>4C%b`|6xU{Vx08g2OLxL~Ks)6|WP%tCKY+8m}E-ORCIS zd>D+kZ0}q4sd0zSQaBG)e7u_;+s)5xmO5%o3vEm-$iiz(Dk=}3MvRnGdk2sMZV07c zO8G6zH!ZDV)h27WZM|<8t)|CdI98A?fu$ANrXeGnWh(^}4${f`0B$!0u!xlR) z9`e;)7e12s^q?PYFUY3P1{X?zwmr!JLLgvCKu{!18t#XQBAs5MzM^`YWA4xRlJ^?g zde*(jqcm?ax(l7Rn0RG(J`)LkEIcVBiS>evOqR9#+I{rto$2jPFm2H{m;mcTd*bGx zL-Jk*8y0^g7WC>qt0TH|0=JNI_bzC7>Sjz|f~DatkOzB4VumH|QG@)BN5|)Q#-b`2 z=>(JchvmWB)_pZLpb?;l-WM|3Y8`9lz}=N_Gwx-gE&I2bAZAE!YI=%!tm)_S(16y^ zEMm%Du;`NvEe*KLmZ%Ek0C){t6TM}UPIBf@$GPM(wSD24l^BqE>;+xfyHErx2g@Oq zd(1H++Xxi*wl4P+ok;xi)0GHS%$6eBn;He9lkm5vEg>#n7^=c8tuUeuBx|k12<#ux zitOX>IoAnIJAt*Ra;`EUfQnK1^uNk48N8~p@W<@z^N3nl-k7ujQ)_S+Z~4&jA-(RI z!w+%UQZgTDgmTPvF@r$lY+M=aJhF~@iuO@IU+pLlk!4800tQ<`W2$SmGG+?yIO8}& z?`xv+$w=k#**h)M%Cxgbwg$iISzD9s?GhZ!_tIIze3yru_?e+&wDlAEAuY2iv?TE8 z25LZEhJWci=Uj-{#?ywqRBzO^M30opEqg3`m~}fd9sh?Mo^#?Nk7ONvlAmDy9W*`C zqK)(T%&qz5D$dzx8qA6^UF< z#xa7|+PJi>c&%^m@c~dgiJ-Zn7r1GJMfC zq;Cv?G^%^c;g8)q9PcXdo$(FI=`KW)C7GJ`s*q4>&Av7TBtl4M;|6BKZj^V@-%<;d zlA8pRC9botvuE4-z)8+FL<|Er_b|v_u-0nZ19MIp8$;{3f*5bKl>l0w_RPvNKW*9^ zv+r!8{F}I6QU1C-4!1?jaqg8w=tw#_tf3<2w@*CO_%lfbsINeqJkr+AGe+K)K|*hy z)W_MDS)xQH|Hd46`aCnf+da@3koZ{#BjQ*a=tdC=vA=Cz?{_t>Z^^n@cM<8FHqJCxA{dLhb;b2`^LIN2bXIs)flp8r*UvF~?4O)Woui|RHQ4^A3X{$=9&)~&=e z=*WSHJ@1kCO1|@Z=eGclEsAZMoje?>KXuMh&=sn0k&t4bkjCmQEIJ`-4_f+IL6vs7 zK-`zO_%SFs_CJ7q_H{tvU^@IS*1s_WAYjJ9H9N6qH%62ZCxIvf8EF5-00_q1KRW=if6W0%9GG(e zqE*z^r+2eO)S1NwsMIUWS&{(|)X6yqprk+1Wq`BxU->dW#D&3F{Xd!jp)nI6X?x*P z&C_Ob=V>$Kv%F5{%>2)^8SB06xhviN|3aIonO#Y}gv@O`yg5H`XELZ)bARB@km~

yEhJLq(@fB+2=$0uRxmgE-@#`J}?gi4+lh*GNzdUeZU$W}rsH+1$GawiS0V>qIEO3LC;6^!jQ~vDDx**KybuTW6)`?mLU@1R5GWi>9T_O;*9O| zYFkvO2L8pDh^eQ@AgB&lqUr-oK_&1JfxK!RXQ6H&R8(kAB}4h-&RCl%ZniC7O0I;( z_@vApttIeTI>E?Ie}(d?pOV8uG)9asv%icuiah7&f1vhW0nvy!V=rN5=w8TABccX# z60{+&IA(>sGDmh~6xG-xWP;jrocV~H1kok)AQ@Q-Uugo4F*jfum+|jwv3l4d+*5f% zNbRJ?n=YAJ2ua6o2ObFg%@m$;{2>buhg)Nznf&$yQ09rB@Knu>J@jQjOzhQ4W)Z@> z95FMAbusJ3f6S!ULb??FfcHtQoX+5T;nuGy3XIh*wJultQz7z+FK`5(hKLS5YI%9y z8tG~leRX#*j#3LBU2X6*Kjdo;LKmR%CKw2}WGtwuWEa}bVO|09KmnmJ66v;L4;Xru zY5YQHL}ML6Z@@KYdRht2mp7f&;xN$*G-39=xwAbtmwgA&wiV>^Omamo5N~!{XC%1o z`iU*{P)#*(VA$%Gu;FNqrQ0k>muhdO<+^1Yq(k%?c&*yNyv&Z&WE0N=4 z$xe-e65`vtEMGd5p&nK3)HJeYyQ+?)w-#j&0A)qqW>`ZI1^t-yCCaHm78<44AHMq1tfz1&C3W4zrD>*CXt-HCf|D z=zZQ3hSo^u7?aRhbLg77yh>mH&XLu^LqO%7OFQL9W7$$dp{lQl8C*-f8w_CP1Qa=# zelP_VDT4`$6O%oDFwP+d#rI{BBg>Z{a?mqXl(X|3lPoE*gaY;=0P7|qWVt{WK|_EV zP9BuPpH7LS(0@sMDt4A^7nkHi>=Zv)>MNp`=$ax1KDl)P*ot3ZE~=Tt`BC&II|km3 zsfq66p-Z9R$~81)*sq*KES;84Zci-AWm^Hg^(A(yvg%MGWJba>#apnRB&z^Jzoaq?1jlKAh!c_Sb7}p!018uSa)sm2|3qkg2Wax*<9zISlgFjsEZYHz~BhQ+oy9vDiHE1PF z+t(yz*0e+pQcMuZ#I9TkC6|9HH7(GA5Fb$qS{Yc$!DtL|7|^WT1u?-rVwAog>^LB+ z57sA63ccXh2}*X9QT!1JRBK10QLWS!ewz!sHuR zH%6#%Erj1n_0Y1yvJ6r+s6JSYqqcOMEYV?lFmb_A{*I*@-jd8Jc8oQt$hGFDv|pO; z#+2`W*oC5#*0`8hh7Su98myEh>1u1wU2#1@aMN(P*h6Sa?C~Sm5^+@TPDJ=em?UZu z&gPVBn3?z*qxf@}a!~s5eVCeD?%I#8i&1Ar&7a!SF)g2IAT-1o>C6EM@Z%ckz(2u= zig}jZkELI?e_kvU2K+X^#u}$WfKyu7XMavl6}fVafLS}%IY9ncWvD5HT9#6q99zAOttXe-3v2hYkYKM4=GDvwOW=Z$ z2fK+pDur$-=MaA?hWShI3NhXpCw*sX^8F(oL_$rQ7Pe&so~iI913};llhk$t@O*Kh z<)-C^?bfIO94j8Bu?U9I6KLf7q2} z8NCNGlh*Yex;tb9oLkgr&sm#=E~k#Pu4{l)8-z{jxs0p23*^3)6^D}L?vh3W`6D$v znG_$|^jUM1%mo1gla5vXI+WDXu0@;E^|Z+|`n=wG6A)1&rK5-8LKJW75Df!f%fOCv z<<(Hmt1Uju1C|G<{-z_1_Zsgt!5@t{)8uRN&A&tQ?@o&k-krFUE2MMmf4_9>k==n= zs#R_1ZF{p@t#yIIwvGZHg|i^oEmO&l{p-nNO0?BUW|C)RHm6PW5Uo=Pev^n!7`}Kj zoDG45V*a(3IILf2g%F_FB-Iv&V^jfB+WI&E?2RCwl8kxa^sP_lj_y$P$GLWf&Xlv~ zPdkopku$yFrEWne5YpRna5Q|Wva?z#3l@Ro_4=G;-TDk>6(DtVr>G#J`SgRB(m*HD z|0pgxnQV{#s0N%9>q<`fRcKkqWq(LwVjd~6f@A)lyggPjPgrtYyMivEpdql4&J5{H zen0zw&?$5VQq)T4EumA!?gRe8eZo|GE}PKwuXH*rx9Io)UF}Fo6F-b?mrk!@Pc?w= zFCDA z@xk3F8#%PUp`1ENy0}2&fUuG?30s1%&o`{zb=)VGa_;x5+n;qzu?Ni`QpTFR#>Jj@ zrPM>Jf4!7P_rB;Z?}$nYrhRao-~(V%{z~NaON8D;76Do(*`)E!9Z6s&_eWLdMQm`G zpM>;tXT*rqChWojUF08a4=5W6+X~xq%6R5>!&Qi&yHH8@N&T!id1&|$qtVoUC~;Bv z^O;9FkF>VkYx^ehOysG^lC(p9ZBWoRC85Spywuh@zCaHBq9F>9Vv})>Ou9a+sj3VS z(%oW9N+p%(ngUjab`{85KLmt)(Lx@6yQ64?i{sSmZLl<6B#; z{IAsB6XJW!!_ZE~cqG6kSx?=mT~WJ&Tmklz`4K;czL~?Tz_QigPzCiwsP;0mQrMyG z`mt16?!;XMn%8^@`X3-@sFv$DLbZ%lCP}f3BBa^Pd1VD znPk&?pb|p`)=Qrw2ERt@q=n!*<{VkTcF%tpxSjc50!TE-5G!S+WENLtw~& zgMGOPW*4Zd+%K;q_8Ot7CA%~aAGku9j zVn6#b%Mt{)EMnYl7cmK>UE%6{o};fk*6r4Ap*_0-aRLn#FH9=iqANPNZ(XzRM&rg!c z@&2t2veY9$E(8#F(QIne5g^A6&52rrEO;b%gxmZ=ushh|T3pqf5(Dvt7358LeZEat z?$6*X7+6b}TjSUw_8h=^)QS3)wyOCCrhWl;(RxLTkp*I+G}*KX)?4M6BWyC-3+g_` zsyt!g$F@Cl@6h)4-Bdt00Xu*^kYhC8u&qFA9kq^_8j;=~Yxki;+W~*q{tYZYoIChW z_>cHLV|Tn-Nk{p!U=UeDcJHut((Bd(9pV2n_AOvh-DlotwkwX^6_b1`#_k5pwqk+^ znnc8;g4aQfplHOTT{$p^nUR?}4=6I=h2f&0y@;Bwn4}v_ z+6FX3IQdj^uGyWOwf^M6Lur=mE{`M>Y`dw&-#YOQFxAS<6s4!S0SUM1#K zBcCxK38ALa>(`k`K+qj^`z>P41i3Halp)i|Krgu}V&*x$)c{~h#-YDM$?TLtCM_a2)wY{$u|BZgwI7{9^Cj6=V#lxS^(o*y%g)ge!GYxaNI}DBVP2?JQ7c#E7qUUM zw!WL4C!I}+Y(y4jdCNLX`%5pG$ri*pX@LAHq10tHb;fq8VAsKIMTfEegl7JF@FP(9)SIoQkbjSg}wj0>nwWR=ZxJ>fCC6k<#v^1_LB` z_ry>t?!4t1rUNj?P@e4`=NNP9OR{xOol>8_ntdV%}>W zwWYE9r2}k$1C^u5X&4#fe}Pbh;e9#|Y*X9X8cg)2O-O}ZPmChskhpH(ahN)UDUC+r zW7))t-;+P^$viFAaTjnX51bpnVVw``T(sh9#Z_HZcX%+{`8@p!{p@K2|5a>z20vhV*LgWir>#tu!ZO8E zXQcV@Ow4iGf*6HJ;W~M<{i#5XI0!>{!h5aLWC~V!Ufq=9Of`*w>6x6gcii^p@PqlG z>&$nBBo$&F?6_2*_FU_m^dw>i$g90=o;uwj@Zm$eAkbMxmMqk>1ICbO(M#Vo`RGMJ zD>~xD)+1PbI+H`FaZRC82?TuiTm55Jj{6lmk6s9`@2+JZlVc6CoBsbSkLKn61CBlJ zJZ+$rsN=o|*kdpUFMV5lC=+h1FI}Kjn?!R|k)(wI*Y{4A z*GYLRAEOi?hVd|9S#4pY5@xJ$37_2zV};{Txo*H9qWBWMk6|~Y1}FX!?1GK=3gIpJ zvV@eY4GB=ns^Rzen(I9??S?}T)9|s6fzKtC*BLIDMy>wVMJvHU^=o$9X%0xT?5tM@QDI;l+@5o z$Q%Xl7ap1mlvdl+V(N)xYVjrz$)!tu%kOYYz=)akCH(sI2kcW} z{Z_nfm>6Mm_(|Dp7n8s~4WHGg=>;3vrTYP|^B}OKwG%*KHz>+RU6ar|qSOP^7|=(@ zfj$cRg7q=vh&w1%-C-GDDK!uCNCHeeFnv1#}?Sc1Hm)j59(weBS-r^~cv$eg;<42oxRw zPQy)ZbyP0M0}w#Xc)@kIy+D$O*DS~@%T_`~hLizmgKIk&j+1A$v$VAqj?ZSWW$2{l z_r!Qja@dx)AplL7`BF`JXu zQ=4|ye5$DV&@^&9N6-Tm5X(h7y~YYTtP~9S-4%Et8Odf>-|V_pKWG{U9C0cQGJ_z@gPA(ZQwPuT#K2kp>jTg4Z}u{nc?c_DmaLS_ z=6eQNHSDR6SW@|V#}L1q+Az?kE`Nt#bNmv4lqRdBg+osSABUc8vVciNLYNnkd-g3R z`wVUaa|j)!GFQ;?jK4b#CKw&l0U^!X$tYk(0fF+(#@L>j5G41qVBf>}oeVOtKDa6|SS_mABk z@@mCVci*o5Mpd`BdSUfK&;m=;)7H84I#{7!sD0P9(L@+2U=bGP=hywq@eULmXq^Hu zmqdHK|89QUYYI$?MY1Fj*OZNmHe71GQen?WoB|cpf~U9)YF!~tkM(`XK9WvmLj-%b z?|MgcTuU0ni_PzxrDHLf4*Cc6=*t4ts zY_mIo5;N*TEf3A-;bARXYJJf5xcLw{A7P7i%Fw(StTc;l$WZyF$jkAQqR@N59!+n9 z#I5zYzGSR&yU8iubODOxn7}bv7`HR6bJcO(I`e1LPq@PkE9>@_ z1+AZyjpC=3Oa{D`y=paY{5t-HyKC;etIlimpLhyA9ct`u>~3Aw>8FdCyQ=^UksP-WvhND`{q|j-y2*AZWy1XfSPwP_@#O&rue_r zYVth!kGJyyf&PRjCSrldBW2FTOTQ`X2Ppcr_#4EJ>0lvkBd?N|XUZ@9wpG->QIEZ^ z!fpaz3CgbFQ<#_-4E_=m+hEll4?bXUtT?dRqw;&7z%CY30 zOuq&hmy_fzI3Nzyl>pFfRNdBTXjMKx!1mHD@O_-mgg<%qm@`VRN=N$k{(QpTm*9VC zSuTCk@V`pQk*)i7zMHWxGmIEWb=RJ#ruAtMe_PhKq?i? z*Dyf5%}$uVMz=MRbX*FC0|8c{?mnc{O9%v*-vPpa>c*&S%Q8A~FF6SdRYU{tPX$gw zJ~N+2n}8=bF4f!#DwUKwLy~VAn!s%cpY=)HO8_z30^DLaPsYQLLi^zf%0q9IkdLc~ zchp88dXT+0u!mr-mRaX8jF%oLi_Xe{&}49^3$Up0-SrLDDpXzgrfmt#Kf}stgfR#P)n! zw2?~9tJzZ<#iW?pKac_HY-uQLtln_1Nq9P|9`O^ zPGrvH9eG>7wgxFAKs~;h$BjYj3l)Ex)1X1F@mw+K#r^ z#&x?3(cq9jRo+1u@dwSt_d0`(Th+(X4FK(RJww=A2Akwy<958SE2K2Qz?X;>wYK6A z>Y!ZU;^r9M^4;gB7(7olV(k;+{vYMwfNxI2yv zwnnrh6PKm@3u3B${;8q*PAWR+hgL5V{elS z8X!pPne94Ih(AHq(esZV*bkfeFg(zkOSy~ydFxSQPpoj~^iN?MqY|>YL|}6uhCG$F zDzW!R5O)`6NVpXIygmkEViexE&@08yz0z{b#g9SRj5Q$Dwg$OqdOqMhy~%8>rC7$PPDcas9bGoNOrY|I_@I5$ghSiDV1Qz7w3F9qx266y|yHN`m>oUNUGIsd(m4p+af#;M_2E2XI!& zDDNGKkXDFOU8Yf4bwQC@nQ-=Kc(MG0wROkotWy&(gfqW>#0XwtYSc8P&Ie$X3RVzYoFfj*qbX6rg(^o^5GV{nWxuV5 zgg32axPoEQJV9n64@6E9@tJfAnJ~p=+dtw5;PfZ+A#pOz`jXjJXee0;*4pNJ?~}gI zy;~s$gfKQ|Hznqo$wIH31h=Y08FMWRSK40(NiI1|W{~MZx)5n5tbfEY`@60c?cfuy z)*>3$4jJ)~=xys2vukptV0GqD`%gQ~Tr_6D?Q`CBoUoP%dT|g7*rC|Uu#OKbaX!dn zDqZco#SFX88xZ%k$=bnAe}1FEl2f;^Za%xnpeC{{nZQVH{B_I2e9v&uq6DYXP8lU4 zEh_IhEy}BC6+IU|X^1A`Q`mrO5{3ZI0K{s>b?%V#_tSa#E)tjkDsNOOp<`fL zuhIOC9f5S6g5Qm#FS}3LsW@sBGmz8aIsO5FInblPI9GC`P|7m9t-B`y0(b&*7z!Y5 zCyR}MvO{bVso%g{o7pk|nk4mL7|Z#K zbP(ocjFMm0@|Wg{be3LOAAAKp`0UW4BSHIma>wgvq}r?{ODt$WAJ*~lKtk}@PsF~S%g zYkDL^B08oM`2vIh@kI74b^iAl87U5$5^<0;1DivSf(Q$i=cRG+Y&!GCH#d;l2+a(i zh!vUzx>Je=pcCl`ayJ;>8jSR32&X3;JD6gbHBF2YV}JmbXOtp=aq=l?u|XBjDheFK z61u_0m5xhPX*$g`iajV3B%lPu6fHsroa38>fbbaOHN)nSmwS#AY3h95SN<#$Yg>Vp zN7>@7S-^2*GRr>GXiArOZjm9+&+RvaY}~TY@?G9bz2(hiB7w2m!_>>F^*Vkny|H?Z z{TVGd)_eM-Asd_rg@8E4Mbbyy8_lnilPc6Y>PrD0wHZ_jK!VG)1bjEh>u?+UE~kAZ z+|d>)6dLzj_J_2eOwBE=ler)HYQ>HGT##mi&d{|(3R{8Gzu6MX;D2EH3EPTHI^}8& zmn9k62t$g5_qcT=q^9AeF{K>}$%aNr=Oxq1EJ#*^$6bP8%7?`m^P?ivGw#}6)v#jqX>|t65gf!)^S3_F@S9I z3d)DL3v@B;IeZ}~TSoJsAd873Gd=S+!i41#(YMuaKnJ;^>=dkS@F-aCvRDSGl>Cl&Id`FTMdf@Wh^dV-T}`^7z^iaAbsV%lg4Z9nHuuR>%!O|hTc-ZD%#w}=m0GPi9txSbDrq&@U+Q>(+SHdOn zWK#3ny5E7lx<=DVKv1q!5Bmh0H;?EcH?eIXIV9}hnjZ!i*v0Gtq=0)TOWs*sRZQ^ER*XOqnLVm#iiH0}8U3gr(`i(oND@?|Afd)3hsE z0earPU)T=YK5ibWf4#&8bP70s+zt^7K7UCm>6;+r%@+HvP<$ZH2L?iVW24>^p0C zAh&E0Mu?nl3SzRVl-5#&a)xEvu-M+gGu7#g#MZ7Ps#H?CA8+z3=Yy4hD!VEjBVLmU zKmU@6D6^l1EbW8%X;#qnpOE}c*Hgf#z0wO3!jG~a>jDki(Q0wY1h@AjxOJ2v6w&n zqH>hWJc$cajYHsfaXeI{Vh$)8-y&nW<2>_yPlQq+Xw{%ysn)F|lC4*W>zk$A^%KMF z_N`=E;|MWo_0x0X#hiYuA7hsT;BrjR74*N+{if9|6Ao0rPc7%SQU980dUvb3JA$4z zW$+n%I)#OgW;a!kr7othF@+)|@}4k;q@++#*X-|IJ+M(yY&I#S16KHkPmn%)LvfJ- zw!`GK%um;diXQ)|SJZ~yXO54bdX+t={hj{guRtHh0Td{0e`WMINT$HPK;HzbOxXS8 z%?4NfL)NKNNI`X4e&rQDRa)-xOZ_j+a#lXy3+SS80!kflZXa|0agm#0Pr^9>+q7*OpXLoY*TZS z(z^c>2)}_h9EDZkJ&2~GcF>~$cgyMd@OkG4jm+>@;Yd9;6Eg^hG#Vj?dVNOK&A_-o z#eyZZQGA*ikj@$=v=_RGkC{lQ1(F;5eGHiUY$Bo*KZhAzdW3~e7(-G_5s+6*LMmFm zQ7n;mqf7(}=D5(yM39~E&_R|x6k9SjoQ(i&jOi1L(|l8Hf%tP^69BfSw#sg(X%(cZ z7?>D%c=IU2I*|{Y>+pjuSx;p0!}*j`;Fhxu6b1A#zzOE<0Hcd>C~yb3 z$BN3MCx}!8Pa)nRFn9+SeZlt_!n|zpdn9;NNNYTH4_s-imjZ>qMgge; z5E8pbgW9hNWa$#)`Wv1$5XqS%AmaR4E}4u{pn2|OA^@<8mR7Nm6%OWCM6?F;mYBW7 zWug^wNwqe)fhWyRhtKz3@O+-`OvP1Yb?mY7d-!2{>Kn8d^B!a;r0c+}M=L+0FMzb& zbqIieSFDVlu0YanRu6+(K;ay>$C6Xtg){Vo7n$Ecxa=D$RO5t?fzrMS-1k7y1gJV) z-{`a=jD3dVOJi&40=URpUcRd?6>VpMQ1XcULo)ejFZerJV#9QjN8&*owP4g*W)=1P zI_9~}^bgUfgRwjvY;YltE6V}cc>7)tIAG_qf z&Uf%2ivsR+I`0q{G|n%}L;&f5D3(+`(zY1b7zj%>JIejW$^gWJLt!e^)BuUH3C!+T z@w^vCJ0+Rvi?F5O5SH7tkr)Zf0NTcg;pU5$WEoyD)bPv7?dAvEQT{gf)+T;Dt$ng# z58$1rZkI1Q9)r^98Z^Jn$tr;fH&FvIbmHMQX~z8e}jmSN7s*W?O+z}lCvP1KYv z+JJM*$-|aw8)+Z&Yxs~QlHbFLLDFIJ5hDmOQtzh{jSx)IJ`^x_)&to(51hPZ?6La| zkydYWCKeB$`W{>r9Ct+-RVR9hVw4f{XRQqtn|oW}H240*QLOiS=^-f)u5>Woeyw*~ z@0L$`H^<8YF}5Y1wS9l=yW{kFGG;dVTk1cqdkvWcSW1hWAlO4t&Lle@HeY-xm_sfx zM~+ef5Vy=H=GR=dM%W>UKvU9~`wC+4N6V3l zL5_5+oq0Oe?%mmsD%9m43iY4}^MT*0ANraavEo_ffEd=GS!zLozLtLemHq@e%{;*0 zmR728UfRX#P+iFcn@8;eP4H}i&7cb8D0NsJh*lfVblcf8P7T^rg7t*jp3);H2ThN{ zp$!R{^mEe6vMZ`CjvX`vhK?WZT5N5Rgjn%kvpu#|y4uvtju_jC&#qZASEC5U8M|HzqEFl^C_?{gh+j_>A!;9HfIh$&$OvzL+DsvjWpnLWU;-5aNOTbcm+1a& zZ>@CrVpE6ojzeba%gdz7_-eSy&dk4%Aqjp=qqsTb+>h(R6)UAAD!`330H0H*d&G-AUjqvQ8mmuU4@zG<7k*j{?{gR zn)p`T-j~P{R0u9ZfR#~d7_LH|q?1X0-z;e*d>K9yhW(EM-6Slf2MU~nc?hb<`)u3} zDCF#NY8AZV*RU~ilo=OxWBKG~%0lRIkd>0z*iCS&pHzsyM(_zO$bHo?-)l=;0HI zN2CV)US^&G6lcOnf1qGvq%hnPFyx@3B+QMDL3Brm$y`JUT?UlJ`)bB+UtwgP4F}(Z zVfcGSP+#LIQqmkT?hq*;ysMp$gLA`lyp5pcQ28LC<_R)FXHGN%b_eUm!Gsk+WS7o! z&)avn9#d*4FL3};dmu4DxXg`}J~dM|p-P+N?sFspF>^+eDDUJV%oJc>xE|4)?Q8@O z;^t)Y9SM;jf?zRfw?fz_-#*_#8r1(JkcmQ#qM;@dLYLg`RH*m@a5hB-%ykue}5GMd|E&k^UJdhl9pj7#sQmE2>Yf+)sHMm!{OuvkwyI z^EEY5mVim{^zgRXCyTyf_3F49{|5gC(v$2@RvYWu_%l4}$kA)OD!zrvpg*E^uJixc zwz2wI??Hct{}ubKS#s+AH15hKcT~Km5_Y?=e5&kdXo~f2@NSq(RPC}A7kQIa_W95f zwoij2@&r(+!$F4|t2QVaUuK^BvV0OnO5ZPi-#b!w2{zKvVKaAo99B@N-CbA{1=|)d z{jaaOZtfwjYt+rEibR|cyee@OjHHX%CpUGL+b%0H##36|xV8IB6{vA-(bXXS&Sy?m z9b+$hr({)Lh>}x#<;(~+S>bKD1{y51Mt)|775SUZ%!g9pVdk{&F`gWywzsbK4+GT& zh+)mI2!Dk6!adLV6mK0h4D0kFgN~x(6-?1+OeJti~Cy()SGz$B&6VIZaA)#f>~L2a7N3!mGV{>gX$%lTTLZxF02^D@utgpj=_X? zt#c5ok9=H@o*XhrpyY`SFb)^Z8}ncm!{J{{4dHvkiLikvLF zXi|oi7d!>oMs$`CeXNsO%k`Ne!Zez-)S7gQJMeh*VR5|ri;BeR_r5{3I`5dq=G5hQ^^S;hrREzt zhwO9fzta+R_BC=HT2hzTJ?OYe`K$gQt9lq;<`v(Un7QIdbE@`tq#@OJq`gzKUs1DS z!)!*t-|rM2%dB`jekKvz-ePZ=oiKA>>HS%IRG!BDi1p$c)?dON^AakxAXFt&-Qja; z*O_*W#@EH`r3Tj}4=fKngR5%o?sRed%o`ig)-JMz^vAvjBaw_~A^ZVtOuC96I&%Zl2LK`hTDS2`-Laq9_INJrK`D7jnYYAi2YrjIZh75u_SWuYKWv?>d#Yhx!{49Y z#xR$RcM6-Pwf#}PP|2r3xs#M3Ckb1(SS!}j1A9d8$)zCZAP2>)z}1r~o0stBgC@bM z#!O>mtVZ3KmXC_VwkaZ5BFif@9Gef;RH)-pJ=iaWdd^e4ix3AA8xJa1i`mDDZGU#E*gV4#2**^P&7xd@IN220Lg-@00NZdsSHB`h(Q zwyvV@e=c1~70`VO0KT@WW_GSON&wWB*i{$5y>soHQJBBHY}0>Rx+X~ybNld&!aV9* z3Ug=bw*wg@9+3u30WapiEinJ_tiaq$&8}UyK;IWRLj^W%-tw#jCPB2S8G0IZ3@J^mrC~ z7K560STVCL^t8)N{seUcYfH+Sf@plUSIiFSzf+b3I@0e zoX*`i_evg103hTVVeSzDLyI38H+HJzo*sNl%5x}SVYh-Hh*LGsp?jI}k}tVA6oK3V zxent~LSVAQ>*o&%=K;I6&NqS$AG?N*l}QdJ^rX2MO=zvMegx;YFIqnY73U>MHF7X` zk^C{pe_-<&JTEoOlK>%LI-7}U1*C1XGFf3+gb1U-DfUvwl<{LV4hB_%Nk+vXx=D3j zb)u4O)mnQHB|@IZ9V8fa`-yC-2lg;Pzjn?sJ><`t-;xQxC_wcmvq1pi`kqN`x#W0S z?D{>TEObsn_xco-!)7}cS?9~Ng{}y*kO#-7zY^%4C3!O|2h6P z^RVOrTf!HcADC+41w6cadqb^KzjzbT0bn(0z@*66{>S=mkWo9h_qZ6x3W-Cz;j`G@CnL|vn0U$%WFjCQ5 z`cMYUS=dFXs|Zc&WO=TAT%7PfTZ)jw+#Vbg-ls3Z>t|`gFnN=5Saz5_W=Cl+Qe?dw zZ!52h6pC#>u{wmqJJoM6B>5~6Qq+5k2%-M(K->Tk;II}srvl~Xq9Qf`x>R$U5x&aqy)Ae$1B{C>;s5MX*OEd((+w*R+hAZ?hZS#&W^7%C^dk z0WQN{uDQX78s|c*eeA6JW{n7s&>?{^g|Oza1jbtm>4WfkZd0kF#xJB%kCh&(>No$| zfabN&u@Mp$NIuK?%ciPx%ulquCjPXX#x-s|UcKP7pw_r@C~q$60fufN5hAXu0Gw$;=`{sl)1oieSV}w=|-RzA_kyXk6ktD#4`G z6dC|kjvb&CIwr4MMU5#iX0*ihW-c9tTPu8>E>TPSq4wrD5|zjs{LO}s3>cGmvgvrS z(KldO1t)%UgLyx+_LC=4KiBp7%P)H_;Sd1{MGMC_xDGV@!o^nA&#GR2w1s|smm`jf zY(5CI>GL zwG1;7?Tjty9se*(jdm>nU%Hc1h+_yq!0);Jg@!Xvom^a!@Ltyk-a(Kb8+#Y2yLXiR zqxFO4^VP{6JH1!jN#0Bf*{>pZhpTAw3V@~ozYr!<>LyGNOb@ti&>!y8nR?h;j)|{F z;Q(wu=^VGVK8_Vyu!Mef9oGC)DcB+a6444s}2!jRTwgKK@*jEB=EZnL{ zvOBVl7>4iU(*$BHyh#r`p#gY{QhpG7kKy;I@ggGZ3p$etdmsA(3hr&70?>EVhMC3u zdg^*EFxQ?z@fnLZ5Y`!uq#U`S2A{Y(P*ff;Qiy7{ADV4h_=|9Uk--n9kwIqaOD;!8 zAm|n7S>QuWfw}(;*cW_?F+m>c2@#ho5dlQ7HXySnbnqm|bRw}bm&=a733nqX3U9NM zTwIp42+u=f#h(LgF-VMspTn^mWG|V$r%;3b!jx085-1W}q8j|z7bJ5Fw}3b+O{1CQ z{g46_YY-rl3}P&4KQ&_hE()BXYnC=cxUsXQi_7V!;k9(P7_-GPQX++=S@&>*h|%_p z8BjksPwt_jxM6NTx1U@EEn&JXLd#tL3IbLZD^<4jWVU1%Nb&F@_R_}yTmji4wb=HZ z8S@J&ejoMRt}?x?*g`P%IMV^HjDnu3+g<2L4lAL+;Rv));mPJw*%VTK`4(0Y%@0Bj ztY?a?<=axc0D-~|#FuT0F_HnFT--D3G$%7S##5$wzgl;sT+fVFjE31c@*Y{bovQy0@J{7f7d`r)SH8n&9nLW}@N{9f}HfkDdQmZP3N~C&g%@l5|ktdkOHbKVyxIvsYzfQj)O?4($||MvV#PmvDc)fnrlnOq zY)03?o~P=D#28~}E>lL2>%j4tjgz3LiS9L0UWb3G=0HL9M>G0eW_Yco8r0@J7t~N* z{Aota@;*O4u-{P9J!pM8yhZ#XnLo$AK>fbyd~-4Xk!0!WddCrwkNEt=9Z!E%wn~h$ z{u5UJdFR2-gUmK4?meT`>N8u0(BJ9uo4_o_^O#v)J*GeH^)GFIgImrmbNp~DpGfA? zQp92AArR8tsri2J*ugDp#SAfnU6>~BNb5g@mb6y8eolSR5mfM<{G{bFg7;n!L?+Ji z!17?m9CPc&(~7P{x|NQjr>J5}hoz(9DrBGZbR8iV9j^8oIu2Xj8Ot^20MXW*64!Qz zX%&-NCQU=fqGpA{E7-N+vt|>!#!6It1gaZjx6mF{wHfHej>p6#ZsExnLAsJI%Qf^9 zj;W@*(u}HOio&OGGlORyTYL-@6LdhwriyQ*d;AK=73&>#+>~s3#wO1@_ai;T!=o}X zH^ozA(SL=Ufbe%Ei&O-t2~?+WUY%LSZ>f4R-+!5Tl_HsRwx!|y4w05isQQ<{o3TBo zMLZP`u<}sCb*xZUSzB34Uj-Smm8>MK4O&TRJal@6Rt=`HFbV^A+WHPN!3-+MEM8;! zjK3@C;6On$?#;17Fd;lw(qYza8+fdIur2n?h|LSM46;JsU0)G$IEc}*hj>jonakG! z4oMe>^co=>xIHy~ndcetC*-(0&a{Av0_I2M`{9LVzx#gm_OR1A>KdJi@I1w3RsZXU^U{eJjmUMlnz?=(&9No!{4}iQE ztp85!U1~|#MENN5<__k~J*X*>iq>)i)&DWO8(6>7wx;P|Q+7jKd93Ke^(XyEX(Y~R z>>|i+9qIkaFb~I1)_7z!?qjQ|(6Q~a>Z6^naP&s1qFPJO)%mVdC652#A-dEbwfI5i{MXt@B@otudze&YR&{>=NGPhKl$)D*e=z6Ca7JCs`3DnS8yb zj)}Mji|xFb6cLGavMd}?24!00`ky4I%cIq*X>4176ykF~?rT>Ah91d;EgN|dlhh2NLiFvlOaA0U4K zx2b4M%(-tUL|5=0`2Tv+^Y1}ht73inLR>{(`Vukn-rG998%Xm<=U(tj+;KLMoB--1 z25iB6Yx)KfNcKFqXfQ9C`%3M!AB|^XONc79_I?q@Y$LBS+u-XC*hfjK5Cm}slu0#6 z&X((EzE$Ttum!)1!kXTGM=G`Sn;5r<23ZX4fiK%DdX*wHAgDov(t`?d`EokybXF#if=pej=ZLM~jAam(mB9 z&(Xsk`eD-A6N|TIp7=lTPdZ{ttBA%VeRH^zYl#NpfG4I-KqUr*hXe|Aj(QYae;dn=q#0JRURs%?dDmdq(V) z$c^@FB;P=F(m}QE*sw&I;+JYy#B+Dj$sFsb5`-c$=X_jUtQQ>#FpYCpxhu)s)vaK) z6c$2$?1l^j&h$9I$ zF_M!5IBCP{r~4fL#H@k}ecS$^3@cOdqOIZ7I2$_WI5EXsf(0e4?c!xEV}7!Jq|FKV zxPtF9ngmwJS62?X2NTW{a&MqhU-}dBGTq~>Kz;tRUKtKcE=0lfU_vH?)X8yr%2Hg> zT0loP?+7zSz@tUnF3CYW55eHX*Ogu$2khz2Wykyj^Wo!HPs#Jk?6zwOq@yxmTWniw z+7A>VaasD!?$?4j_uwwE)m6J1DrA*I{Nu#+_^K2lxPku>bd(S^bpPxybAXvLJ9Xx` z(jsO#yq?*XSk_27`|7ZQ`ZvWvYqkP}nq1Cij7=0{+c(;xnD21&VfzLx7KA(yvOKie zuGWQu3T{{ezUf;4Z$YBO;rQ|)b{bfFW;Oi4trxNm>IcwH*f27D7#XH7U22EYkml*L2_K$_ml=_!VsGy*P}h=4RjsCAp60CH@fksYgTzP7tz`Z> z;`vP4SDqYERt(y1hlODuLdzyChPdLsDj5?8;d7M1R#mz}*O_VPuO~)NdbL#nHZr~@ zo9!v6SuUjWJ3wfG>P!!q4e)v?&2(=Uy~4y(KloJg0x85zhb3FbqPDxiaa{p!tQRv(GY~-d-Q_Zk;#d$0jmz?=l4acts75RdhfP> zCF>NFC@)ZxlmLJRJy;gmkaD^X#MkS4o+T!$NkELies37?H8$JgjQ<^O-wyfLqrS~x z0}ZYL1sY;(;Bm_`B(ICaTeJDYIIT8C^%2eUOf9AsXpdbQNxQyoCzw^tb3g>zwwYUyZe#^&K3HGIGP{|Tu-pqf*XVA8 z(pyKANT%lTgk2GKXp`o~FC_nDcobu(VhD1QQH!JtnDqk@6;J}IPCYvx854kak;q?) z2l-vtXO_5ZlotPLl+Tuwi-3F@KSoNv&ZOPK^?_5yR~Tn9{WkospTH(%(Gg<$r?9OS zBImf7UqjvqYA8ZVv)Lrj{z-@4N`p-T$Ww(2Iz9kOaQapnFnqG5)H3kPeP|t=unMLS zu=|B|Amj)!T{5N%7$^(FXTdgRfgIW;=V3Frd_#iyBmSd!X$GVZ>tWa7j0_WKA5njh zJ6`fcmVZE9s!LwuVjq+_G_BA|MBBCta+-OP`iJCfN-;*yJ?6m0nbjsKDrmdL67) z(ckH-k{LfS21bunkL4i{842&pn1XGU*8Xfyib;;jzypX>NqZV92bbKRweftkCZCzk zm+m>BQlt{qz-vOOUxRwE7K}zMd0Lr2lDL`Q=%kZzlpLi0Ko2t4L0nuA5BK?^x@lNS zBc-SeSL2m2WU3|5bY1BQYD#W^meI6PBADO9xbbG62Ib^J50hz~4*S?f0Vy79w98sydC$VRo z=k0cLkWIF|Pd|{(E8h12CnvwUSD4q41Zy+6Jh}qbF{Y@j%AzjoG}c~X7ZXD`KLh$T)qt;E=OvQ0o={% z+eSQ@Ejk}Y>_Znzl9)$tV*9aPo7d+)3GXrLH?zg(s74RyKTlH(&`4zlHTMo~+B1HJ+A{oTG0bIEr_b1dlnfc?FU8-w(~ zu2QG-Pp&at&2%q(@XaLYCHgAFGykYL9yey_ER*G;r`s4+J<++*^-klHrLkw}hW0 zCQruL9DKzu8%7yBH{3FRysWoWuj1pB+?zU-)CYzwhx8CKVPA86vpq>ht}`IqXMDDM zS(saeGc2&;f>CnBIe7Ld$d`yi%a-6OBIw=&CU-j2sai=4(y((yG-VsW2FqIK{D6L8 zx6|JoGC20OL|A$YbzrmsWimkA0>6JF6Nh~g4vT_dzlaK_7GsL3b-;I8nTzC>R6B9+ z_#2eLXOL|^J&NLvA!~8PmDVew*H}8jOe=zSa2sKI&hg#jcjyf62WWwey&rb_sB;h> zR74<+en`K#Xp{CJ%F=&3wscMVX zs*B;$|evb`dxn&0^@I(mn&iK?WLpZCR+J93@gzG7dcskQA#MG&TGF855_RqOTSQ~lXZJC0bp z??M;du)t{+Q>(JjZzXo?~s^ZReiVnTGQqRRrEsSZKbPLSaPt7wNg|q$X*AF`+y+_Z9cYi>-&b-O#pA;QHW<+1 ziiS!;f)fNG%=2%yaQS_Z21KlvCs{ z0#yN|*aicPY$r5R;OBXd8VhI7anYPth>$i}u(74H)%ZO`%i7iKGMpI~BbY>T9lJE1 z9hNbzNIo&TQtBE&^G5ALZiRQcDnOgoo29VR^Ze2Rxc=km92jXJuw=K)5^GTFiNq2R zwppU7>2PFFG&KjTI8Af-puxy!tPx-_1$IY@6#8kf!K9Zek-OEDW6ro+wE)$I3DaA-jlI?%ci{- z_wC)XYvYzZ+a9~Y)W4m+Y0IvxE$}TAkXQZ|6JsjO#4smHOpLnFED=NN@Xiu3_^H26 z#1KB-n!GOY8zRP6)p7rmiD8mUOpNk6L(E?xV%P*F*r^;A$No1S2C_bItu}LphLQR$ z8b(>*FK8HL5fTd{5S*31*GIohzDNn*h-QvbM`xw))-Vaf{eNaD7>P;lBr=V>%-f07 zd<+YukxTT-l?3kWAa5tGc13ztlRpBucO?!^$krD;w>+cm|4d$5LtX-6W_1ox{rs{Y zKKtym6%RAEzE>9Qe&D|U^Nkr9JI4S0VdX)h^J@<5$0q`4`%x>#W zP0n%m_BIv6r%RA^Mjo@51r>E;wa?C&yT3?}ZfcD)Hcn7=(wZ3mRKne08aF})3T6a* zAb%d4?kV1vkd;t2qAzJ*qd|(kL=h4K#(^AF%}T@Q{z^=L^V z-yzN+C448h*npKF8kkM+gm*!0szxkPh2Ft)#i$XcmtcV2xy@g%d5;>gc=Lb7#keDl zUDE?#Af5+_@h7JBz;=h&$L+MpK42#avF>NGx?coJK+56;X8?7crICs<|B-pTY;D_e zS-l)$R*hYi2C%!7?5YzQuhRc8VF8zSC6kOAEJLI&zRv(G4IAYo3ULCY-IgVd^?i0B zlaBgiW6favC&jc6oZ2yse~Poq*!k3u@F8)C{*G`_tplT~U?vi*73*=YL0z#+*w(m9Ox%qfu##FQjlr&EP% z%m{U`fCUv3Vz4FBgOe~6VPsU8E#p!79>UV`u;guegwP-HSZkL!2MKvu93|HRTy7b) z#2CCGNj+)(FULIk3eFs|Mr+S{^VQa5vZuO>P$+4+#}BhWon1_V&x)7{ESWr`+F#6i z({>%$D^K6G&G&Tme&15M(7&)U*1xa@^+zVWQ%98lrjiij@WNc{-SP;aEXT?0ucCM* z&gd;cEo!LzklIgWHnXyht4t1cX{Ay)yOMGT7q?gvTRe%tmC4$hwr6k3FW^3U`-C5^ z9_p)AC;MiuKifoIk97G_G0>ZsGfy4fw|8rQU_(dh>FZNkjgBrJn4hw0RZ&q8+=JEhymYW_mhHuWcVq<89rRZc z{f+J4fIZ$MEn1cg$s2I>I$Jt*Fh;fEby9S8%t zQSv*Sti!-x=m@n8-1wfA#evueJcp=|f$)vtI0ko2*ddtstOy}upm(5e=v5G#H$#tP z8)a zMHEa!5zTw-EBlz;I>kFE?B0^u0s7Z6%W}&z^dm{b%lKGJrsI2Sg&FAbkzP~m?@VwJY@*Vah#DFq9sh2Y8@W7P zU2!fdlj=h=#4b158g2DeI^aB<5(9b^)7Lpv<$jp(kCAiW$Bwdp+8dAy1Q9C?7rFJe z>9*2o;uKI zqLB*tlD#pU5*iRnA*1r%rE;78o>`>9x{xXv-9he*e}Fc}%d9#7m%8^3YhwM{g%eQ0 zSOCiwd+eZqgbs>;NC}D{pjfwr5FiR9BtgKv)tO8>frQ>W2#5$MO0fVou!3cay`cg& zP*LohH9_}pyU%;hb*}Tr_q`_%nPk=sNv1r{v&y~h#SG1z#lNl8izlacr{5_$iJeO( z8$4;)im)Mq+#QP0NJu*vPw7+S68hn^qdO0$!GyU!&Q-eIze+oQp&)%<=3zb7{_12T zMz<76*A4?{mpE1fwGy?1qK`WdjoJbQ5AhJ5h#!1Jnfowze%N1J|mP_ zosf>kxQ4QX>7=ytX{k!FXkv8wV+cG#;8v{9Z%eOGUd}(yq=};PJF*w#SH?si*2hgI zetO&$expzb!0gKUefRk}7;1E@V8T&jNcbfcm!peS$urF&3DyWu!*>bqxLCYGUslR@ z11!@`9t0kP1%%SsLc5#=FaR~WMgrX!Nxnf!O;hrx?&IUVB8!FDbGZ2fs`kMl|LuzW zcTmC`5nazzhR|Zd%a=pxvrV)RE~_j4A>;={Rt=O_O2!(U;t%lONF>#_6OphqawY^O zNGGO%O$%nJ%o8!@F$4}`0vNqHR|V6>fO-g!8v}dOW|GX0z8yI)asm{Q9_AI@Kne(8 z7Fz8vbGAx8e3&=Lf?#-T&{UG~p&H;F*YVppEFiex;7Am(Yf0u2F zWmZ%IMnVdHR{-wT>QZ(%# zBG7~pJEo7vs@3L*y-7?w!7PtbywyN_HLFC>l2!65B83dhq(|~dCHXKsDf21Wew9^m zoS5@5+xQ-FsWClza$8bd6xjCk!tpSz#A}m}TS2t=^zk*=(L)bK#-h*Y4HDXcw>nx$ zqka$f5uHx>0ssTROoDI!3DD7m(4vv`Bp8IjLllZs?_e?_5eFE8Apx|PgE|b&e8A=V zb8__$fhw!v5ipPbYmznj&%6!1s!P!*bS63#okRt?5>2k2WdbrOpD9y`w z&jkSBqp)ZQJRsI^Lva{AVaQuh`UPp%cra^nA@dH;QQ_}op#&W8%meybG#m_ykbp-# z2qA#W7M0=l_@fX2p*M3F;x(XH!kxok9tm~?mjweI2M4=AMJ~y?=pLQ{aQ=a==o*Ps z36&g%p-_rIs%-!UwY2c5mcL1`)bj@_Ul#SZTA-S9(ObCE9U#gRoa9ML_)yCug&>DmI#rXU?JLWJu=6E0CLqXOF^8#f`@UzHEr~tYFjSWIQv}G{0 z!OSn1g95yY_mV}A`4}KCk(Y1{&~T9-6!D`;{dh6$P*h_(pC2a@-@t-ijUdE&; zCZp%D$^38r3}v2D3hIiaZMzX)J1J>#Qf?v`a*36mRF}k3ijk9%i6{Xm6uMEUOB?~* zDH`JUPeTwyrN|`AN+y!x`VF+U z-`**z@|Tt6EKJ>yV;LZ)W)uOp8Sp}E!BAj1MxdUu6kY#}fixu<(_t_RVsMpPVrM~b z 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℞aQ$8f}nB!9-+lOpMemZK% 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 z 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 Q2mk>90RR910O^hm3LXW&IsgCw literal 0 HcmV?d00001 diff --git a/test/presentation/papyrus_reader_test.dart b/test/presentation/papyrus_reader_test.dart index df30114..bbc7fc0 100644 --- a/test/presentation/papyrus_reader_test.dart +++ b/test/presentation/papyrus_reader_test.dart @@ -698,17 +698,20 @@ void main() { final gate = Completer(); final engine = _UiReaderEngine(loadGate: gate); final controller = controllerFor([engine]); + var backCalls = 0; addTearDown(controller.dispose); await pumpReader( tester, document: document('Loading'), controller: controller, - onBack: () {}, + onBack: () => backCalls++, ); expect(find.byType(CircularProgressIndicator), findsOneWidget); - expect(find.byTooltip('Back'), findsNothing); + expect(find.byTooltip('Back'), findsOneWidget); + await tester.tap(find.byTooltip('Back')); + expect(backCalls, 1); expect(find.text('Opening The Loading Reader…'), findsNothing); expect( tester.getCenter(find.byType(CircularProgressIndicator)), diff --git a/test/stress/large_books_test.dart b/test/stress/large_books_test.dart new file mode 100644 index 0000000..d7503a0 --- /dev/null +++ b/test/stress/large_books_test.dart @@ -0,0 +1,91 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:io'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:papyrus_reader/papyrus_reader.dart'; + +import '../support/pdfium_test_setup.dart'; + +// Opt in with PAPYRUS_LARGE_BOOKS pointing to the downloaded stress corpus. +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + final directory = Platform.environment['PAPYRUS_LARGE_BOOKS']; + const cases = { + 'websters-dictionary.epub': ReaderFormat.epub, + 'websters-dictionary.txt': ReaderFormat.txt, + 'websters-dictionary.mobi': ReaderFormat.mobi, + 'websters-dictionary.azw3': ReaderFormat.azw3, + 'alice-high-resolution.pdf': ReaderFormat.pdf, + 'whiz-272-pages.cbz': ReaderFormat.cbz, + 'whiz-272-pages.cbr': ReaderFormat.cbr, + }; + + group( + 'large real-book corpus', + () { + setUpAll(initializePdfiumForTest); + + for (final entry in cases.entries) { + test(entry.key, () async { + final document = ReaderDocument( + id: entry.key, + format: entry.value, + loadBytes: () => File('$directory/${entry.key}').readAsBytes(), + ); + final engine = ReaderEngineRegistry.defaults().resolve(entry.value); + addTearDown(engine.dispose); + final clock = Stopwatch()..start(); + var ticks = 0; + var lastTick = 0; + var longestGap = 0; + var peakRss = ProcessInfo.currentRss; + final heartbeat = Timer.periodic(const Duration(milliseconds: 16), ( + _, + ) { + final now = clock.elapsedMilliseconds; + final gap = now - lastTick; + if (gap > longestGap) longestGap = gap; + lastTick = now; + ticks++; + final rss = ProcessInfo.currentRss; + if (rss > peakRss) peakRss = rss; + }); + addTearDown(heartbeat.cancel); + + await engine.load(document, preferences: const ReaderPreferences()); + final openMs = clock.elapsedMilliseconds; + expect(engine.snapshot.status, ReaderStatus.ready); + expect(ticks, greaterThan(0)); + await engine.goToProgress(.9); + final locator = (await engine.currentLocator())!; + final serialized = ReaderLocator.fromJson(locator.toJson()); + expect(serialized, locator); + final progress = switch (locator) { + EpubReaderLocator() => locator.totalProgression, + PdfReaderLocator() => locator.totalProgression, + }; + expect(progress, closeTo(.9, .02)); + await engine.goToProgress(.1); + await engine.goTo(serialized); + expect(await engine.currentLocator(), locator); + expect(engine.snapshot.status, ReaderStatus.ready); + heartbeat.cancel(); + stdout.writeln( + jsonEncode({ + 'file': entry.key, + 'openMs': openMs, + 'openAndSeekMs': clock.elapsedMilliseconds, + 'heartbeatTicks': ticks, + 'longestEventLoopGapMs': longestGap, + 'peakTestProcessRssMiB': peakRss / (1024 * 1024), + }), + ); + }, timeout: const Timeout(Duration(minutes: 5))); + } + }, + skip: directory == null + ? 'Set PAPYRUS_LARGE_BOOKS to run the opt-in corpus.' + : false, + ); +} diff --git a/test/support/generate_comic_fixtures.py b/test/support/generate_comic_fixtures.py new file mode 100644 index 0000000..4576fb0 --- /dev/null +++ b/test/support/generate_comic_fixtures.py @@ -0,0 +1,46 @@ +"""Generate owned PNG pages, CBZ, and stored RAR4 fixtures (stdlib only). + +For a compressed RAR5 fixture, run RAR against the generated pages: + rar a -ep -m5 -s pages-rar5.cbr page10.png page2.png page1.png +""" +import binascii +from pathlib import Path +import struct +import zlib +import zipfile + +root = Path(__file__).resolve().parents[1] / 'fixtures' / 'comics' +root.mkdir(exist_ok=True) + + +def png_chunk(kind, data): + return struct.pack('>I', len(data)) + kind + data + struct.pack('>I', binascii.crc32(kind + data)) + + +def header(kind, flags, body): + value = struct.pack('IIBBBBB', width, height, 8, 2, 0, 0, 0)) + data += png_chunk(b'IDAT', zlib.compress(raw)) + png_chunk(b'IEND', b'') + pages[name] = data + (root / name).write_bytes(data) + +with zipfile.ZipFile(root / 'pages.cbz', 'w', zipfile.ZIP_DEFLATED) as archive: + for name, data in pages.items(): + archive.writestr(name, data) + archive.writestr('__MACOSX/._page0.png', b'not an image') + archive.writestr('ComicInfo.xml', 'Test comic') + +rar = b'Rar!\x1a\x07\0' + header(0x73, 0, b'\0' * 6) +for name, data in pages.items(): + encoded = name.encode() + body = struct.pack(' + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/third_party/kindle_unpack/UPSTREAM.md b/third_party/kindle_unpack/UPSTREAM.md new file mode 100644 index 0000000..db91d16 --- /dev/null +++ b/third_party/kindle_unpack/UPSTREAM.md @@ -0,0 +1,16 @@ +# Kindle decoder provenance + +Vendored from [`kindle_unpack` 0.2.0](https://pub.dev/packages/kindle_unpack/versions/0.2.0), +[upstream repository](https://github.com/emaurel/kindle_unpack). The upstream GPL-3.0 +license is retained in LICENSE and included in generated browser worker notices. + +Papyrus changes: + +- Use archive's pure Dart ZLibDecoder for embedded fonts instead of dart:io, + so the same parser runs in browser workers and native isolates. + +- Resolve KF8 indices relative to the KF8 section in dual-format files, retain + shared images from the MOBI section, and recognize both boundary conventions. + +Keep format-specific integration and sanitization in the reader's formats folder. +The source book is never rewritten. This package does not remove DRM. diff --git a/third_party/kindle_unpack/lib/kindle_unpack.dart b/third_party/kindle_unpack/lib/kindle_unpack.dart new file mode 100644 index 0000000..29f960d --- /dev/null +++ b/third_party/kindle_unpack/lib/kindle_unpack.dart @@ -0,0 +1,27 @@ +/// A pure-Dart library for reading Amazon Kindle ebook files +/// (MOBI / AZW / AZW3 / KF8). +/// +/// This is the public entry point; everything else lives in `src/`. +library; + +export 'src/decompress/book_text.dart'; +export 'src/decompress/huff_cdic.dart'; +export 'src/epub.dart'; +export 'src/exception.dart'; +export 'src/decompress/palmdoc.dart'; +export 'src/decompress/trailing_data.dart'; +export 'src/headers/exth.dart'; +export 'src/headers/header_exception.dart'; +export 'src/headers/mobi_header.dart'; +export 'src/headers/palmdoc_header.dart'; +export 'src/images.dart'; +export 'src/kindle_book.dart'; +export 'src/kf8/boundary.dart'; +export 'src/kf8/fdst.dart'; +export 'src/kf8/flows.dart'; +export 'src/kf8/font.dart'; +export 'src/kf8/indx.dart'; +export 'src/kf8/resc.dart'; +export 'src/kf8/skeleton_fragment.dart'; +export 'src/kf8/xhtml_split.dart'; +export 'src/pdb.dart'; diff --git a/third_party/kindle_unpack/lib/src/decompress/book_text.dart b/third_party/kindle_unpack/lib/src/decompress/book_text.dart new file mode 100644 index 0000000..7461350 --- /dev/null +++ b/third_party/kindle_unpack/lib/src/decompress/book_text.dart @@ -0,0 +1,90 @@ +import 'dart:typed_data'; + +import '../headers/header_exception.dart'; +import '../headers/mobi_header.dart'; +import '../headers/palmdoc_header.dart'; +import '../pdb.dart'; +import 'huff_cdic.dart'; +import 'palmdoc.dart'; +import 'trailing_data.dart'; + +/// Decompress and concatenate every text record in a MOBI book. +/// +/// Text records are PDB records 1..[PalmDocHeader.textRecordCount]. Each +/// record is first stripped of its trailing-data entries (per +/// [MobiHeader.extraDataFlags]) and then run through the appropriate +/// decompressor for [PalmDocHeader.compression]. For HUFF/CDIC files, +/// the HUFF + CDIC records pointed at by [MobiHeader.huffmanRecordOffset] +/// / [MobiHeader.huffmanRecordCount] are loaded once and shared across +/// all text records. +/// +/// Returns the raw uncompressed bytes of the book's text. Decoding to a +/// string is the caller's job — the bytes are in [MobiHeader.textEncoding]. +/// +/// Throws [HeaderException] for encrypted files or malformed metadata, +/// and [HuffCdicException] for malformed HUFF/CDIC records. +Uint8List decompressBookText({ + required PdbFile pdb, + required PalmDocHeader palmDoc, + required MobiHeader mobi, +}) { + if (palmDoc.isEncrypted || mobi.hasDrm) { + throw HeaderException( + 'cannot decompress encrypted MOBI (encryption=${palmDoc.encryption}, ' + 'hasDrm=${mobi.hasDrm})', + ); + } + + final count = palmDoc.textRecordCount; + if (count == 0) return Uint8List(0); + if (1 + count > pdb.records.length) { + throw HeaderException( + 'PalmDOC header advertises $count text records but PDB only has ' + '${pdb.records.length - 1} records past record 0', + ); + } + + // Build the HUFF/CDIC decoder up front so we don't re-parse the tables + // for every text record. + HuffTable? huff; + CdicTable? cdic; + if (palmDoc.compression == CompressionType.huffCdic) { + final huffOff = mobi.huffmanRecordOffset; + final huffCount = mobi.huffmanRecordCount; + if (huffOff == 0 || huffCount < 2) { + throw HeaderException( + 'HUFF/CDIC compression but MOBI header has no HUFF/CDIC records ' + '(offset=$huffOff, count=$huffCount)', + ); + } + if (huffOff + huffCount > pdb.records.length) { + throw HeaderException( + 'HUFF/CDIC records [$huffOff..${huffOff + huffCount}) extend past ' + 'PDB record list (${pdb.records.length})', + ); + } + huff = HuffTable.parse(pdb.records[huffOff].data); + cdic = CdicTable.parse([ + for (var i = huffOff + 1; i < huffOff + huffCount; i++) + pdb.records[i].data, + ]); + } + + final flags = mobi.extraDataFlags; + final out = BytesBuilder(copy: false); + for (var i = 1; i <= count; i++) { + final raw = pdb.records[i].data; + final payload = stripTrailingDataEntries(raw, flags); + switch (palmDoc.compression) { + case CompressionType.none: + out.add(payload); + case CompressionType.palmDoc: + out.add(decompressPalmDoc(payload)); + case CompressionType.huffCdic: + out.add( + decompressHuffCdic(input: payload, huff: huff!, cdic: cdic!), + ); + } + } + return out.toBytes(); +} diff --git a/third_party/kindle_unpack/lib/src/decompress/huff_cdic.dart b/third_party/kindle_unpack/lib/src/decompress/huff_cdic.dart new file mode 100644 index 0000000..56cfc31 --- /dev/null +++ b/third_party/kindle_unpack/lib/src/decompress/huff_cdic.dart @@ -0,0 +1,348 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import '../exception.dart'; + +/// Thrown when a HUFF/CDIC record can't be parsed or a compressed text +/// record can't be decoded. +class HuffCdicException extends KindleUnpackException { + HuffCdicException(super.message); +} + +/// One entry in the HUFF cache (the 256-entry table indexed by the top +/// 8 bits of the input). Real-world MOBI files carry these as packed +/// uint32s; we unpack into a typed record here for clarity. +class HuffCacheEntry { + const HuffCacheEntry({ + required this.codeLen, + required this.terminal, + required this.maxCode, + }); + + /// Number of bits this code consumes (1..32). + final int codeLen; + + /// True when the cache entry alone resolves the codeword. False means + /// we still need to scan [HuffTable.minCode]/[HuffTable.maxCodeByLen] + /// to find the actual length. + final bool terminal; + + /// Pre-shifted maximum code value with this prefix, used to compute + /// the dictionary index as `(maxCode - code) >>> (32 - codeLen)`. + final int maxCode; +} + +/// Parsed HUFF record. The body is two tables: a 256-entry cache for the +/// fast path, and a 32-pair (mincode, maxcode) table indexed by code +/// length 1..32 for the slow path on non-terminal cache hits. +class HuffTable { + HuffTable._({ + required this.cache, + required this.minCode, + required this.maxCodeByLen, + }); + + /// 256 entries indexed by the top 8 bits of the input bitstream. + final List cache; + + /// Indexed by code length 0..32. `minCode[i]` is the smallest 32-bit + /// code value that has length `i`. Index 0 is a sentinel. + final List minCode; + + /// Indexed by code length 0..32. `maxCodeByLen[i]` is the largest + /// 32-bit code value with length `i` (inclusive). + final List maxCodeByLen; + + static HuffTable parse(Uint8List record) { + if (record.length < 24) { + throw HuffCdicException( + 'HUFF record too short: ${record.length} (need 24+ for header)', + ); + } + final view = ByteData.sublistView(record); + + // The signature includes the fixed header length (0x18 = 24). + final sig = latin1.decode(Uint8List.sublistView(record, 0, 4)); + if (sig != 'HUFF') { + throw HuffCdicException('expected "HUFF" signature, got "$sig"'); + } + final headerLen = view.getUint32(4); + if (headerLen != 0x18) { + throw HuffCdicException( + 'unsupported HUFF header length: 0x${headerLen.toRadixString(16)}', + ); + } + + final off1 = view.getUint32(8); + final off2 = view.getUint32(12); + if (off1 + 256 * 4 > record.length) { + throw HuffCdicException( + 'HUFF cache table at offset $off1 extends past record end', + ); + } + if (off2 + 64 * 4 > record.length) { + throw HuffCdicException( + 'HUFF mincode/maxcode table at offset $off2 extends past record end', + ); + } + + final cache = List.generate(256, (i) { + final v = view.getUint32(off1 + i * 4); + final codeLen = v & 0x1F; + final terminal = (v & 0x80) != 0; + final maxCodeRaw = v >> 8; // 24 bits + if (codeLen == 0) { + throw HuffCdicException('HUFF cache entry $i has codeLen 0'); + } + if (codeLen <= 8 && !terminal) { + throw HuffCdicException( + 'HUFF cache entry $i has codeLen $codeLen but is non-terminal', + ); + } + // Promote the 24-bit raw value to a 32-bit ceiling. + final maxCode = ((maxCodeRaw + 1) << (32 - codeLen)) - 1; + return HuffCacheEntry( + codeLen: codeLen, + terminal: terminal, + maxCode: maxCode & 0xFFFFFFFF, + ); + }, growable: false); + + // Build min/max-code arrays. Index 0 is sentinel; indices 1..32 hold + // the (mincode, maxcode) for codes of that length. + final minCode = List.filled(33, 0); + final maxCodeByLen = List.filled(33, 0); + // Length 0 sentinels: mincode=0, maxcode = ((0+1) << 32) - 1. + // (Dart's int is 64-bit signed, so we just store 0xFFFFFFFF here.) + maxCodeByLen[0] = 0xFFFFFFFF; + for (var i = 1; i <= 32; i++) { + final mincodeRaw = view.getUint32(off2 + (i - 1) * 8); + final maxcodeRaw = view.getUint32(off2 + (i - 1) * 8 + 4); + minCode[i] = (mincodeRaw << (32 - i)) & 0xFFFFFFFF; + maxCodeByLen[i] = (((maxcodeRaw + 1) << (32 - i)) - 1) & 0xFFFFFFFF; + } + + return HuffTable._( + cache: cache, + minCode: minCode, + maxCodeByLen: maxCodeByLen, + ); + } +} + +/// One entry in the merged CDIC dictionary. [bytes] is either a +/// pre-decoded literal phrase ([precoded]=true) or itself a HUFF-encoded +/// payload that must be recursively expanded on first use. +class CdicEntry { + CdicEntry({required this.bytes, required this.precoded}); + + Uint8List bytes; + bool precoded; +} + +/// The merged dictionary built from one HUFF record's worth of CDIC +/// records (typically 1..a few). Index space matches the integers +/// produced by [decompressHuffCdic] when it resolves a codeword. +class CdicTable { + CdicTable._({required this.entries, required this.codeBits}); + + final List entries; + + /// Code length in bits (typically 16 — i.e. up to 65 536 entries per + /// CDIC record). Stored mostly for diagnostics. + final int codeBits; + + /// Build the dictionary from [records] in order. The first CDIC + /// declares the total phrase count and the per-record bits; subsequent + /// CDICs continue filling the same flat list. + static CdicTable parse(List records) { + if (records.isEmpty) { + throw HuffCdicException('CDIC table needs at least one record'); + } + var totalPhrases = 0; + var bits = 0; + final entries = []; + + for (var ri = 0; ri < records.length; ri++) { + final rec = records[ri]; + if (rec.length < 16) { + throw HuffCdicException( + 'CDIC record $ri too short: ${rec.length} (need 16+)', + ); + } + final view = ByteData.sublistView(rec); + final sig = latin1.decode(Uint8List.sublistView(rec, 0, 4)); + if (sig != 'CDIC') { + throw HuffCdicException( + 'CDIC record $ri: expected "CDIC" signature, got "$sig"', + ); + } + final headerLen = view.getUint32(4); + if (headerLen != 0x10) { + throw HuffCdicException( + 'CDIC record $ri: unsupported header length ' + '0x${headerLen.toRadixString(16)}', + ); + } + final phrases = view.getUint32(8); + final recBits = view.getUint32(12); + if (ri == 0) { + totalPhrases = phrases; + bits = recBits; + } else if (phrases != totalPhrases || recBits != bits) { + throw HuffCdicException( + 'CDIC record $ri header disagrees with first record ' + '(phrases=$phrases vs $totalPhrases, bits=$recBits vs $bits)', + ); + } + // How many entries this record carries: at most 1< rec.length) { + throw HuffCdicException( + 'CDIC record $ri offset table runs past record end', + ); + } + for (var i = 0; i < n; i++) { + final off = view.getUint16(16 + i * 2); + if (16 + off + 2 > rec.length) { + throw HuffCdicException( + 'CDIC record $ri entry $i offset $off out of range', + ); + } + final lengthAndFlag = view.getUint16(16 + off); + final blen = lengthAndFlag & 0x7FFF; + final precoded = (lengthAndFlag & 0x8000) != 0; + final start = 16 + off + 2; + final end = start + blen; + if (end > rec.length) { + throw HuffCdicException( + 'CDIC record $ri entry $i payload runs past record end', + ); + } + entries.add( + CdicEntry( + bytes: Uint8List.sublistView(rec, start, end), + precoded: precoded, + ), + ); + } + } + + if (entries.length != totalPhrases) { + throw HuffCdicException( + 'CDIC: filled ${entries.length} entries but header advertises ' + '$totalPhrases', + ); + } + return CdicTable._(entries: entries, codeBits: bits); + } +} + +/// Decompress a single HUFF/CDIC-compressed payload. Caches the result +/// of recursively expanded dictionary entries on the [cdic] in place +/// (precoded=true after first use), so subsequent records reuse the +/// work. +/// +/// Algorithm port of `HuffcdicReader.unpack` from KindleUnpack +/// (mobi_uncompress.py). The 64-bit sliding window is maintained as two +/// big-endian uint32s so we don't depend on 64-bit unsigned semantics +/// the way the Python original does. +Uint8List decompressHuffCdic({ + required Uint8List input, + required HuffTable huff, + required CdicTable cdic, +}) { + return _DecompressContext(huff, cdic).run(input); +} + +class _DecompressContext { + _DecompressContext(this.huff, this.cdic); + + final HuffTable huff; + final CdicTable cdic; + + /// Cycle-detection set: dictionary indices currently being expanded. + /// A precoded entry that recursively references itself would otherwise + /// loop forever. + final Set _expanding = {}; + + Uint8List run(Uint8List input) { + // Pad with 8 zero bytes so the 64-bit-window reads at the tail are + // safe. Real text records are 4 KiB so this is cheap. + final padded = Uint8List(input.length + 8); + padded.setRange(0, input.length, input); + final view = ByteData.sublistView(padded); + + var bitsLeft = input.length * 8; + var pos = 0; + var high = view.getUint32(0); + var low = view.getUint32(4); + var n = 32; + + final out = BytesBuilder(copy: false); + + while (true) { + if (n <= 0) { + pos += 4; + high = low; + low = view.getUint32(pos + 4); + n += 32; + } + + // code = top 32 bits of (high::low) shifted right by n. + final int code; + if (n == 32) { + code = high; + } else if (n == 0) { + code = low; + } else { + code = ((high << (32 - n)) | (low >>> n)) & 0xFFFFFFFF; + } + + final cacheEntry = huff.cache[code >>> 24]; + var codeLen = cacheEntry.codeLen; + var maxCode = cacheEntry.maxCode; + if (!cacheEntry.terminal) { + while (code < huff.minCode[codeLen]) { + codeLen++; + if (codeLen > 32) { + throw HuffCdicException('codeword exceeds 32 bits'); + } + } + maxCode = huff.maxCodeByLen[codeLen]; + } + + n -= codeLen; + bitsLeft -= codeLen; + if (bitsLeft < 0) break; + + final r = (maxCode - code) >>> (32 - codeLen); + if (r < 0 || r >= cdic.entries.length) { + throw HuffCdicException( + 'dictionary index $r out of range ' + '(table size ${cdic.entries.length})', + ); + } + final entry = cdic.entries[r]; + if (entry.precoded) { + out.add(entry.bytes); + } else { + if (!_expanding.add(r)) { + throw HuffCdicException('cycle in CDIC entry $r'); + } + final expanded = run(entry.bytes); + _expanding.remove(r); + // Cache for subsequent records of the same book. + entry.bytes = expanded; + entry.precoded = true; + out.add(expanded); + } + } + + return out.toBytes(); + } +} diff --git a/third_party/kindle_unpack/lib/src/decompress/palmdoc.dart b/third_party/kindle_unpack/lib/src/decompress/palmdoc.dart new file mode 100644 index 0000000..9b13d5b --- /dev/null +++ b/third_party/kindle_unpack/lib/src/decompress/palmdoc.dart @@ -0,0 +1,85 @@ +import 'dart:typed_data'; + +import '../exception.dart'; + +/// Thrown when a PalmDOC-compressed input can't be decoded. +class PalmDocDecompressException extends KindleUnpackException { + PalmDocDecompressException(super.message); +} + +/// Decompress a single PalmDOC-compressed byte stream. +/// +/// PalmDOC is a one-pass byte-coded LZ77 variant. Each control byte `c` +/// dispatches to one of four opcode classes: +/// +/// - `0x00` and `0x09..0x7F`: emit `c` literally. +/// - `0x01..0x08`: read the next `c` bytes verbatim and emit them. +/// - `0x80..0xBF`: a 2-byte back-reference. The 14 bits below the `10` +/// prefix split into 11 bits of distance (1..2047, measured back from +/// the current output cursor) and 3 bits of length (encoded as +/// `length - 3`, so the actual length is 3..10). Bytes are copied one +/// at a time, so overlapping copies (`distance < length`) produce +/// repeating patterns. +/// - `0xC0..0xFF`: a "space pair" — emit `0x20` followed by `c ^ 0x80`. +/// +/// The decoder is strict: a back-reference whose distance is zero or +/// would read before the start of the output buffer throws. A literal +/// run that would read past the end of the input throws. +Uint8List decompressPalmDoc(Uint8List input) { + final out = []; + var i = 0; + final n = input.length; + + while (i < n) { + final c = input[i++]; + + if (c == 0 || (c >= 0x09 && c <= 0x7F)) { + out.add(c); + } else if (c >= 0x01 && c <= 0x08) { + if (i + c > n) { + throw PalmDocDecompressException( + 'literal run of $c bytes at offset ${i - 1} runs past input ' + '(length $n)', + ); + } + for (var j = 0; j < c; j++) { + out.add(input[i + j]); + } + i += c; + } else if (c >= 0x80 && c <= 0xBF) { + if (i >= n) { + throw PalmDocDecompressException( + 'back-reference at offset ${i - 1} truncated — missing low byte', + ); + } + final c2 = input[i++]; + final combined = ((c << 8) | c2) & 0x3FFF; + final distance = combined >> 3; + final length = (combined & 0x07) + 3; + if (distance == 0) { + throw PalmDocDecompressException( + 'back-reference at offset ${i - 2} has distance 0', + ); + } + final src = out.length - distance; + if (src < 0) { + throw PalmDocDecompressException( + 'back-reference at offset ${i - 2} reads before start of output ' + '(distance $distance, output ${out.length})', + ); + } + // Copy byte-by-byte from the live output. When distance < length, + // each appended byte feeds the next read, producing run-length + // patterns — that's the LZ77 trick that compresses repeated chars. + for (var j = 0; j < length; j++) { + out.add(out[src + j]); + } + } else { + // c >= 0xC0: space-pair shortcut. + out.add(0x20); + out.add(c ^ 0x80); + } + } + + return Uint8List.fromList(out); +} diff --git a/third_party/kindle_unpack/lib/src/decompress/trailing_data.dart b/third_party/kindle_unpack/lib/src/decompress/trailing_data.dart new file mode 100644 index 0000000..553f5f2 --- /dev/null +++ b/third_party/kindle_unpack/lib/src/decompress/trailing_data.dart @@ -0,0 +1,72 @@ +import 'dart:typed_data'; + +import '../headers/header_exception.dart'; + +/// Compute the total length of trailing-data entries appended to a +/// MOBI text record, given the `extra record data flags` bitfield from +/// the MOBI header (offset 0xF2). +/// +/// The flags bitfield works as follows: +/// - Each bit `i > 0` set means the record has a length-prefixed trailer +/// for category `i` appended at its end. The length is a backwards +/// variable-width integer: bytes are read from the *end* of the record +/// going backward, each contributing 7 bits to the result; a byte with +/// the high bit set marks the last (most-significant) byte of the int. +/// The decoded value is the trailer's total length, including the +/// bytes that encode it. +/// - Bit 0 set means the record ends with a "multibyte char overlap" +/// indicator: a single byte whose low 2 bits + 1 give how many bytes +/// at the end of the record belong to a multi-byte char that started +/// in the previous record. We strip that 1 indicator byte plus the +/// bytes it points at. +/// +/// All bit-`i>0` trailers are stripped first (each pointing at the *new* +/// end as we shrink), then the bit-0 indicator is consumed last. +int sizeOfTrailingDataEntries(Uint8List record, int flags) { + int sizeOfOne(int end) { + var bitpos = 0; + var result = 0; + var pos = end; + while (pos > 0) { + final v = record[pos - 1]; + result |= (v & 0x7F) << bitpos; + bitpos += 7; + pos -= 1; + if ((v & 0x80) != 0 || bitpos >= 28) break; + } + return result; + } + + var num = 0; + var testflags = flags >> 1; + while (testflags != 0) { + if ((testflags & 1) != 0) { + num += sizeOfOne(record.length - num); + } + testflags >>= 1; + } + if ((flags & 1) != 0) { + if (record.length - num - 1 < 0) { + throw HeaderException( + 'multibyte-overlap indicator points before record start', + ); + } + num += (record[record.length - num - 1] & 0x3) + 1; + } + return num; +} + +/// Return a view of [record] with its trailing data entries stripped, so +/// the result is the raw compressed payload (PalmDOC or HUFF/CDIC). +/// When [flags] is 0 this is a no-op. +Uint8List stripTrailingDataEntries(Uint8List record, int flags) { + if (flags == 0) return record; + final size = sizeOfTrailingDataEntries(record, flags); + if (size < 0 || size > record.length) { + throw HeaderException( + 'trailing-data size $size out of range for record length ' + '${record.length}', + ); + } + return Uint8List.sublistView(record, 0, record.length - size); +} diff --git a/third_party/kindle_unpack/lib/src/epub.dart b/third_party/kindle_unpack/lib/src/epub.dart new file mode 100644 index 0000000..5d8b718 --- /dev/null +++ b/third_party/kindle_unpack/lib/src/epub.dart @@ -0,0 +1,290 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:archive/archive.dart'; + +import 'images.dart'; +import 'kf8/xhtml_split.dart'; + +/// Minimal EPUB-3 builder: takes the building blocks Phases 5–10b +/// produced (XHTML parts, images, optional CSS / fonts) plus a small +/// metadata bundle, and emits a valid \[EPUB 3.x\] zip suitable for any +/// EPUB reader. The packager isn't ambitious — it doesn't try to +/// preserve Kindlegen's original spine ordering refinements or NCX +/// playOrder, just produces an EPUB that opens. +abstract final class EpubBuilder { + /// Build the EPUB zip. Returns the byte buffer (not written to disk). + /// + /// Layout matches the EPUB OCF spec: + /// ``` + /// mimetype (uncompressed, must be first) + /// META-INF/container.xml + /// OEBPS/content.opf + /// OEBPS/nav.xhtml + /// OEBPS/toc.ncx + /// OEBPS/Text/.xhtml + /// OEBPS/Images/. + /// OEBPS/Styles/