From 0c99cf874b920f469bd6f7d65879b75a9c0af3fc Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 11 Aug 2017 07:06:52 -0400 Subject: Sanitize test suite Remove problematic test files --- qpdf/qtest/qpdf.test | 67 +- qpdf/qtest/qpdf/U25A0.1-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.1-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.1.c-check | 3 - qpdf/qtest/qpdf/U25A0.1.check | 6 - qpdf/qtest/qpdf/U25A0.10-ogen.c-check | 13 - qpdf/qtest/qpdf/U25A0.10-ogen.check | 17 - qpdf/qtest/qpdf/U25A0.10.c-check | 13 - qpdf/qtest/qpdf/U25A0.10.check | 17 - qpdf/qtest/qpdf/U25A0.11-ogen.c-check | 13 - qpdf/qtest/qpdf/U25A0.11-ogen.check | 17 - qpdf/qtest/qpdf/U25A0.11.c-check | 13 - qpdf/qtest/qpdf/U25A0.11.check | 17 - qpdf/qtest/qpdf/U25A0.12-ogen.c-check | 13 - qpdf/qtest/qpdf/U25A0.12-ogen.check | 17 - qpdf/qtest/qpdf/U25A0.12.c-check | 13 - qpdf/qtest/qpdf/U25A0.12.check | 17 - qpdf/qtest/qpdf/U25A0.2-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.2-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.2.c-check | 3 - qpdf/qtest/qpdf/U25A0.2.check | 6 - qpdf/qtest/qpdf/U25A0.3-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.3-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.3.c-check | 3 - qpdf/qtest/qpdf/U25A0.3.check | 6 - qpdf/qtest/qpdf/U25A0.4-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.4-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.4.c-check | 3 - qpdf/qtest/qpdf/U25A0.4.check | 6 - qpdf/qtest/qpdf/U25A0.5-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.5-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.5.c-check | 3 - qpdf/qtest/qpdf/U25A0.5.check | 6 - qpdf/qtest/qpdf/U25A0.6-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.6-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.6.c-check | 3 - qpdf/qtest/qpdf/U25A0.6.check | 6 - qpdf/qtest/qpdf/U25A0.7-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.7-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.7.c-check | 3 - qpdf/qtest/qpdf/U25A0.7.check | 6 - qpdf/qtest/qpdf/U25A0.8-ogen.c-check | 3 - qpdf/qtest/qpdf/U25A0.8-ogen.check | 6 - qpdf/qtest/qpdf/U25A0.8.c-check | 3 - qpdf/qtest/qpdf/U25A0.8.check | 6 - qpdf/qtest/qpdf/U25A0.9-ogen.c-check | 13 - qpdf/qtest/qpdf/U25A0.9-ogen.check | 17 - qpdf/qtest/qpdf/U25A0.9.c-check | 13 - qpdf/qtest/qpdf/U25A0.9.check | 17 - qpdf/qtest/qpdf/U25A0.pdf | Bin 67790 -> 0 bytes qpdf/qtest/qpdf/delete-and-reuse-check.out | 6 + .../qpdf/encrypted-with-images.1-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.1-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.1.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.1.check | 6 + .../qpdf/encrypted-with-images.10-ogen.c-check | 13 + .../qtest/qpdf/encrypted-with-images.10-ogen.check | 17 + qpdf/qtest/qpdf/encrypted-with-images.10.c-check | 13 + qpdf/qtest/qpdf/encrypted-with-images.10.check | 17 + .../qpdf/encrypted-with-images.11-ogen.c-check | 13 + .../qtest/qpdf/encrypted-with-images.11-ogen.check | 17 + qpdf/qtest/qpdf/encrypted-with-images.11.c-check | 13 + qpdf/qtest/qpdf/encrypted-with-images.11.check | 17 + .../qpdf/encrypted-with-images.12-ogen.c-check | 13 + .../qtest/qpdf/encrypted-with-images.12-ogen.check | 17 + qpdf/qtest/qpdf/encrypted-with-images.12.c-check | 13 + qpdf/qtest/qpdf/encrypted-with-images.12.check | 17 + .../qpdf/encrypted-with-images.2-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.2-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.2.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.2.check | 6 + .../qpdf/encrypted-with-images.3-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.3-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.3.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.3.check | 6 + .../qpdf/encrypted-with-images.4-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.4-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.4.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.4.check | 6 + .../qpdf/encrypted-with-images.5-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.5-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.5.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.5.check | 6 + .../qpdf/encrypted-with-images.6-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.6-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.6.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.6.check | 6 + .../qpdf/encrypted-with-images.7-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.7-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.7.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.7.check | 6 + .../qpdf/encrypted-with-images.8-ogen.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.8-ogen.check | 6 + qpdf/qtest/qpdf/encrypted-with-images.8.c-check | 3 + qpdf/qtest/qpdf/encrypted-with-images.8.check | 6 + .../qpdf/encrypted-with-images.9-ogen.c-check | 13 + qpdf/qtest/qpdf/encrypted-with-images.9-ogen.check | 17 + qpdf/qtest/qpdf/encrypted-with-images.9.c-check | 13 + qpdf/qtest/qpdf/encrypted-with-images.9.check | 17 + qpdf/qtest/qpdf/encrypted1.out | 585 +-------- qpdf/qtest/qpdf/good21.out | 5 + qpdf/qtest/qpdf/good21.pdf | 81 ++ qpdf/qtest/qpdf/good21.qdf | 102 ++ qpdf/qtest/qpdf/heifer.out | 7 - qpdf/qtest/qpdf/heifer.pdf | Bin 93593 -> 0 bytes qpdf/qtest/qpdf/heifer.qdf | 1349 -------------------- qpdf/qtest/qpdf/inline-images-cr.pdf | Bin 1519163 -> 0 bytes qpdf/qtest/qpdf/invalid-id-xref.out | 4 +- qpdf/qtest/qpdf/invalid-id-xref.pdf | Bin 2499181 -> 969 bytes qpdf/qtest/qpdf/issue-106.out | 7 +- qpdf/qtest/qpdf/issue-106.pdf | Bin 71729 -> 3800 bytes qpdf/qtest/qpdf/multiple-mods-check.out | 6 - qpdf/qtest/qpdf/multiple-mods.pdf | Bin 60960 -> 0 bytes qpdf/qtest/qpdf/old-and-complex-c-check.out | 3 - qpdf/qtest/qpdf/old-and-complex-check.out | 6 - qpdf/qtest/qpdf/old-and-complex.pdf | Bin 335662 -> 0 bytes qpdf/qtest/qpdf/split-content-stream.out | 2 +- qpdf/qtest/qpdf/split-content-stream.pdf | Bin 274856 -> 907 bytes qpdf/qtest/qpdf/zero-offset.out | 2 +- qpdf/qtest/qpdf/zero-offset.pdf | Bin 80688 -> 828 bytes 120 files changed, 611 insertions(+), 2389 deletions(-) delete mode 100644 qpdf/qtest/qpdf/U25A0.1-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.1-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.1.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.1.check delete mode 100644 qpdf/qtest/qpdf/U25A0.10-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.10-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.10.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.10.check delete mode 100644 qpdf/qtest/qpdf/U25A0.11-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.11-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.11.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.11.check delete mode 100644 qpdf/qtest/qpdf/U25A0.12-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.12-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.12.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.12.check delete mode 100644 qpdf/qtest/qpdf/U25A0.2-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.2-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.2.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.2.check delete mode 100644 qpdf/qtest/qpdf/U25A0.3-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.3-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.3.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.3.check delete mode 100644 qpdf/qtest/qpdf/U25A0.4-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.4-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.4.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.4.check delete mode 100644 qpdf/qtest/qpdf/U25A0.5-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.5-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.5.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.5.check delete mode 100644 qpdf/qtest/qpdf/U25A0.6-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.6-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.6.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.6.check delete mode 100644 qpdf/qtest/qpdf/U25A0.7-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.7-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.7.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.7.check delete mode 100644 qpdf/qtest/qpdf/U25A0.8-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.8-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.8.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.8.check delete mode 100644 qpdf/qtest/qpdf/U25A0.9-ogen.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.9-ogen.check delete mode 100644 qpdf/qtest/qpdf/U25A0.9.c-check delete mode 100644 qpdf/qtest/qpdf/U25A0.9.check delete mode 100644 qpdf/qtest/qpdf/U25A0.pdf create mode 100644 qpdf/qtest/qpdf/delete-and-reuse-check.out create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.1-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.1-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.1.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.1.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.10-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.10-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.10.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.10.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.11-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.11-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.11.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.11.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.12-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.12-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.12.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.12.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.2-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.2-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.2.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.2.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.3-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.3-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.3.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.3.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.4-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.4-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.4.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.4.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.5-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.5-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.5.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.5.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.6-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.6-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.6.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.6.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.7-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.7-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.7.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.7.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.8-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.8-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.8.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.8.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.9-ogen.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.9-ogen.check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.9.c-check create mode 100644 qpdf/qtest/qpdf/encrypted-with-images.9.check create mode 100644 qpdf/qtest/qpdf/good21.out create mode 100644 qpdf/qtest/qpdf/good21.pdf create mode 100644 qpdf/qtest/qpdf/good21.qdf delete mode 100644 qpdf/qtest/qpdf/heifer.out delete mode 100644 qpdf/qtest/qpdf/heifer.pdf delete mode 100644 qpdf/qtest/qpdf/heifer.qdf delete mode 100644 qpdf/qtest/qpdf/inline-images-cr.pdf delete mode 100644 qpdf/qtest/qpdf/multiple-mods-check.out delete mode 100644 qpdf/qtest/qpdf/multiple-mods.pdf delete mode 100644 qpdf/qtest/qpdf/old-and-complex-c-check.out delete mode 100644 qpdf/qtest/qpdf/old-and-complex-check.out delete mode 100644 qpdf/qtest/qpdf/old-and-complex.pdf diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test index d0cba589..edd9f1ec 100644 --- a/qpdf/qtest/qpdf.test +++ b/qpdf/qtest/qpdf.test @@ -543,9 +543,9 @@ $td->runtest("check file", {$td->FILE => "a.pdf"}, {$td->FILE => "gen1.qdf"}); -# This file, from a user, is missing /ID in its trailer even though it -# is encrypted and also has a space instead of a newline after its -# xref keyword. xpdf can open it, but Adobe reader can't. +# A user provided a file that was missing /ID in its trailer even +# though it is encrypted and also has a space instead of a newline +# after its xref keyword. This file has those same properties. $td->runtest("check broken file", {$td->COMMAND => "qpdf --check invalid-id-xref.pdf"}, {$td->FILE => "invalid-id-xref.out", $td->EXIT_STATUS => 3}, @@ -995,7 +995,7 @@ $td->runtest("C API: no recovery", show_ntests(); # ---------- $td->notify("--- Recovery Tests ---"); -$n_tests += @badfiles + 8; +$n_tests += @badfiles + 6; # Recovery tests. These are mostly after-the-fact -- when recovery # was implemented, some degree of recovery was possible on many of the @@ -1021,18 +1021,6 @@ for (my $i = 1; $i <= scalar(@badfiles); ++$i) $td->NORMALIZE_NEWLINES); } -# This heifer file was a real file that contained errors that Acrobat -# Reader can recover. We can recover it too. -$td->runtest("recover heifer file", - {$td->COMMAND => "qpdf --static-id --no-original-object-ids" . - " -qdf heifer.pdf a.pdf"}, - {$td->FILE => "heifer.out", - $td->EXIT_STATUS => 3}, - $td->NORMALIZE_NEWLINES); -$td->runtest("check output", - {$td->FILE => "a.pdf"}, - {$td->FILE => "heifer.qdf"}); - # See if we can recover the cross reference table on a file that has # been appended to even when it deletes and reuses objects. We can't # completely do it in the case of deleted objects, but we can get @@ -1094,6 +1082,7 @@ my @goodfiles = ("implicit null", # 1 "hybrid xref old mode", # 18 "xref with prev", # 19 "lots of compressible objects", # 20 + "pound in name", # 21 ); $n_tests += (3 * @goodfiles) + 6; @@ -1275,31 +1264,10 @@ for (my $n = 16; $n <= 19; ++$n) show_ntests(); # ---------- $td->notify("--- Specific File Tests ---"); -$n_tests += 5; -$n_compare_pdfs += 1; +$n_tests += 2; # Special PDF files that caused problems at some point -# This file is a PDF 1.1 file with /# as a name and with -# inconsistencies in its free table. It also has LZW streams that -# happen to test boundary conditions in the LZW decoder. -$td->runtest("old and complex", - {$td->COMMAND => "qpdf --check old-and-complex.pdf"}, - {$td->FILE => "old-and-complex-check.out", - $td->EXIT_STATUS => 0}, - $td->NORMALIZE_NEWLINES); -$td->runtest("old and complex (C API)", - {$td->COMMAND => "qpdf-ctest 1 old-and-complex.pdf '' ''"}, - {$td->FILE => "old-and-complex-c-check.out", - $td->EXIT_STATUS => 0}, - $td->NORMALIZE_NEWLINES); - -$td->runtest("convert to qdf", - {$td->COMMAND => "qpdf --qdf old-and-complex.pdf a.qdf"}, - {$td->STRING => "", $td->EXIT_STATUS => 0}); - -compare_pdfs("old-and-complex.pdf", "a.qdf"); - $td->runtest("damaged stream", {$td->COMMAND => "qpdf --check damaged-stream.pdf"}, {$td->FILE => "damaged-stream.out", $td->EXIT_STATUS => 3}, @@ -1529,8 +1497,8 @@ $td->runtest("check linearized and modified", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); $td->runtest("check multiple modifications", - {$td->COMMAND => "qpdf --check multiple-mods.pdf"}, - {$td->FILE => "multiple-mods-check.out", + {$td->COMMAND => "qpdf --check delete-and-reuse.pdf"}, + {$td->FILE => "delete-and-reuse-check.out", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -1666,16 +1634,16 @@ my @encrypted_files = $n_tests += 5 + (2 * (@encrypted_files)) + (6 * (@encrypted_files - 6)) + 9; $td->runtest("encrypted file", - {$td->COMMAND => "test_driver 2 U25A0.pdf"}, + {$td->COMMAND => "test_driver 2 encrypted-with-images.pdf"}, {$td->FILE => "encrypted1.out", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); $td->runtest("preserve encryption", - {$td->COMMAND => "qpdf U25A0.pdf U25A0.enc"}, + {$td->COMMAND => "qpdf encrypted-with-images.pdf encrypted-with-images.enc"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); $td->runtest("recheck encrypted file", - {$td->COMMAND => "test_driver 2 U25A0.enc"}, + {$td->COMMAND => "test_driver 2 encrypted-with-images.enc"}, {$td->FILE => "encrypted1.out", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -1882,13 +1850,13 @@ foreach my $d (@cenc) # linearized and/or encrypted as desired. $td->runtest("linearize encrypted file", - {$td->COMMAND => "qpdf --linearize U25A0.pdf a.pdf"}, + {$td->COMMAND => "qpdf --linearize encrypted-with-images.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); $td->runtest("check encryption", {$td->COMMAND => "qpdf --show-encryption a.pdf", $td->FILTER => "grep -v allowed"}, - {$td->STRING => "R = 2\nP = -60\nUser password = \n", + {$td->STRING => "R = 3\nP = -4\nUser password = \n", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); $td->runtest("check linearization", @@ -2128,7 +2096,7 @@ show_ntests(); $td->notify("--- Content Preservation Tests ---"); # $n_tests incremented below -my @files = ("U25A0.pdf", # encrypted +my @files = ("encrypted-with-images.pdf", # encrypted "inline-images.pdf", "lin-special.pdf", "object-stream.pdf", @@ -2213,13 +2181,12 @@ foreach my $file (@files) } } -# inline-images-cr.pdf is xbkm938-dies.pdf from PDF collection -$td->runtest("convert inline-images-cr to qdf", +$td->runtest("convert inline-images to qdf", {$td->COMMAND => "qpdf --static-id --no-original-object-ids" . - " --qdf inline-images-cr.pdf a.pdf"}, + " --qdf inline-images.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); -compare_pdfs("inline-images-cr.pdf", "a.pdf"); +compare_pdfs("inline-images.pdf", "a.pdf"); show_ntests(); # ---------- diff --git a/qpdf/qtest/qpdf/U25A0.1-ogen.c-check b/qpdf/qtest/qpdf/U25A0.1-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.1-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.1-ogen.check b/qpdf/qtest/qpdf/U25A0.1-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.1-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.1.c-check b/qpdf/qtest/qpdf/U25A0.1.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.1.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.1.check b/qpdf/qtest/qpdf/U25A0.1.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.1.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.10-ogen.c-check b/qpdf/qtest/qpdf/U25A0.10-ogen.c-check deleted file mode 100644 index 963cdba4..00000000 --- a/qpdf/qtest/qpdf/U25A0.10-ogen.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 1 -user password: -extract for accessibility: 1 -extract for any purpose: 1 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 1 -modify forms: 1 -modify annotations: 1 -modify other: 1 -modify anything: 1 diff --git a/qpdf/qtest/qpdf/U25A0.10-ogen.check b/qpdf/qtest/qpdf/U25A0.10-ogen.check deleted file mode 100644 index 331cd70e..00000000 --- a/qpdf/qtest/qpdf/U25A0.10-ogen.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -R = 3 -P = -4 -User password = -extract for accessibility: allowed -extract for any purpose: allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: allowed -modify forms: allowed -modify annotations: allowed -modify other: allowed -modify anything: allowed -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.10.c-check b/qpdf/qtest/qpdf/U25A0.10.c-check deleted file mode 100644 index 628b5fac..00000000 --- a/qpdf/qtest/qpdf/U25A0.10.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.4 -linearized: 0 -encrypted: 1 -user password: -extract for accessibility: 1 -extract for any purpose: 1 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 1 -modify forms: 1 -modify annotations: 1 -modify other: 1 -modify anything: 1 diff --git a/qpdf/qtest/qpdf/U25A0.10.check b/qpdf/qtest/qpdf/U25A0.10.check deleted file mode 100644 index 921e171a..00000000 --- a/qpdf/qtest/qpdf/U25A0.10.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.4 -R = 3 -P = -4 -User password = -extract for accessibility: allowed -extract for any purpose: allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: allowed -modify forms: allowed -modify annotations: allowed -modify other: allowed -modify anything: allowed -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.11-ogen.c-check b/qpdf/qtest/qpdf/U25A0.11-ogen.c-check deleted file mode 100644 index ef82b7f0..00000000 --- a/qpdf/qtest/qpdf/U25A0.11-ogen.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.5 -linearized: 1 -encrypted: 1 -user password: -extract for accessibility: 1 -extract for any purpose: 1 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 1 -modify forms: 1 -modify annotations: 1 -modify other: 1 -modify anything: 1 diff --git a/qpdf/qtest/qpdf/U25A0.11-ogen.check b/qpdf/qtest/qpdf/U25A0.11-ogen.check deleted file mode 100644 index aae0b3a5..00000000 --- a/qpdf/qtest/qpdf/U25A0.11-ogen.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -R = 3 -P = -4 -User password = -extract for accessibility: allowed -extract for any purpose: allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: allowed -modify forms: allowed -modify annotations: allowed -modify other: allowed -modify anything: allowed -File is linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.11.c-check b/qpdf/qtest/qpdf/U25A0.11.c-check deleted file mode 100644 index a528204e..00000000 --- a/qpdf/qtest/qpdf/U25A0.11.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.4 -linearized: 1 -encrypted: 1 -user password: -extract for accessibility: 1 -extract for any purpose: 1 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 1 -modify forms: 1 -modify annotations: 1 -modify other: 1 -modify anything: 1 diff --git a/qpdf/qtest/qpdf/U25A0.11.check b/qpdf/qtest/qpdf/U25A0.11.check deleted file mode 100644 index 74a360c1..00000000 --- a/qpdf/qtest/qpdf/U25A0.11.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.4 -R = 3 -P = -4 -User password = -extract for accessibility: allowed -extract for any purpose: allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: allowed -modify forms: allowed -modify annotations: allowed -modify other: allowed -modify anything: allowed -File is linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.12-ogen.c-check b/qpdf/qtest/qpdf/U25A0.12-ogen.c-check deleted file mode 100644 index 11d6d63d..00000000 --- a/qpdf/qtest/qpdf/U25A0.12-ogen.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 1 -user password: -extract for accessibility: 0 -extract for any purpose: 0 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 0 -modify forms: 0 -modify annotations: 0 -modify other: 0 -modify anything: 0 diff --git a/qpdf/qtest/qpdf/U25A0.12-ogen.check b/qpdf/qtest/qpdf/U25A0.12-ogen.check deleted file mode 100644 index 4e945d58..00000000 --- a/qpdf/qtest/qpdf/U25A0.12-ogen.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -R = 2 -P = -60 -User password = -extract for accessibility: not allowed -extract for any purpose: not allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: not allowed -modify forms: not allowed -modify annotations: not allowed -modify other: not allowed -modify anything: not allowed -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.12.c-check b/qpdf/qtest/qpdf/U25A0.12.c-check deleted file mode 100644 index b37fa759..00000000 --- a/qpdf/qtest/qpdf/U25A0.12.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 1 -user password: -extract for accessibility: 0 -extract for any purpose: 0 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 0 -modify forms: 0 -modify annotations: 0 -modify other: 0 -modify anything: 0 diff --git a/qpdf/qtest/qpdf/U25A0.12.check b/qpdf/qtest/qpdf/U25A0.12.check deleted file mode 100644 index 581b48b2..00000000 --- a/qpdf/qtest/qpdf/U25A0.12.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -R = 2 -P = -60 -User password = -extract for accessibility: not allowed -extract for any purpose: not allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: not allowed -modify forms: not allowed -modify annotations: not allowed -modify other: not allowed -modify anything: not allowed -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.2-ogen.c-check b/qpdf/qtest/qpdf/U25A0.2-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.2-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.2-ogen.check b/qpdf/qtest/qpdf/U25A0.2-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.2-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.2.c-check b/qpdf/qtest/qpdf/U25A0.2.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.2.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.2.check b/qpdf/qtest/qpdf/U25A0.2.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.2.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.3-ogen.c-check b/qpdf/qtest/qpdf/U25A0.3-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.3-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.3-ogen.check b/qpdf/qtest/qpdf/U25A0.3-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.3-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.3.c-check b/qpdf/qtest/qpdf/U25A0.3.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.3.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.3.check b/qpdf/qtest/qpdf/U25A0.3.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.3.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.4-ogen.c-check b/qpdf/qtest/qpdf/U25A0.4-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.4-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.4-ogen.check b/qpdf/qtest/qpdf/U25A0.4-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.4-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.4.c-check b/qpdf/qtest/qpdf/U25A0.4.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.4.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.4.check b/qpdf/qtest/qpdf/U25A0.4.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.4.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.5-ogen.c-check b/qpdf/qtest/qpdf/U25A0.5-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.5-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.5-ogen.check b/qpdf/qtest/qpdf/U25A0.5-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.5-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.5.c-check b/qpdf/qtest/qpdf/U25A0.5.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.5.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.5.check b/qpdf/qtest/qpdf/U25A0.5.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.5.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.6-ogen.c-check b/qpdf/qtest/qpdf/U25A0.6-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.6-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.6-ogen.check b/qpdf/qtest/qpdf/U25A0.6-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.6-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.6.c-check b/qpdf/qtest/qpdf/U25A0.6.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.6.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.6.check b/qpdf/qtest/qpdf/U25A0.6.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.6.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.7-ogen.c-check b/qpdf/qtest/qpdf/U25A0.7-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.7-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.7-ogen.check b/qpdf/qtest/qpdf/U25A0.7-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.7-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.7.c-check b/qpdf/qtest/qpdf/U25A0.7.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.7.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.7.check b/qpdf/qtest/qpdf/U25A0.7.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.7.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.8-ogen.c-check b/qpdf/qtest/qpdf/U25A0.8-ogen.c-check deleted file mode 100644 index 7fc743a9..00000000 --- a/qpdf/qtest/qpdf/U25A0.8-ogen.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.5 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.8-ogen.check b/qpdf/qtest/qpdf/U25A0.8-ogen.check deleted file mode 100644 index f95a8ecc..00000000 --- a/qpdf/qtest/qpdf/U25A0.8-ogen.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.8.c-check b/qpdf/qtest/qpdf/U25A0.8.c-check deleted file mode 100644 index 757cc85d..00000000 --- a/qpdf/qtest/qpdf/U25A0.8.c-check +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.3 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/U25A0.8.check b/qpdf/qtest/qpdf/U25A0.8.check deleted file mode 100644 index 5da27b2a..00000000 --- a/qpdf/qtest/qpdf/U25A0.8.check +++ /dev/null @@ -1,6 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.9-ogen.c-check b/qpdf/qtest/qpdf/U25A0.9-ogen.c-check deleted file mode 100644 index cc892af7..00000000 --- a/qpdf/qtest/qpdf/U25A0.9-ogen.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.5 -linearized: 1 -encrypted: 1 -user password: -extract for accessibility: 0 -extract for any purpose: 0 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 0 -modify forms: 0 -modify annotations: 0 -modify other: 0 -modify anything: 0 diff --git a/qpdf/qtest/qpdf/U25A0.9-ogen.check b/qpdf/qtest/qpdf/U25A0.9-ogen.check deleted file mode 100644 index 1d11997c..00000000 --- a/qpdf/qtest/qpdf/U25A0.9-ogen.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.5 -R = 2 -P = -60 -User password = -extract for accessibility: not allowed -extract for any purpose: not allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: not allowed -modify forms: not allowed -modify annotations: not allowed -modify other: not allowed -modify anything: not allowed -File is linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.9.c-check b/qpdf/qtest/qpdf/U25A0.9.c-check deleted file mode 100644 index 18ee32d3..00000000 --- a/qpdf/qtest/qpdf/U25A0.9.c-check +++ /dev/null @@ -1,13 +0,0 @@ -version: 1.3 -linearized: 1 -encrypted: 1 -user password: -extract for accessibility: 0 -extract for any purpose: 0 -print low resolution: 1 -print high resolution: 1 -modify document assembly: 0 -modify forms: 0 -modify annotations: 0 -modify other: 0 -modify anything: 0 diff --git a/qpdf/qtest/qpdf/U25A0.9.check b/qpdf/qtest/qpdf/U25A0.9.check deleted file mode 100644 index e543256a..00000000 --- a/qpdf/qtest/qpdf/U25A0.9.check +++ /dev/null @@ -1,17 +0,0 @@ -checking a.pdf -PDF Version: 1.3 -R = 2 -P = -60 -User password = -extract for accessibility: not allowed -extract for any purpose: not allowed -print low resolution: allowed -print high resolution: allowed -modify document assembly: not allowed -modify forms: not allowed -modify annotations: not allowed -modify other: not allowed -modify anything: not allowed -File is linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/U25A0.pdf b/qpdf/qtest/qpdf/U25A0.pdf deleted file mode 100644 index f8b779d4..00000000 Binary files a/qpdf/qtest/qpdf/U25A0.pdf and /dev/null differ diff --git a/qpdf/qtest/qpdf/delete-and-reuse-check.out b/qpdf/qtest/qpdf/delete-and-reuse-check.out new file mode 100644 index 00000000..f9a83f09 --- /dev/null +++ b/qpdf/qtest/qpdf/delete-and-reuse-check.out @@ -0,0 +1,6 @@ +checking delete-and-reuse.pdf +PDF Version: 1.3 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.1-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.1.c-check b/qpdf/qtest/qpdf/encrypted-with-images.1.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.1.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.1.check b/qpdf/qtest/qpdf/encrypted-with-images.1.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.1.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.c-check new file mode 100644 index 00000000..963cdba4 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 0 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.check new file mode 100644 index 00000000..331cd70e --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.10-ogen.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.10.c-check b/qpdf/qtest/qpdf/encrypted-with-images.10.c-check new file mode 100644 index 00000000..963cdba4 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.10.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 0 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.10.check b/qpdf/qtest/qpdf/encrypted-with-images.10.check new file mode 100644 index 00000000..331cd70e --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.10.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.c-check new file mode 100644 index 00000000..ef82b7f0 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 1 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.check new file mode 100644 index 00000000..aae0b3a5 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.11-ogen.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.11.c-check b/qpdf/qtest/qpdf/encrypted-with-images.11.c-check new file mode 100644 index 00000000..ef82b7f0 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.11.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 1 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.11.check b/qpdf/qtest/qpdf/encrypted-with-images.11.check new file mode 100644 index 00000000..aae0b3a5 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.11.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.c-check new file mode 100644 index 00000000..963cdba4 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 0 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.check new file mode 100644 index 00000000..331cd70e --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.12-ogen.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.12.c-check b/qpdf/qtest/qpdf/encrypted-with-images.12.c-check new file mode 100644 index 00000000..963cdba4 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.12.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 0 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.12.check b/qpdf/qtest/qpdf/encrypted-with-images.12.check new file mode 100644 index 00000000..331cd70e --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.12.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.2-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.2.c-check b/qpdf/qtest/qpdf/encrypted-with-images.2.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.2.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.2.check b/qpdf/qtest/qpdf/encrypted-with-images.2.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.2.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.3-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.3.c-check b/qpdf/qtest/qpdf/encrypted-with-images.3.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.3.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.3.check b/qpdf/qtest/qpdf/encrypted-with-images.3.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.3.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.4-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.4.c-check b/qpdf/qtest/qpdf/encrypted-with-images.4.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.4.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.4.check b/qpdf/qtest/qpdf/encrypted-with-images.4.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.4.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.5-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.5.c-check b/qpdf/qtest/qpdf/encrypted-with-images.5.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.5.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.5.check b/qpdf/qtest/qpdf/encrypted-with-images.5.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.5.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.6-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.6.c-check b/qpdf/qtest/qpdf/encrypted-with-images.6.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.6.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.6.check b/qpdf/qtest/qpdf/encrypted-with-images.6.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.6.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.7-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.7.c-check b/qpdf/qtest/qpdf/encrypted-with-images.7.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.7.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.7.check b/qpdf/qtest/qpdf/encrypted-with-images.7.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.7.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.8-ogen.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.8.c-check b/qpdf/qtest/qpdf/encrypted-with-images.8.c-check new file mode 100644 index 00000000..7fc743a9 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.8.c-check @@ -0,0 +1,3 @@ +version: 1.5 +linearized: 0 +encrypted: 0 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.8.check b/qpdf/qtest/qpdf/encrypted-with-images.8.check new file mode 100644 index 00000000..f95a8ecc --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.8.check @@ -0,0 +1,6 @@ +checking a.pdf +PDF Version: 1.5 +File is not encrypted +File is not linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.c-check b/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.c-check new file mode 100644 index 00000000..ef82b7f0 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 1 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.check b/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.check new file mode 100644 index 00000000..aae0b3a5 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.9-ogen.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted-with-images.9.c-check b/qpdf/qtest/qpdf/encrypted-with-images.9.c-check new file mode 100644 index 00000000..ef82b7f0 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.9.c-check @@ -0,0 +1,13 @@ +version: 1.5 +linearized: 1 +encrypted: 1 +user password: +extract for accessibility: 1 +extract for any purpose: 1 +print low resolution: 1 +print high resolution: 1 +modify document assembly: 1 +modify forms: 1 +modify annotations: 1 +modify other: 1 +modify anything: 1 diff --git a/qpdf/qtest/qpdf/encrypted-with-images.9.check b/qpdf/qtest/qpdf/encrypted-with-images.9.check new file mode 100644 index 00000000..aae0b3a5 --- /dev/null +++ b/qpdf/qtest/qpdf/encrypted-with-images.9.check @@ -0,0 +1,17 @@ +checking a.pdf +PDF Version: 1.5 +R = 3 +P = -4 +User password = +extract for accessibility: allowed +extract for any purpose: allowed +print low resolution: allowed +print high resolution: allowed +modify document assembly: allowed +modify forms: allowed +modify annotations: allowed +modify other: allowed +modify anything: allowed +File is linearized +No syntax or stream encoding errors found; the file may still contain +errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/encrypted1.out b/qpdf/qtest/qpdf/encrypted1.out index 99102b9d..3dd1efd0 100644 --- a/qpdf/qtest/qpdf/encrypted1.out +++ b/qpdf/qtest/qpdf/encrypted1.out @@ -1,578 +1,9 @@ -D:20000914005716 -Acrobat Distiller 4.05 for Windows -<68735ba82e3c37b5b8228510ba7e3ff6a57adff9901483de2357988c0a42aa48> - -1 g -/GS1 gs -1 i -178.226 60.781 344.491 -11.279 re -f -BT -/F4 1 Tf -9.999 0 0 9.999 178.2259 51.9016 Tm -0 g -0.003 Tc -0 Tw -[(T)7(h)-1(e)-249(U)5(ni)5(code)-249(St)5(andar)8(d)-253(3)-1(.0,)-251(C)10(opyr)8(i)5(ght)-247()-221(1991-2000,)-251(U)5(n)-1(i)5(c)3(ode,)-251(I)0(nc.)-251(A)2(l)5(l)-247(r)8(i)5(ght)5(s)-244(r)8(es)8(er)8(ved)]TJ -ET -1 g -72.035 60.781 15.119 -11.279 re -f -BT -9.999 0 0 9.999 72.0347 51.9016 Tm -0 g -0.004 Tc -(542)Tj -ET -1 g -490.8 769.802 31.197 -15.959 re -f -BT -/F5 1 Tf -13.9985 0 0 13.9985 490.7998 756.9629 Tm -0 g -0.0057 Tc -[(25F)8.1(F)]TJ -ET -1 g -242.541 769.802 108.831 -15.959 re -f -BT -13.9985 0 0 13.9985 242.5405 756.9629 Tm -0 g -0.0027 Tc -[(Geom)12.8(etric)-247.6(Shapes)]TJ -ET -1 g -72.035 769.802 31.317 -15.959 re -f -BT -13.9985 0 0 13.9985 72.0347 756.9629 Tm -0 g -0.0057 Tc -[(25A)7.7(0)]TJ -ET -0 G -2 J 1 j 1.49 w 10 M []0 d -202.104 727.685 m -202.104 79.259 l -391.928 727.685 m -391.928 79.259 l -202.104 712.807 m -391.928 712.807 l -202.104 79.259 m -391.928 79.259 l -S -BT -/F6 1 Tf -9.999 0 0 9.999 209.0633 719.286 Tm --0.004 Tc -[(25A)-1389(25B)-1377(25C)-1346(25D)-1370(25E)-1413(25F)]TJ -ET -1 g -360.371 396.033 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 396.033 31.557 -39.597 re -f -1 g -360.371 356.436 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 356.436 31.557 -39.597 re -f -1 g -360.371 316.84 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 316.84 31.557 -39.597 re -f -1 g -360.371 277.243 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 277.243 31.557 -39.597 re -f -1 g -360.371 237.646 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 237.646 31.557 -39.597 re -f -1 g -360.371 198.049 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 198.049 31.557 -39.597 re -f -1 g -360.371 158.453 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 158.453 31.557 -39.597 re -f -1 g -360.371 118.856 31.557 -39.597 re -f -/Cs9 cs 0 /P1 scn -360.371 118.856 31.557 -39.597 re -f -0.248 w -202.104 712.807 m -202.104 79.259 l -233.781 712.807 m -233.781 79.259 l -265.339 712.807 m -265.339 79.259 l -297.016 712.807 m -297.016 79.259 l -328.693 712.807 m -328.693 79.259 l -360.371 712.807 m -360.371 79.259 l -391.928 712.807 m -391.928 79.259 l -202.104 712.807 m -391.928 712.807 l -202.104 673.21 m -391.928 673.21 l -202.104 633.613 m -391.928 633.613 l -202.104 594.016 m -391.928 594.016 l -202.104 554.42 m -391.928 554.42 l -202.104 514.823 m -391.928 514.823 l -202.104 475.226 m -391.928 475.226 l -202.104 435.63 m -391.928 435.63 l -202.104 396.033 m -391.928 396.033 l -202.104 356.436 m -391.928 356.436 l -202.104 316.84 m -391.928 316.84 l -202.104 277.243 m -391.928 277.243 l -202.104 237.646 m -391.928 237.646 l -202.104 198.049 m -391.928 198.049 l -202.104 158.453 m -391.928 158.453 l -202.104 118.856 m -391.928 118.856 l -202.104 79.259 m -391.928 79.259 l -S -BT -/F7 1 Tf -21.998 0 0 21.998 209.6633 687.6086 Tm -0 g -0 Tc -()Tj -0 -1.8 TD -()Tj -T* -()Tj -T* -()Tj -T* -()Tj -T* -()Tj -T* -()Tj -T* -()Tj -T* -( )Tj -T* -(\012)Tj -/F9 1 Tf -0.2673 -1.8 TD -()Tj -T* -()Tj -/F7 1 Tf --0.3436 -1.8 TD -( )Tj -T* -( )Tj -0.2018 -1.8 TD -(\015)Tj -T* -()Tj -1.2491 27.0002 TD -()Tj -0 -1.8 TD -()Tj -0.06 -1.8 TD -()Tj -T* -()Tj -0.2127 -1.8 TD -()Tj -T* -()Tj --0.1636 -1.8 TD -()Tj -T* -()Tj -0.1855 -1.8 TD -()Tj -T* -()Tj --0.1418 -1.8 TD -()Tj -T* -()Tj --0.0927 -1.8 TD -()Tj -T* -()Tj -0.2127 -1.8 TD -()Tj -T* -()Tj -1.2764 27.0002 TD -()Tj -0 -1.8 TD -( )Tj -0.1855 -1.8 TD -(!)Tj -T* -(")Tj --0.1418 -1.8 TD -(#)Tj -T* -($)Tj --0.0927 -1.8 TD -(%)Tj -T* -(&)Tj -T* -(')Tj -T* -(\()Tj -0.0927 -1.8 TD -(\))Tj --0.0927 -1.8 TD -(*)Tj -T* -(+)Tj -T* -(,)Tj -T* -(-)Tj -T* -(.)Tj -1.44 27.0002 TD -(/)Tj -0 -1.8 TD -(0)Tj -T* -(1)Tj -T* -(2)Tj -T* -(3)Tj -T* -(4)Tj -T* -(5)Tj -T* -(6)Tj -0.2018 -1.8 TD -(7)Tj --0.2018 -1.8 TD -(8)Tj -T* -(9)Tj -T* -(:)Tj -T* -(;)Tj -T* -(<)Tj -T* -(=)Tj -T* -(>)Tj -1.44 27.0002 TD -(?)Tj -0 -1.8 TD -(@)Tj -T* -(A)Tj -T* -(B)Tj -T* -(C)Tj -T* -(D)Tj -0.2018 -1.8 TD -(E)Tj --0.2018 -1.8 TD -(F)Tj -T* -(G)Tj -T* -(H)Tj -T* -(I)Tj -T* -(J)Tj -T* -(K)Tj -T* -(L)Tj -T* -(M)Tj -T* -(N)Tj -1.4346 27.0002 TD -(O)Tj -0 -1.8 TD -(P)Tj -T* -(Q)Tj -T* -(R)Tj -T* -(S)Tj -T* -(T)Tj -T* -(U)Tj -T* -(V)Tj -/F11 1 Tf -5.9995 0 0 5.9995 212.183 675.2496 Tm -0.004 Tc -[(25A)11(0)]TJ -0 -6.6 TD -[(25A)11(1)]TJ -T* -[(25A)11(2)]TJ -T* -[(25A)11(3)]TJ -T* -[(25A)11(4)]TJ -T* -[(25A)11(5)]TJ -T* -[(25A)11(6)]TJ -T* -[(25A)11(7)]TJ -T* -[(25A)11(8)]TJ -T* -[(25A)11(9)]TJ --0.04 -6.6 TD -[(25A)11(A)]TJ -T* -[(25A)11(B)]TJ --0.04 -6.6 TD -[(25A)11(C)]TJ -T* -[(25A)11(D)]TJ -0.04 -6.6 TD -[(25A)11(E)]TJ -0.02 -6.6 TD -[(25A)11(F)]TJ -5.28 99 TD -[(25B)11(0)]TJ -0 -6.6 TD -[(25B)11(1)]TJ -T* -[(25B)11(2)]TJ -T* -[(25B)11(3)]TJ -T* -[(25B)11(4)]TJ -T* -[(25B)11(5)]TJ -T* -[(25B)11(6)]TJ -T* -[(25B)11(7)]TJ -T* -[(25B)11(8)]TJ -T* -[(25B)11(9)]TJ --0.04 -6.6 TD -[(25B)11(A)]TJ -T* -[(25B)11(B)]TJ --0.04 -6.6 TD -[(25B)11(C)]TJ -T* -[(25B)11(D)]TJ -0.04 -6.6 TD -[(25B)11(E)]TJ -0.02 -6.6 TD -[(25B)11(F)]TJ -5.26 99 TD -0.0053 Tc -(25C0)Tj -0 -6.6 TD -(25C1)Tj -T* -(25C2)Tj -T* -(25C3)Tj -T* -(25C4)Tj -T* -(25C5)Tj -T* -(25C6)Tj -T* -(25C7)Tj -T* -(25C8)Tj -T* -(25C9)Tj --0.04 -6.6 TD -(25CA)Tj -T* -(25CB)Tj --0.02 -6.6 TD -(25CC)Tj -T* -(25CD)Tj -0.02 -6.6 TD -(25CE)Tj -0.02 -6.6 TD -(25CF)Tj -5.3 99 TD -(25D0)Tj -0 -6.6 TD -(25D1)Tj -T* -(25D2)Tj -T* -(25D3)Tj -T* -(25D4)Tj -T* -(25D5)Tj -T* -(25D6)Tj -T* -(25D7)Tj -T* -(25D8)Tj -T* -(25D9)Tj --0.04 -6.6 TD -(25DA)Tj -T* -(25DB)Tj --0.02 -6.6 TD -(25DC)Tj -T* -(25DD)Tj -0.02 -6.6 TD -(25DE)Tj -0.02 -6.6 TD -(25DF)Tj -5.34 99 TD -0.004 Tc -[(25E)11(0)]TJ -0 -6.6 TD -[(25E)11(1)]TJ -T* -[(25E)11(2)]TJ -T* -[(25E)11(3)]TJ -T* -[(25E)11(4)]TJ -T* -[(25E)11(5)]TJ -T* -[(25E)11(6)]TJ -T* -[(25E)11(7)]TJ -T* -[(25E)11(8)]TJ -T* -[(25E)11(9)]TJ --0.04 -6.6 TD -[(25E)11(A)]TJ -T* -[(25E)11(B)]TJ --0.04 -6.6 TD -[(25E)11(C)]TJ -T* -[(25E)11(D)]TJ -0.04 -6.6 TD -[(25E)11(E)]TJ -0.02 -6.6 TD -[(25E)11(F)]TJ -5.3 99 TD -0.0023 Tc -(25F0)Tj -0 -6.6 TD -(25F1)Tj -T* -(25F2)Tj -T* -(25F3)Tj -T* -(25F4)Tj -T* -(25F5)Tj -T* -(25F6)Tj -T* -(25F7)Tj -/F6 1 Tf -9.999 0 0 9.999 191.4248 687.6086 Tm -0 Tc -(0)Tj -0 -3.9601 TD -(1)Tj -T* -(2)Tj -T* -(3)Tj -T* -(4)Tj -T* -(5)Tj -T* -(6)Tj -T* -(7)Tj -T* -(8)Tj -T* -(9)Tj --0.06 -3.9601 TD -(A)Tj -T* -(B)Tj --0.024 -3.9601 TD -(C)Tj -T* -(D)Tj -0.024 -3.9601 TD -(E)Tj -0.024 -3.9601 TD -(F)Tj -ET -1.49 w -202.104 727.685 m -202.104 79.259 l -391.928 727.685 m -391.928 79.259 l -202.104 712.807 m -391.928 712.807 l -202.104 79.259 m -391.928 79.259 l -S +D:20080424174457 +Apex PDFWriter +<36451bd39d753b7c1d10922c28e6665aa4f3353fb0348b536893e3b1db5c579b> + +q +185 0 0 200 213.5 296 cm +/Im2 Do +Q test 2 done diff --git a/qpdf/qtest/qpdf/good21.out b/qpdf/qtest/qpdf/good21.out new file mode 100644 index 00000000..64e68463 --- /dev/null +++ b/qpdf/qtest/qpdf/good21.out @@ -0,0 +1,5 @@ +/QTest is direct and has type name (7) +/QTest is a name with value /# +unparse: /#23 +unparseResolved: /#23 +test 1 done diff --git a/qpdf/qtest/qpdf/good21.pdf b/qpdf/qtest/qpdf/good21.pdf new file mode 100644 index 00000000..aa9588d1 --- /dev/null +++ b/qpdf/qtest/qpdf/good21.pdf @@ -0,0 +1,81 @@ +%PDF-1.1 +1 0 obj +<< + /Type /Catalog + /Pages 2 0 R +>> +endobj + +2 0 obj +<< + /Type /Pages + /Kids [ + 3 0 R + ] + /Count 1 +>> +endobj + +3 0 obj +<< + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] + /Contents 4 0 R + /Resources << + /ProcSet 5 0 R + /Font << + /F1 6 0 R + >> + >> +>> +endobj + +4 0 obj +<< + /Length 44 +>> +stream +BT + /F1 24 Tf + 72 720 Td + (Potato) Tj +ET +endstream +endobj + +5 0 obj +[ + /PDF + /Text +] +endobj + +6 0 obj +<< + /Type /Font + /Subtype /Type1 + /Name /F1 + /BaseFont /Helvetica + /Encoding /WinAnsiEncoding +>> +endobj + +xref +0 7 +0000000000 65535 f +0000000009 00000 n +0000000063 00000 n +0000000135 00000 n +0000000307 00000 n +0000000403 00000 n +0000000438 00000 n +trailer << + /Size 7 + /Root 1 0 R + /QTest /# +>> + +startxref +556 +%%EOF diff --git a/qpdf/qtest/qpdf/good21.qdf b/qpdf/qtest/qpdf/good21.qdf new file mode 100644 index 00000000..9ec8823d --- /dev/null +++ b/qpdf/qtest/qpdf/good21.qdf @@ -0,0 +1,102 @@ +%PDF-1.1 +% +%QDF-1.0 + +%% Original object ID: 1 0 +1 0 obj +<< + /Pages 2 0 R + /Type /Catalog +>> +endobj + +%% Original object ID: 2 0 +2 0 obj +<< + /Count 1 + /Kids [ + 3 0 R + ] + /Type /Pages +>> +endobj + +%% Page 1 +%% Original object ID: 3 0 +3 0 obj +<< + /Contents 4 0 R + /MediaBox [ + 0 + 0 + 612 + 792 + ] + /Parent 2 0 R + /Resources << + /Font << + /F1 6 0 R + >> + /ProcSet 7 0 R + >> + /Type /Page +>> +endobj + +%% Contents for page 1 +%% Original object ID: 4 0 +4 0 obj +<< + /Length 5 0 R +>> +stream +BT + /F1 24 Tf + 72 720 Td + (Potato) Tj +ET +endstream +endobj + +5 0 obj +44 +endobj + +%% Original object ID: 6 0 +6 0 obj +<< + /BaseFont /Helvetica + /Encoding /WinAnsiEncoding + /Name /F1 + /Subtype /Type1 + /Type /Font +>> +endobj + +%% Original object ID: 5 0 +7 0 obj +[ + /PDF + /Text +] +endobj + +xref +0 8 +0000000000 65535 f +0000000052 00000 n +0000000133 00000 n +0000000242 00000 n +0000000484 00000 n +0000000583 00000 n +0000000629 00000 n +0000000774 00000 n +trailer << + /QTest /#23 + /Root 1 0 R + /Size 8 + /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] +>> +startxref +809 +%%EOF diff --git a/qpdf/qtest/qpdf/heifer.out b/qpdf/qtest/qpdf/heifer.out deleted file mode 100644 index cd02c232..00000000 --- a/qpdf/qtest/qpdf/heifer.out +++ /dev/null @@ -1,7 +0,0 @@ -WARNING: heifer.pdf: file is damaged -WARNING: heifer.pdf (file position 92741): xref not found -WARNING: heifer.pdf: Attempting to reconstruct cross-reference table -WARNING: heifer.pdf (object 2 0, file position 2165): expected endstream -WARNING: heifer.pdf (object 2 0, file position 51): attempting to recover stream length -WARNING: heifer.pdf (object 2 0, file position 51): recovered stream length: 2249 -qpdf: operation succeeded with warnings; resulting file may have some problems diff --git a/qpdf/qtest/qpdf/heifer.pdf b/qpdf/qtest/qpdf/heifer.pdf deleted file mode 100644 index a3c62422..00000000 Binary files a/qpdf/qtest/qpdf/heifer.pdf and /dev/null differ diff --git a/qpdf/qtest/qpdf/heifer.qdf b/qpdf/qtest/qpdf/heifer.qdf deleted file mode 100644 index 0e20c934..00000000 --- a/qpdf/qtest/qpdf/heifer.qdf +++ /dev/null @@ -1,1349 +0,0 @@ -%PDF-1.2 -% -%QDF-1.0 - -1 0 obj -<< - /Metadata 3 0 R - /Pages 5 0 R - /Type /Catalog ->> -endobj - -2 0 obj -<< - /CreationDate (D:20020815124312-04'00') - /Creator (Acrobat 4.0 Import Plug-in for Windows) - /ModDate (D:20020815124312-04'00') - /Producer (Acrobat Distiller 5.0.5 \(Windows\)) - /Title (geese_w-anchors.pdf) ->> -endobj - -3 0 obj -<< - /Subtype /XML - /Type /Metadata - /Length 4 0 R ->> -stream - -geese_w-anchors.pdf - - -endstream -endobj - -4 0 obj -993 -endobj - -5 0 obj -<< - /Count 1 - /Kids [ - 6 0 R - ] - /MediaBox [ - 0 - 0 - 612 - 792 - ] - /Type /Pages ->> -endobj - -%% Page 1 -6 0 obj -<< - /Contents 7 0 R - /Parent 5 0 R - /Resources 9 0 R - /Type /Page ->> -endobj - -%% Contents for page 1 -7 0 obj -<< - /Length 8 0 R ->> -stream -q -/RelativeColorimetric ri -1 g -/GS1 gs -1 i -0 792 m -0 792 l -f -q -3.617 790.98 608.383 -787.92 re -W n -q -610.995 0 0 789.113 3.0369 2.5269 cm -/Im1 Do -Q -Q -BT -/F1 1 Tf -16 0 0 16 112.495 255.964 Tm -/Cs5 cs 0.78 0.275 0.157 sc -0 Tc -0 Tw -<01>Tj -/F2 1 Tf -14 0 0 14 164.401 206.964 Tm -0 0 0 sc -0.0003 Tc -[<01>-219.7<02>0<03040506>-24.7<070406>-24.7(\b)0.1<07090a06>-24.7<0b0c0d06>-24.7<0e0a0a0f06>-24.7<0203090a0f06>-24.7<030f06>-24.7<1007111206>-24.7<0f0c130a06>-24.7<0e1006>]TJ -6.7492 -2.889 TD -[<140c1006>-24.7<050b030d06>-24.7<0203040506>-24.7<070406>]TJ --11.7937 -2.4191 TD -[<0e12030f0206>-24.7<10071106>-24.7<15071006>-24.7<0c0d06>-24.7<030506>-24.7<0e12030f020d06>-24.7<0b07160a06>-24.7<0c0f1706>-24.7<0f071112030d0b130a0f0506>-24.7<05>0.1<0706>-24.7<0c06>-24.7<040c1303081006>-24.7<03>0.1<0f06>-24.7<0f0a0a1718>]TJ -/F3 1 Tf -9.75 0 0 9.75 101.201 106.951 Tm -0 Tc -0.028 Tw -[(Heifer International is a nonpr)30(ofit that alleviates hunger)125(, poverty and envir)30(onmental degradation )]TJ --1.5183 -1.3026 TD -[(thr)30(ough gifts of food- and income-pr)30(oducing farm animals and training. These animals pr)29.9(ovide a sour)30(ce)]TJ --0.7968 -1.3026 TD -[(of pr)30(otein, such as eggs and milk, for childr)30(en and generate income for families thr)30(ough the sale of animal )]TJ -0.5957 -1.3026 TD -[(pr)30(oducts. Since 1944, Heifer has helped over 4 million families in 125 countries become self-r)29.9(eliant. Each )]TJ -1.2818 -1.3026 TD -[(family passes on the gift by giving one or mor)30(e of its animal)140(s of)10(fspring to another family in need.)]TJ -/F4 1 Tf -8.1749 -2.1231 TD -0.031 Tw -[(T)80(o)0( learn mor)30(e about Heifer, visit http://www)79.9(.heifer)125(.or)30(g)]TJ -/F5 1 Tf -16 0 0 16 48.2658 742 Tm -/Cs5 cs 0.275 0.275 0.471 sc -0.0002 Tc -0 Tw -( 666)Tj -1.9556 -1.875 TD -( 444)Tj -12 0 0 12 140.128 286.264 Tm --0.0003 Tc -()Tj --2.1762 -2.5478 TD -( wwwwwwwwwwwwwwwwwwwwwwwwwwwww )Tj --4.6179 -1.9108 TD -( wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwww )Tj -7.1656 -3.6623 TD -( 333)Tj -0.0531 -3.4502 TD -( 555)Tj -/F4 1 Tf -9.75 0 0 9.75 117.723 24.2689 Tm -/Cs5 cs 0 0 0 sc -0 Tc -0.031 Tw -(To learn more about the gift you've been given, visit http://www.heifer.org/gift )Tj -ET -q -375 0 0 375 121 317 cm -/Im2 Do -Q -Q -endstream -endobj - -8 0 obj -2338 -endobj - -9 0 obj -<< - /ColorSpace << - /Cs5 10 0 R - >> - /ExtGState << - /GS1 11 0 R - >> - /Font << - /F1 12 0 R - /F2 13 0 R - /F3 14 0 R - /F4 15 0 R - /F5 16 0 R - >> - /ProcSet [ - /PDF - /Text - /ImageC - ] - /XObject << - /Im1 17 0 R - /Im2 19 0 R - >> ->> -endobj - -10 0 obj -[ - /CalRGB - << - /Gamma [ - 2.22222 - 2.22222 - 2.22222 - ] - /Matrix [ - 0.4124 - 0.2126 - 0.0193 - 0.3576 - 0.7152 - 0.1192 - 0.1805 - 0.0722 - 0.9505 - ] - /WhitePoint [ - 0.9505 - 1 - 1.089 - ] - >> -] -endobj - -11 0 obj -<< - /SA false - /SM 0.02 - /TR /Identity - /Type /ExtGState ->> -endobj - -12 0 obj -<< - /BaseFont /KPPLPG+Times-Bold+2 - /Encoding 21 0 R - /FirstChar 1 - /FontDescriptor 22 0 R - /LastChar 1 - /Subtype /Type1 - /Type /Font - /Widths [ - 250 - ] ->> -endobj - -13 0 obj -<< - /BaseFont /KPPMKC+Palatino-Roman+2 - /Encoding 23 0 R - /FirstChar 1 - /FontDescriptor 24 0 R - /LastChar 24 - /Subtype /Type1 - /Type /Font - /Widths [ - 778 - 556 - 291 - 333 - 326 - 250 - 546 - 291 - 565 - 479 - 582 - 500 - 424 - 553 - 582 - 556 - 603 - 395 - 883 - 946 - 234 - 601 - 611 - 250 - ] ->> -endobj - -14 0 obj -<< - /BaseFont /ItcEras-Book - /Encoding /MacRomanEncoding - /FirstChar 32 - /FontDescriptor 25 0 R - /LastChar 213 - /Subtype /Type1 - /Type /Font - /Widths [ - 282 - 214 - 333 - 565 - 565 - 830 - 669 - 195 - 283 - 283 - 518 - 565 - 282 - 243 - 282 - 401 - 565 - 565 - 565 - 565 - 565 - 565 - 565 - 565 - 565 - 565 - 282 - 282 - 565 - 565 - 565 - 453 - 768 - 582 - 569 - 616 - 720 - 536 - 512 - 733 - 710 - 219 - 358 - 520 - 447 - 820 - 732 - 788 - 512 - 788 - 526 - 457 - 475 - 695 - 620 - 926 - 553 - 497 - 551 - 285 - 282 - 285 - 565 - 500 - 268 - 511 - 570 - 461 - 583 - 514 - 271 - 595 - 584 - 205 - 230 - 440 - 205 - 840 - 584 - 572 - 577 - 574 - 329 - 376 - 292 - 579 - 468 - 816 - 445 - 464 - 424 - 287 - 282 - 287 - 565 - 0 - 582 - 582 - 616 - 536 - 732 - 788 - 695 - 511 - 511 - 511 - 511 - 511 - 511 - 461 - 514 - 514 - 514 - 514 - 205 - 205 - 205 - 205 - 584 - 572 - 572 - 572 - 572 - 572 - 579 - 579 - 579 - 579 - 518 - 430 - 565 - 565 - 518 - 565 - 504 - 545 - 768 - 768 - 830 - 268 - 334 - 0 - 795 - 788 - 0 - 565 - 0 - 0 - 565 - 579 - 0 - 0 - 0 - 0 - 0 - 360 - 360 - 0 - 820 - 572 - 453 - 214 - 565 - 0 - 565 - 0 - 0 - 398 - 398 - 1000 - 282 - 582 - 582 - 788 - 1020 - 934 - 500 - 1000 - 333 - 333 - 195 - 195 - ] ->> -endobj - -15 0 obj -<< - /BaseFont /ItcEras-Demi - /Encoding /WinAnsiEncoding - /FirstChar 32 - /FontDescriptor 26 0 R - /LastChar 121 - /Subtype /Type1 - /Type /Font - /Widths [ - 316 - 316 - 389 - 633 - 633 - 883 - 728 - 212 - 351 - 351 - 568 - 633 - 316 - 261 - 316 - 412 - 633 - 633 - 633 - 633 - 633 - 633 - 633 - 633 - 633 - 633 - 316 - 316 - 633 - 633 - 633 - 494 - 824 - 695 - 651 - 649 - 752 - 616 - 574 - 759 - 778 - 296 - 448 - 666 - 531 - 880 - 792 - 835 - 587 - 835 - 630 - 525 - 555 - 752 - 695 - 1073 - 628 - 584 - 619 - 351 - 316 - 351 - 633 - 500 - 339 - 568 - 621 - 489 - 635 - 561 - 352 - 639 - 644 - 272 - 312 - 550 - 272 - 896 - 644 - 618 - 626 - 629 - 389 - 446 - 373 - 629 - 543 - 874 - 560 - 543 - ] ->> -endobj - -16 0 obj -<< - /BaseFont /Courier - /Encoding /WinAnsiEncoding - /FirstChar 0 - /FontDescriptor 27 0 R - /LastChar 255 - /Subtype /Type1 - /Type /Font - /Widths [ - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - 600 - ] ->> -endobj - -17 0 obj -<< - /BitsPerComponent 8 - /ColorSpace 10 0 R - /Filter /DCTDecode - /Height 790 - /Intent /RelativeColorimetric - /Subtype /Image - /Type /XObject - /Width 611 - /Length 18 0 R ->> -stream -Adobed   - - - -     c -  - s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& -EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT -&6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?N*UثWb]v*UثWbV<UثWb]v*UثWb]Jb]v*8WbZS^[]v*UثWb]v*+A׮**UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWUv*UثWb]v*UثWb]JVWb+Wov*UثWb]v*UZob]v*UثWb]v*UثWb]hV[][]v*UثWb]v*UثWb]v*UثWbWb]v*UثWb]ZylqUثWb]v*UثWb]v*trHI*v*Wb]v*UثWb]v*UثWb]ZMhkM*v*UثWb]v*UثWb]v*Uث@֣oZUثWb]v*UثWb]v*UثWb]v*Uث_E:w[]v*UثWb]v*k.wxV1VWb]v*UثLUN8!F@)!RT]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UjEH*v*UثWb]v*UثWb]v*UثWb]v*UثWb]犮]v*Uث*ኻv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*ULUثWb]}VWb]v*UثWb]v*UثWb]v*UثWb]v*UثW -~Wb]v*UثWbV7z⫱Wb]@"[]v*UثWb]v*UWb,\^. R>FD_$aWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbZRpkv*UثWb]N*W]v*UثW]v*UثWb]v*UثWb]v*UHWaWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbZU -ov*UثWb]v*Uث UثWb]v*UثWb]v*UثVdr@Z4']**UثWb\HqWb]v*UثWbTna2xuzkLU[v*UثWb]v*UثW -]v*UثWb]v*UثWb]v*UثWbV=Wb]v*UثWb]v*UثWb]v*UثWb* UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*P #**Uت;]v*UثWb]v*UثWb]v*UثWb]u7*UتNJ7J :W"b@$Pwm.= XnKĊlUv*UثWb]w~F*UثWbZfov*UثWb]X BتUثWb]v*UتbJ -OߊUW늮$ *UثWb]v*UثWb\qWb]v*Wb]v*UثWb]Zb4]v*UثWb]v*UثWb]v*ov*o\UثWb]v*UثWb]v*UثWbYA1W"@;Uv*UثVov*UثWb]v*UثUTTqUثWb]v*UثWb]v*UثWb]v*UثWb]q -v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]BvQNDheHPUثWb]v*^Wb\EE1WWzb]v*UثWb0zM}UWb]v*UثWb]v*UثWb]v*UثWb]c -ǑN%!WaWbz]׶*Uh*{b]v*UثWb]v*^ثWb]Z ؞UثWb]v*UثWb]v*UثWbV$n)튮]v*UثWb]v*UثWbZD -GAv*UثWb]v*UثWb]v*UثWbZR{b`VڴTu­V&|Ui^]v*UثWb]v*UثWb]v*UثWb]v*- 8UثWb]v*UثWb]v*UثWb]v*UثWb]]w*D( CiZ$8׶*zӵ:⭆튷v*pn$WT/%wb~݀UWb]Zt⫱Wb]v*UثWb]v*UثWb]w*UثUpo|U~*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uث;b M*mB6 (Wb]v*UثWb]]銻v*UثWb]v*MEiO Uw*UثWb]v*UثWb\kv*h*qWb]v*UتдqUثWb]v*UثWb]v*UثWb]v*UثWb]v*UثVh[Z&ov*UثWb]v*UثU2$. BUSv*UثWb]v*UثWb]iC=VWb]v*^Wb]v*UثWb]v*UثWb]v*UثU#P)&UثWbT.` Ƞcb@5ӊ]v*UثWb\1Wb\R: VC(W (A*v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]\UثWb]v*UثWbU؅vv*UثWb]v*UثWb]v*UثWb]v*UmbKWbuD,Ɗ:4pVw2J*NثxWb]v*UثWWzb]v*UثWb]v*UثWb]v*UثWb]uEiv*UثWb]v*EiV}*v*UثWb]v*UثWby-xi84 9 䢞z䉠o -v*UJxRdf|Tb+JUثWb]**UثWb]v*UثWbZ޿ov*UثWb]p]v*UثWb;ӏ_v*Uثp]v*UZUUثWb]v*UثWbm-n!tS*Se"ѹsn*W]v*UثWb]wLUثWb]v*UثUΟ+튮]v*UثWbZ^]VWb]v*UثWb]v*UثWb]P1Wb]v*UثWb]pWv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*U|1VWb]v*UثWb]v*UثWb]UWbVbWb]v*UثWb]v*Uت5#mA UثWb]v*UثWb]uw*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثXR$) BzuޒFȬ5튻v*UثWb]v*UثWb j϶*v*UثWb]v*Uت)_|Uv*UثWb]v*UثWb]v*Ui`^ъ]v*UثWb]1UWb]v*UثWb],s,Uv*6( H$!ثWb]v*Uث*UثWb]v*UثWbu\UUثW}Wb]v*UثWb]v*UثLiڸPW]E{[5튻v*UƽW|Wbb޾ثWb=1Vh[]v*UثWb]Vt8xWb]v*Uت*XrVbثWb]1VZ -v*UثWb]v*UثWb]v*UثWb]v*}Q^T;AM][U);劮]z]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbIs+"}>VTt­]v*銷v* -׾*UثWb]v*UثWbAUث]kov*UثWb]v*UثWb]v*UثWb]v*Uث\*b];wWbv*UثWb]v*B%( jn1U\UثWb]ukv*UثWb]v*UثWb]v*Wov*UثWb]v*UثWb]v**-N**UثW UثWb]]v*UثWb]Ɲ;[]v*UثWbJՁ)⫱Wb]ZND -|N*v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uث*UثWb]Y$jk,U~]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbTMMA; Uv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uت ˗zRتUثWb]v*UثWb]v*UثWb]u:]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثJj:Sov*Uت50**UثWb]v*UثUnT$ur*$]v*ĄEU~*UثWbZ&UUثWb]v*UثWb]v*UثWb]v*Ug3qJ_v*UثWb]v*U$**UثWb]v*UثWb]v*UثWb]v*UثF[]1Wb]v*UثWb]v**)v*UثWb]v*UثV'~ثxWbV*)cnqW+⫱Wb]v*UثWb]v*UثWb]v*Uت+ [aqULUثWb]v*UثWb]v*UhkWb]v*UثWb]v*UتPAqUثWb]v*UثWb]v*UتUUt1UثWUثWb]v*UثWb]v*;rp#犪]}Wb]v*Uتu;|*UثWb]v*UثWb]v*UثWb]u)]v*UثWb]v*UثWb]f -cA⭊**UثWb5튻v*UثWb]v*ޘxWb]v*UثWb]v*UثWb]qqVV**UثWb]v*UتZnتUثWb]Z⫱WbVPGbWb]v*ҪxWbZA[]v*UثWb]v*` b]v*ɧ]v*UثWb銻v*UثWb]v*UثWb]*UثWb]u7*UثWb]v*UثWb]v*UثWbT];bWb]@v]!%>*$:&6$I+ֆ1JUثWb]v*UثWb]늻v*v*Uت jisWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v**UتЪ nzDVdMtv*UثWb]v*UثWbZe*]v*UثWb]Pj> -stream -Adobed   - - - -     ww -  - s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& -EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT -&6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?iv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]A~ѿFqGw7}Aߦoo\W;ލ-6?~ѿFq^ z7+oFoxMm#cw7}Aߦoo\W;ލ-6?~ѿFq^ z7+oFoxMm#cw7}Aߦoo\W;ލ-6?~ѿFq^ z7+oFoxMm#cw7}Aߦoo\W;ލ-6?~ѿFq^ z7+oFoxMm#cw7}Aߦoo\W;ލ-6?~ѿFq^ z7+oFoxMm#cw7}Aߦoo\W;ލ-6?~ѿFq^ K)}` Jcנ >:G4cK/K$-?h-7/L/A; /v`>abZL4w#S)&qToҎ8Q9_~c3)F?ghNNAzI2G2oF{zI1?提^DiC<RL|  -#K8RL>?插ӆ)?h!~bki66qY&z'Q'3NjA2o%2\[Xy~ RLViA"cx4|:FP|$/ I(O lhN0oG1?>KN  O鏁. )??Gi;"cch#ߡtaE'h-;.M>OM;6,0$SBO鏁插x\tm" *?E;.,PȤ>KI()Scx4|I,zQL| %hhM?>~L| %wm#X`?? NPȤ^$GF4|_bvh&`?插_a~L?Gh5J(?ZL/.-??^Di_O鏁䖿Di_o"c| Ƌqv%8ª36nN'1#Mkb9t\uY-$NO&P*ڭ\ɓ5ɆR~ ɺ] _:{d6ڕ2atCe) $;:>,p,14|Zt}3Y!+O4|MTMz0N>?提U_JBHc^x֕n즔2LdRk\B؉rL064em s/:Ͷo:47pMI[ *1hz}9!te.\y̷ϙn"ikHނxa80sNfGqW㧒|yfuĿXv*_DUFa@Ls2._gsd? w :R}nk,K}@xޣ0\_~Ovt8{9b[nQ4hիǹ\&c]ߦ* -⮥:'ll}*?tZu1M:Oin6㊸÷u+6]MG犺i}ثTZ]LUj5h犼^ט4me{ۨ+Ez.%FBӥӖ+ْg>Db# -;Ê1ګ~OfI ]Z- --Wzb*<3yA1z {)kO*|M%ɚId0j[?!R###Yy']F;5ջJQ1I !Ж>2sgz)V0m5{`IQ$ge -xzÛc͖녕X$d!AP>X?I^CgTo֞n.m-TĊ kcYva~م9ڈeG ,.1PAw봺lWwjY=&w?|]Jo(~CrwPzƯsZ4Y}f&l≺䊧rlW[~ -{Oaa}phcI4Nl'\&Zu +T}^y䳠"tP/ ;˱  _eD_f2Uv܎~+I%x;eD!O܁Zmr ݤV>d Ӏi>;b~87CNKT*\@F_N]bHS);b=N*vqV~U~8@ ;79%y?Τt0C4Z -+fs ۔KT#8ۯxtr5ol%ʤv - gm"$,bR eF09 X)G2h/;JD@>T@dF4<~aS,z1-Y5YL#RK~a2Ċ -YdM%B-)EZAlUmˆܑ6O_2M(2!<7ꥆyܳ -*c 1& QOvjP04܏n+eKdIHZ[ê*r?,lU$W*,~;ܫnTKvP:~}dc'd @qcweg @6F9qH=V{m zZY* aʼ¼Pܗ2QLg.#u2*4RvŨA4' -y+n<0$V[ggXެC|8P,BG Q6dcєn5ޛM7/-#dXח1]+EQ훈:qN;V0qRjUJ9\wLR$X*+^U⣓:UAMufL>$P1);촨eu&B z(0ibLj|5qA=) pmQuf`"PsP.ÑɐŲP3\=˚(]RzQJAdp.> N4QAPyWjo"y0/6:Y&xHʻ)OGVV+Ӯ6CԷ\5@F'#5>#SO%<6Qt7m{_ 4Ⴐ -8+Mg3d&H G+)8 _b@׶K-ѨNaU)o]gy *{mʹFIwn#q< -l2G, ^{ -=xb2NM2ct1~hF[[{ 9Jӆ#UwGy,eREDSAy2 ;ERYّӕ܀UԊu*~F#~RӞ{gmaybF 3si.Bv_}%#fI.Z xzqC"FcxNxLhpPD&fHذ5XLr)aew@MvS3WmaG(bp̅i2JY*QxAA䥭hѾ[ &Xnb+ -~ mn>` -GcHuK -!!h~!ܵrkqe,Rݫid[-y(bN+֧ZwÆDrnQs\m cia3 ,V#e 7oC(#ԣ*ﲨc{9x:Z]ޅH^33&}M/+A> SHьfuqLҀ)nT9Lh/0HKQɝCİ-u{I8|>^#B[X-Zl|Sޏ)'f5$*=O~\>$1Hf- A<ߢmRGdynI*w]嘀tY6Mgs [HQ -#Vp'EǙ}=KN ny:4z`qL2D.Mes%f(vI$F>_r2qH=if`;z:**ƍAUSA6EV 'JsPÈ -~~=pVCZî-r-d Ry#<@*^{ɫ)MNǯ6hojYiL/g}f@(]l[tY -=K+^,ֳDwXk6 8m˶_ ޅԼi:O0E"<$U{rcZq^2(M# w1XCNM]!v -il<\GJ )((L:zm_E "g&[ɨjG÷n?NP/򽕄])eل~k FgF<26r#k*]B dx@ -@4+RA  9Ќkl](]T6A4$$LmF4K"-,IꔷT] V}uMR>ɳ\jsH/ -d51ONXwՆ^gԦlwޡ9q.*,Mץd:$MOP\0|EW$!7?PWҬu-^k jMnCMPXƆQrKIiPy2a[[T=ޚ?F+l/ܧ]z qSx$nH*])4@ H RJ-.DU#m;d!!beqzv'u6fczv*z~R)ȴG*V 6gI-.ՂXڼiOe"`d4U? -[.݀ɜrKNe$M׽D|h@#r^wn`6I]G}:k3uss`3mcVQĵ47q2^،$Q*&wjSR[?^U,f@A<㏣ -s2iwI!#q$$Ut4#0oKHuq!ԣ:ݬb 8J]F@vD`Z=;QXncd;stiPdoէD1" -ھ9 --)6) ɡ7Pgt[C;ʤ{XtC61AⱯ,x8!DrjPTG*haJsbln D}XA!ZUrB5Eu ԘH T@ZS,y.v.dFfWbv9ltS0NՑGQAJS?CI|r"NFq#.6!m8(d0^-gYU* -&#E-?zd*E6lAh4żhMB(feoT d^U܀@4_rsYMc~gXծw\Fmdp9#01Xy'Y(|C*ӿ:,A7/nLks)dF3A'@{@l?1|sQ=x -~J(EjJF8ŢӸ{e"R߭U@~0.H)6Y.P4T+@t}9Xr =ތ%SPc% uTqe,b"Cl7횧d-ġ5S¸_2%n-&-*+OW;f_<3fڦ$P*Gxn89e2A-:k Z2BI۽76y V6Hs4`VJ$2lxU%lH`686M; o叚v򪗋aEVr;6Ƙ0PKcϪwpK7 s/zșu -%[SK>ƑH3|>rMzt8qtCZ58Hy?U_o K1YoQ#hKʨŁ4 -0d17F29_I3sJRWb&PLoP)RۙAx vX罹;"ZSn6W_Od([O)id!) rH$b\z"aC&%k`d0"$Y ُQt@Ym^DPֳ'ӷQ%d#wv)4lMe/İBW@"4S'-LN?[Wz*oԱ<%:"Ok<F=r^S%'Ua,/D(҇:>jv3\e`8IOlxԓ`[fyMQC>Q@ĐS3I^rRq5/D0K4PT<1qZ !q c-䌪Oo`6P'FTo -{W TBem޲qDJ,[{a'f ws02(UULEzצ]O90@o(:3sx-G`s-Z ~9|4q r̋GWm밡lpD0BU:-,ڀC.T;!Xiv+q'[u֜a0q' 2j޼P4х)N G s4Ԝ<O߼B|=3\ID@?Ey;+C&괒X(нj@r-8?@uj[=VWAu]KQXF 0TU{0'2HMf>wHSi@b~kVIÔsD$H~Wjzͨ]*J@pwČhM{S15SU4FX:HfKF+cx .;DZfCl74 tS}|Yt"lr94YIۓ-z|?2VOQ(́ҭbK KJ $DE՚Or{Q[ѫC!* Z7*m޼d$Z;fDbPרimiC-]ц[1$7U>[ %[1vn[`8VIU|NBDebǚ-o* P$r C皭NLs1ݱH%`dcN,$)KEw4=?H{@~g"C yNg],;-RZum.byΪCU f#HjNuM:o25NyM{ ~ُ؝EGG#b7H5>/Œk{]qMK/v@ADc5ړ@fgUnunLKœn.^NCC^#SLmōV-Rm-Ե:F/)2@?-Iqg[27fExXkgbHN"?ВwH}Dx"= 5Os ln@8%I.eXYCzl TG? ) "7O=ʹeLd9`>K{Y],%+F -eJt-LZ=̞c0ɧZ\.шGK freWV>hnn9GE4O(yV'f iAǡIn<-պ.ZVfNWqm(N]:nMzxI褅{=U"i;kxF+ Ⱥىlt[7Nn# +I4Zdƌ^Όlq42i%;59糎(4X}7gW(upn~4SGu=ϑBUQe|P}L|ϟѕ^2o+*@n<.<'VX9r+$R+)s^]aiQAw@ج+,ᓕ%tAmR(Gyq%j3}6QIW/]:oxAj6V6Z(Sb(||rxclYKTe(JY}듈CY*_ɱoɴfwnꢧqi%#@"nWJ^n+Lj5} G8SvZo.ԯbku0a=Nr|-{fj y!:֛u{*ÔRxȣj={}/l94ٔ+BiP>+>6cFXRieдf&`zClx0B\Q[ |ٯTJӑ, PZX p~I(׫r+5vXƧ>hַN~biW5u#qc(i- %# (_1hz@׋/&RDۍ}MBsu@FĢSF$HZWl tm枃syk$ KR+)߮Y@Nܹ@1 g -D#"KIRI2GՆ\\ֵha!dHo;h0V`B|KdJj4?XeyA`}9`9,q&cn k>Q1~/`9L -:R90 YZ[Zڤˆ E; Ӎ)MFoachBCU$"h}8a#$1+˸- $Yzo[%"L\zG7h\:3+<$iLeÒ4ؐpK8;Fu}Ϋ#[E -]')eJBvfDPj&;NcGX_++1'Uz6}d1RהKO^kġ#QWa'nFtj Un贛6a'ν{]+GmK OUBPAB #?N^98Ǜ ].K$1$zG.6Y8m)^ux*WӃ@0 zWvCl'*犷ϭ:⮏Awc@3Lh&249rsmǧjH@y -ejςTg\RLVԠ`uzL@T5htV4&G~EY ܶZ&N?9y HYV.Y`S=$]Wv#2#!vG6$R;2XE(B5#Aفbr2,kvCaCl>Qga1ZsN5XpfeeQyOǨ5Id,cBX]N*vLB&-r&иW+~jk땜} )/K+EH;Tn@l2 &:~kçӋw>8$Jʮ+ۡZ!yU[m<=]2zU;ёx ʥ14\z_: 1SS}ܔb U=Sᑎq'g:;7=CPЮDj[ޤo F) -a}\$I9@4>ʊf<2 ~"G.l4fncFx=96_v*&壆Q25qE2 Vk`l -q.{KMhzE,oQ%IߨUwc7s0P;FDޟc?H\r=m֙`63r^R/չ)RHm-clkdHӡ -n'ʱ Hʹu^)*::& S?%XpdŎfijs&DBr̰%QQ\Z,ܚLB5{m:HAYybxflO&(bv,Vn'Caugs,"xPK0HbkcԵ8n Kqf - 8ʽEIc'1#KMյX/$ToNSөÒCd㘉LXׯ⹞I|b.G8 7g1h'D'n~3@s>ͩ9򮽩AOܣiBTUGY8XVp18ȉHe[ؙ[y#Vcid 8]2ڼ7 -J~6_yW.`6K9UӐhfP QuyJfI -LA5b|3X}ELl zm,&HWALsk˖ڄ*'/js 7ő)PI4-LWEpTkՌjo1Îh#9T5]@aq hʳ@ЖfZPzws唥)[1DմM-5kHncU kj Z΋KY0c0;atP8ɘLq!2h˧}j[˗ɡxP8 GN"we z A촩ʢy}kY$ -]GL$l#Vqy*A5̗'hs><#WQdOphG}kNOh$! C HA|ːȓgv8F >CLHIGun-柔5O9y,1pC/9,s/Ѓmu(m,50)s-OERq} bQx21Rv-ir݉5ѽiWU=5 ~'~-OMR7O ]٣),QumAH&u~X d!V'YP#e$ZnE>,uqW0B};NjQIX~ nC.;u57 -~@G9"?%!vq.Al"9bv9v B -H~Hk"0_ -Jj -rEV c-7)q(Pk@\xI34HLϫkYIrU g#xPFWi$%0H|'rG>S?]_6)H*?v]n~3,CrvqbO[AC^\~^kHSondR?1`q[ɀ|dd֡b3Ơ aΛt9C}(_yO[Ҏ[dHR(}+<)Q;nir&[,#j>[K$k,rrCf4nR)%<R~qHhn4(I$nq&YꄾGZ,XKjv#{ݶ),rRlO$̴OJҴ_Zo^ :3 汬[XR?ΠK(d 7 -N:yYup m{o.,qv2CMRPB_'1q1a懟_Ɏ_y8ga\!)u#`{.aC0(GYȄ~l&GFQE)uF\NqOn[91gX&FZ{@f=Σ+ihQ8@_^%Bor]j_=O'  j̈h"RzYR)%~ .Ƈc1 r'hJ!&F[d1F#4b_:e5Qcj/crq

"cRbD;۵zFLS ?YX$li•5o 0C~;>]\2nP,d&>H<~V WPwx QZED}*watev0Zsx1.dcJvCG \&L 7f.T cEbH2%ǑJJQ]T홎vo^M%T0RVHȎhe%5A T{<.;ӖHpQ[dqRYw-@A}X#qz2QǠ;\\Ql/?0v1jhA n(-+*P_b3 '3M)@?ݼWkft.fhBMH`n,Qb==OGwniCSJfz{ʅ&v5OM  xބ~1S"IO"GE*2 Dʧ(C^_ĥ#.B0IZRtqG3.M1/UJ+\zYGpl}3]* {U+FZ#rck2AYɩhv"JШt̐\IhP"铲ٲB:~RJ&r˺%TuuT90)ó݀[NI>07^*/Qh>^!do!дZ=ORy+]@Txml j7ÀbTkeyqųK&3:ՠusC𐧋mAerf[ mw*+A3"L97]cz,^;[>X[HU;UNO͸ITIB=E-9mPZb`Lv~@˹$в7.rOp9ܧ!!'jS"Ki7:w>xY9*hSDF-I nƝcf(1ۣ&I}6<%1GP6c8{NUFK̼8ʬkYhV#@mN&CtBIOzƶ}:8e -\9y ?0][*HũFGdO+lCղ##B<ڥA#K/?^ -+ȟ|[n?EFbK1}Ӵ=>ŀio .E@,Oj 1>`ŪۨjC}+,O0A]S5!D%iѢ!d52JN_CᑭѸ ڧ))e4_jb+a| '4 *Faj1,x~*u0lBWgayqI}0vn|71&Zyz)+ǧdO%5+-gHڅ\CDPO5#\Hsx5jNYk׀H,2)ևn8 [B,p[&/.~G"k,3LF1ýԼ1;E躿ZUW< ֝:xr܋0o`B7`ho'Tr&'zdwoJC ܮD֔K# >Uz2yIчՊvO>l-~Pu Nw2%PC$HIg3#iܻSlTᵥ$:Ji8F n(wD7p8J9umN4SKUpTJW#g`8̃ri6 ! 9P;Ŧfe^R4Lу wi9(`v"'!14>^58FPh#aQZ>z-,' -% "ߊң -nGd. ҒM,gg&>DPZ` s1P̀SQsP6aӧ_|EX/jD6EuoQfZ\5ȥtMZeNTw =We2αq SM5-l_zk2Ğʏ~(X;h?FR{n -J ?If}d6P>~yܚh8Rm7K< ,UJPfqN ӔcCm_Yw&Dw`T -Lj;3Xc;T+B[b\TS}oۢejC A`edބ}LՅicuq@0k_lXU-/Kd ;X/>6ӫf&< }*wGg Bp\D7ޤa˛!ַQ;ĥ;ӱh$p4͝;U66XM)]=n^H03¦{# ]F?Xi7P>6)})led[uk0DVxRMHUY$U wƈ -:sCh&YdƒK:rN(Yo\m'F-XI]kO[rz͎S `o4EWi҇ 3N,rFVk9@pN.. -w}ĭ7cO 2@ez垙 -Ԯ$T>cX'Yryc@Ӕ}Z>u"ujLWz܎^[[n_rU(Ht!FʦA# ~=!ɖ\"]28|/^#2CQM,"WVCzS#6 `G J~-ѧ8)d,k"+ɁȘ"DrC6c, ol8)n=JvuTS~dA,ǥ4MÑO\{yU(X ##ɲXa26/GPÚH5Y,KFR1UZ[LHƊ7efUfBYJRRzd߅-8+ji^Pf(j77$2'ٷg,xAo l-[H cJQG[ʉ7"Gϒ"~]Qde)-E} OnPXS',èF^C2X+ŸЀrwnyƉ O^A -FyDIvRc[)HxAweWn+@O|3cV<21c+(Ep$:ب?6p1:H- -FYfC$l# dCWؓ>ǒnz~`aKT"t_,R۔pcz *2Lr g1I{la*Y.!]H=j:bkͼJRYU"B+δ1D옋d]t3M#ik R1TqؓC`6G_F2G$UJfa-OTgyoACYPsAHF3':i6Z)Ʋ'%>:AJ{1&I˒V!ЀÒֆ.s`xOdkƐK^\[})KdK0W,m^{oM"Xn*?UvGfyNlB q8R=H6(-֣0M؎3[s&EK5lJ^S  1 p@~ -[u ejI5p54׹s,midE"u+4Hku@*ОL̴ -?A\'z[1]ȥp8 -Gįj|i_&%dcL0md*yKm%'-R DJU9JПz2n|9Uao(,?\H9Qy4y}jv(|-nIU+I|ۭg(VIw~&nzy7  {d̬!H%fB#ǟ&r۟51 /bɵkv*: e±֟ OBE!t>ô*"%(2$B'(TXIZ*QGi?==)SUlܕysƏ&1vRK;R\vB̮Ƥ1 -d*Sd쎌1ȇԚl\4cP+7gBr@ -Q$aЂE@)-S5UDnRTa~/pTeay[z`цn*?!_ZTY V- haϖjwpumsH"n|9 ROx$ '?H NU5M,)cia͢toQFZou#rĝC+[KOˁ. )nӝ^؏ -uQ"hzJ!^ߠZĜ@unRy2:A~cYS[&KM|r,]l+jN벅Z{O;#G[s0jW<.PwzFw[\0nVuCYS 70I/f V@=||2䶹eJ5+];fCWl)mE{! -1!Ք|4@جwMI?2$+K?3 z{s=ӬFJey>0;_}LĐ;QǍ,#A(YcuL {4>[m6QfXY$=Awi{9;f!{}ap%Yդ&82R܃ -Y&zdI.:m@h*ZޅmM,HkO)Z78ﮝ\vU=O-QAѾ?U&c7BpN9c݄sVlՍu{y*Z*È#U%xa+f~9x'B#|lkm9 tf% "|W OqtرeGw,Ƭ6Q.,Pؗd.!Yw52N!^5en[k\rq.Ь@ȧOJe9OHh5* T6 tܶ 2g󦌖IHu%C4*ֻw S!܈6Hev A%3v8ZUWb=p) ,[=|Œ8}tIgF }ҹ ζ fo6y(׬5}IIM,D"kQW]<OTך0ud!33a]]do%?"|Y6S؍6N<@T(;n;"I -Ks{m^XPIڝ Db2aӇ2ޘT~o:(z0Z -,sNmļPH =yHW4r+q -n2MG(q>Y:XҢҧiTgf<4ykpRj'0 `3L]OtB&JKX(aµ -7G< D"NF^Az%)Q] -ۗS("DfRNՙpn 8YyP/헴H`I#P7@EJ:!"G&P?R'V3]HS"=v!=dEP=KPDfkHEE$LrHD3 ߢ3IY@Qbǃ !rNԠxsmh(efr*X7{Y ؾnAn浼B$u'!̟ g)M3 o8>Ǡ]~^yAO[8,&yRh[vb=A9Ysx({𹳎OSeDZٌnGC^Fdjc-N49 nM>yxǖ轊 ܠ} -+AƐkрe*.Iz H(xg;zs<>'Fޝcr$ qѐ6#grm$k΍H#w ?jߏp7|{jlڊ`x ]Ĵ1_݃osa*@vW&f),p+$1ȧE[[]2G!xhvf &.K%'|2L> JfO'f5Iu"8"}_Bd6?GSXP?0+D*OZ:e% '³RkU<@ǧ Gia=V8jq?|scb15]Q?ڴ63]k2ˮy-%]KQ}"5<={K.fGPV;FJrG,lȂK'kCʦw?<L ݥr߻Wf9([o0On}W?#)&|X1`‡pE09;FSS?+]N$33Uz~\%q&HT⏎Y97Uo|e**A -$Eذ%ՙ"N­I"Z]MV)K^,G\4~ⷝZ\7+3p:T -A߈j ,o"QF# 3dY.mW!g(wDc>2|2bc_֛MJ@/oc6t^l_%!F/z֧k1ZRp ":3eQ̱LO|ê_- j.IRWiFYN;XK}O!4Ctd$+^ݕ/ -^*=OLڱV󵥖u{3bi!3U~A xsj3gs:_\Nr3D6Pmb0 r?Ђ˷QȖ1KƎ8UYx⢇%:w~6l5dyWd=oM !Ǐ"N&{2qH jŁqʌ/Qt=;}hѢ+?d7+nm\\ވ"eI(U*5ڤtMPݾq?o5>*HWȶn%XܕPޚ_qLIa0v{_>N5m>wzQGRSz=K؁O{fCqxB$z$$)N[cNO eqWiz>; 8>jQ[V -"lV˃O3^(pJ`l8 H(Ǘ]j)JyBҕ;\$nV>qyQhtLoYwtdouoJaa]8YyTP(X窡 5zcȖit -Lp ϱǭs -Wד=Oc,Ρݨȭ1'6xdE&pjUo20C,t}b%#x AScr>J䷭锳ۀC8|pۗ"BZ,03T7`[a•(JV nn;[ll"a'/̚h~R Oq5 i>ZzGHWcr#RM'e少@ࢀI^22y0֦o ?KGnqVo0 @q;r,̬2T6vw1mk;d{+yE`YKF>鐖?6P;+_8^Z%m$|U#%h_߉!w)N֛k2h:MQm &Q'&*7S&#ma)#g$kuiwk~-Q',U)5Cryowhơ[Ū]3/$R_;toW$5fXݸͽ>U;28e -&w:q*-ýxsB1dgV{=rz 2?R! -9=r5՜n}<_XҤ{+4։Q$d_SjDrȓc[ -FG c4f>eCxc(.^5FCD $ --Pt7szdCVx4"QP3Hxq1EYoPJuBc2#R5,p*7LǠXD\jRۡVGڐ; W&7.4+ H2J¡^n{{eG5l0mgo5޻1"T(l:yTg]Au;F"nk"9oϏ?rҙ|*.$3&2ۏ1j5 ɶ%X# #N>H/ocLÎ17s'8@-:T*,O阙Ø-h| ?ˤW'L,Ix6JM̲4|)ٸQZjSIoOAm`XԻ e ?yW5 -KjwRJ xŶ Q:[i}H봟PLJP6iǝ7BݥjXlFW)WcV0w8DU#΂Ѥ,A+dn(N} 3 Dbo6;i4B[,U_ -1^<u&9?pL׉I#]qzfڣq,㳳ZFY$V+S' ~;o晥yoQ*ߙYb?Ҽqc ޹p u@>;#/%45rg7,O ~ oiX8;\IE DMm5o?UPW$FNNP/Rս5pн}P<{wջԌ/BrԍE`>fUz` t\0(s,$kh #(UڌVKFo^t( eQ]CŪ/&u?*l:1aO$ї[8d9۔,۴l$l|2Öd -׬ #uo0wt:@FEtcւNn{Tj`n"n,h~!БL$e(|Cp\+ -h @&m2$gra PBUL茀n]/|[̈́k\64KMz#2˱8ژ|ҧg te#C·$e"3aGۺIiFGVZ t~-M+<ۆPy*j>mkh9h&S˔j*ڽdce51$mbU'V/}dBy :x_ڔWkg$,E~B <ãk>RP . -\vC |G)@DC2AajZ؁,D31F 932S˜B\Gm33G4#E>׽{`ܸi4&wv E@u:8"C`io%$Q{6ErdAܖqyy^EyVJs cO} ٌr|Ll%5 -cAw0HN ѷ.b8@ǖMhMko1Ag}a0Y;'cU_WF/DPh;O<ط5U`x2 -+jtuʲ۫[sSeLE4$nc,ቕ*m|ɎD_W?E)T -pi"~h pgnD_~^9Ww㣚5m뿇<-Pk.i&}IYU'0~{АV/Hy l#-ࠐ-" E{8hxeu6O?C#T$kξ il+ou[c7 -?1BHMO|P1;_BeAO,NZ1۱dҮ.ĒH{MDyk'v >Wz҃# ֎]1.&N<$t/jŒB{hg\ ?::ti`#*шШ_+#Eʸݱ&MeoscX߭1~r1>H7R[[Z;[x.%VOQB*;0'yrG&2()Oa:[ሺLK/b%. jrOcMq*Hu-ZZ*( eu Ef¼绊K`GL^sm!KDcӅ$t>o2M imk<X)A/N9?gG/"@%d(Y?W/Mimb}}//rx!IrIۉ[B{꺔sH>¶ >%a;r2" ڃsdxok%i![VhޤyuBQ@~>iBso:˸;;/RXB欟 xW/Q;o~=CY*y1 s MFAiksgGQ -5go|7?&ۨWե/ r^+Jeh`8P'YBWOc3F@r;/nq,GkLtepTH*58(]|Mu5M/nXPڴVI#pHhVfҷ.5;~n< KC[;#|G1T䡄|UhջuYY "B1QaZՕR7'r@rnLjqQݫ[Yf. Š%oRHqvHZa<<1.e8a[VbhX;Y&fA?kg1r+gQ;8K )qUAQM;npF1W%WlhGg#Zc}_*䂿p<0*)Qi(3*'Ÿ jw׶ɪax7~ae @B294Xl -n09s sJL ;%z=VK-AY Q"$$mP5'&&R㈑deAŨl6PHzS:*ve!"@oiۇƓ)8}QŠ(~Q վ,`&Yr1{]&e-ELj4j*wNdmJ_"9NFY x2J6#"m^duwl#o"D ꖧ]ծ2. 4Dxdm{GӒMS1ֱJ"?RGs$jɑGQ<8`9Drucv[K~uX.dF!$~( S3e~N 뫵H};h//>qƳk 121k,67MZGqS[!BGZ]0q,O"hzN9}ifMPp!Vz +'&1w:\PH.~Yk&> d@ځS?(ͬ~tݓfz|:=y_8mDHM~'a#6Nc={VђCsqU>jԯuH##|ػz)\p1A<-o@\3CLOjRy]U/U=6.]9݇ivmbșF,~)d5?6_z:ph|ۄ t.٭Cm͘kySBJ0ۮL]uuĐrhϧNїXHѸ^Ke :.1-)# `x ҕgwbۇm8yN;PRmBOIe$?D#Hw[t[91`I3G0^^7=-"CЪL=h [n9Яǽɱ$!Scs_r,gVDiG.mg=$~7EV[ 5 ZDXV9|mPLB:ά1gn`\LMTw""6G!;-e[b@% đFGn.bDO㒍Mr` ܾjNx -j>\.3rC`VnD/"j`xȮ|]}卤 (niZ`q}(O}ꑀ kcWiXJ@7!E89}& I4F@**(SI6j: XfQ<v/"dSc,-U"~f _~:}|g%o4k} #OfPO-Ԡi5QP71x~n{{) KybhRI*8?gs tQ6z>kb%#{i#@(I*f^Tn Y)7:,A:?ahXjm# ? 6qaevxGiFvI2\cx~-ZW?FP[%0 U'5S)E(Aaip^= @ʶI3Ȱ" x R#a -e? ^ ooeq?ԲJUw1CCN'rp'#b>?g=?BXZ[Fc1A͸pEjGw5'%^F1065Bc|#w~>]dJ`~lQiuyckUhLjX&b,9W?iOc[ Zm̖WdfgQ$Ҥ{ Q;uF\{?˷ppO^Ml}4uo]89 -8G4n5z/oi}/]]@wOƿTʳiHOaB<"of -cR -Ǔ2qc_5uGw'ސ5/)\,Vяz *_5݉{6Y C# yx/5PmJfGcxnQ)U1r?&Ԑu_MWꋻ?|k.<~I(eK{U 9"7я#M׶YH]bdxГ΁ ˒desc UAK${oBgf~EwuVb aHC̱v(Ia1NnCsK&l4E$prb:m9f+^9rh:)@tD_[{]ޟ9V.Q,5G)wy_$ DѫoOBD&2;ǻ(;`#oD`Gcko6:I6~Yع@n+ֿv7{))p_ -T3F<3UC8eȟM>.A}M8{c.~2i}l_~_cͭEq7:^9h7!gTߓW.#|Qۋn}oy}Ě]9WPQBnFH&ϋ1<;ff?ie ۍ2$4SQ#Lq"ډ~)]"wP'Єx$%kC/(Q"܋Qc)L;G-|᧴1rR7T0F*̥<] kbk鴂>fEyriDPVvzfhK?Ks#(b~퀄H"DU)ξXcȎg\yh N-G,iGTm3 a;rttzזAu3< } -jTmGnmV4a4ӆ25K$1!4] iN8IpD}npy(yTjFH~ރT d#z^h* - "lJQXK!5Gs5swIf*!,P̼zFf'[?;o6 ZV{x} =PreqwEc,x|tmJuN۽ :yC$pO4,a,ύ@?O5R_C1D̎>>Bk^vxSco%@B2:!e,æoϹDdžOP{1i @j$q>Ȃ@,C!w=?m83@e InՕ\⺸2T&Bc,>24DkH.9H}K#ݮ@jYזۨ}n`Aw!XVI$DT3:I30nzm⪀O(ǧ<z}J[ŜwO!6t^hj+eSQ쎸$x+yL׏sZ?xeWR:OSmvM<vJZU&)hLYkn#9zʻc7zMGGWWԚ`Nʉ;yG,S0'bHv>{tėJq +0>Yy->>uo'doq;P?mSmm&8^). Lxc2Bf BZE\ =c:?u:^QH^I+΢ a{w7iK#ѠSh`5g@]-M0pnQ:_ڌ/kKQ˦zPZ"b Y! HIN<5جF2CQٽ{eƱw5(͸0F5кd!tWrTg;Qa ݡu{-E֐z5n)3'ܔGpsҿ9D_6S4WKg}k=_o-ÿڮmD]ЇH(d  N5{! -|?T Z⻸_^!N/F^N?hrogq*CM[tϫpnY褥TH =2%wyqwwmoӍRHT^`3????#̶GzB\8 U|h##+riܫ5wU$SguJhW ;`0 R_deyA1qVHҷ8yfFiiMedU)ȫWd!a.Z[[෺EiO>nZ\qURK-kF"n0U]v (n-y -bP^?iK`O1rKcIh& 5H("Gf~yoY?䤿^aqgJK5W;dxyoY?䤿^> -endobj - -22 0 obj -<< - /Ascent 0 - /CapHeight 0 - /CharSet (/g3) - /Descent 0 - /Flags 4 - /FontBBox [ - 0 - 0 - 0 - 0 - ] - /FontFile3 28 0 R - /FontName /KPPLPG+Times-Bold+2 - /ItalicAngle 0 - /StemV 0 - /Type /FontDescriptor ->> -endobj - -23 0 obj -<< - /Differences [ - 1 - /g36 - /g74 - /g76 - /g73 - /g87 - /g3 - /g82 - /g79 - /g89 - /g72 - /g75 - /g68 - /g86 - /g69 - /g81 - /g92 - /g88 - /g85 - /g80 - /g48 - /g77 - /g83 - /g71 - /g17 - ] - /Type /Encoding ->> -endobj - -24 0 obj -<< - /Ascent 0 - /CapHeight 0 - /CharSet (/g80/g71/g75/g73/g87/g48/g69/g81/g83/g74/g77/g17/g92/g36/g72/g3/g89/g85/g68/g79/g88/g82/g76/g86) - /Descent 0 - /Flags 4 - /FontBBox [ - -32 - -277 - 923 - 777 - ] - /FontFile3 30 0 R - /FontName /KPPMKC+Palatino-Roman+2 - /ItalicAngle 0 - /StemV 0 - /Type /FontDescriptor ->> -endobj - -25 0 obj -<< - /Ascent 667 - /CapHeight 667 - /Descent -219 - /Flags 32 - /FontBBox [ - -177 - -250 - 1141 - 880 - ] - /FontName /ItcEras-Book - /ItalicAngle -2 - /StemH 44 - /StemV 60 - /Type /FontDescriptor - /XHeight 494 ->> -endobj - -26 0 obj -<< - /Ascent 667 - /CapHeight 667 - /Descent -224 - /Flags 262176 - /FontBBox [ - -169 - -250 - 1247 - 909 - ] - /FontName /ItcEras-Demi - /ItalicAngle -2.5 - /StemH 98 - /StemV 140 - /Type /FontDescriptor - /XHeight 497 ->> -endobj - -27 0 obj -<< - /Ascent 629 - /CapHeight 562 - /Descent -157 - /Flags 35 - /FontBBox [ - -28 - -250 - 628 - 805 - ] - /FontFile3 32 0 R - /FontName /Courier - /ItalicAngle 0 - /StemH 51 - /StemV 51 - /Type /FontDescriptor - /XHeight 426 ->> -endobj - -28 0 obj -<< - /Subtype /Type1C - /Length 29 0 R ->> -stream -KPPLPG+Times-Bold+2  g3Times-Bold+2| -endstream -endobj - -%QDF: ignore_newline -29 0 obj -85 -endobj - -30 0 obj -<< - /Subtype /Type1C - /Length 31 0 R ->> -stream -KPPMKC+Palatino-Roman+23 k/FJ - "%(+.03691]z\oеapċBrqqY񍴍}~y{~{~vwlltq|w~{yzm`mwtqxΎD_psutz~y[~zl{|qǏv~o~ivY>xrlvP%yl_`_v6\tzsel -fs~xD=6\tztdlջdsv⌹Zhusni{cmG],;Ntpnomlkkilۃ{Ӿ||vookguuww}FI׍o}XBoudRSUm}cDrb~~xqqkeU~^rgfqgy\vxyy{}K'hy~~yu|iX9vX;Vϊysuqqrrp2=l|\IoxloqQ3\z\oɸ$kPPQSA3\z\ogw~}vmlhbgpyhnTXyttvxxoNJ~wqpmhej}l|lxts||spmtsuuwzP#Azxwvvuif{ccyovzqyrmjtwxy|hrry{~l{y~o{cy|~~}}qrttx}}»}xwpf!gp|k\Nytsskbbovyyurovwz|}f1|vrt}s{svxo}nlipr}«3~||~~||~-GkyXEo}vhv~oaalyx|i}{|}~}{z}ԝonnljen{|drKpMz_tqQ{yk~~gfedccom`RUekn~f{hzhr{~s@ mv)tgj2qztic~ja mI~mf> -stream -Courier$  NUMszEuroCopyright (c) 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998 Adobe Systems Incorporated. All Rights Reserved.Courier7a(`Nr;lJm]! < -( -x -  N  J  > /l]";h!h V#0KgN(=(:QVl  ! !@!a!!!!""M"#Y###$$h${$$$%%^%%%%&I&&'w'( (()1)*K++$+;++,>,,-A--..:./J/00$001H12&233c34y55o56;6677E7x78R89%9::;B;>?`?@ABB|BChCDD=D}DEEEEFWFG6GH:HI"IIJ=JK - dw(=ikanmmmmw;`I-,+ 73ggph2܀2 7,yX~y$yW}yU7&V~mm#~mmgl7$73,*I]j[V;l'&R\ӧ[|uk\*UW]lkhT"K)e#uQhZrчn~xe=1zIZZgU3[w+,Vác5@[OJIQTjsh_cljf?d5@ZOJIQҿUjsh_cljf|31X`5k‘p zr a|Vpdv"^kIJzud]X9YXReih Q6lQ4zYKusnnTY[кwF?,?*}bUEW,&'&1\C$*}W,EUW(!$C\7&'vw{#z$W.C.&{D!f4i - -ȭ5RRNPUPQUQPPI= ,Aq_qT ~ocekpjmn#0<\˺vzdh_Hwwy8rg09l^~+a@MlU&z! -3p֣tdXNNw?{XTD_DTorUD?Ẽ~h?NALpWYDӨ[;|}}jQ#MaruFc16;CLWaCi3蓨׻\Q9=pP\+뜵bE~I {Qj[[@7-01 ˦7BL0rnjjWR -PSf}O\D4\½ٲ|in]c} $  zVfkpjkpzVfkpjkp zVfkpjkpmQ+Cv''"8=AATA0AUvp7"7T''T -v *u4jDBPP{y\Be)vB}"՟ !ocekpjmn}߯n(ti[CAF*4,Qᩲ|X3FzI@HcuBK"2^GYqpf}Yzk~JC+*pov~nieJb,Qi󽰒bzdhPeUdT#KbMTh0)Tt [c z*PKh9?Tb=TǕ.nnvyni^\ ceXm{lk|zffa-[&s|om~|sdVHpG*2Ml\:iUNmaZV1#-9%Kبb8="mjgTb=TjKTR~Rp^Le@}Ab㳈`oJ4_`4ZST_4B^TA4`SsTb)5Y,Tb=T-)ΙóTqrwWlMR}Zyqt~nv/}pfB16Y7\q\|SH#onppnpiz^t~u}vqqncc]|||&PT[fC1M×صծo3e[[Po&jQd̖ \ TbCT`22WdyywXdhgo}iX_momoܸ TX͎?Wtfda9mvl[FHm]XS8Tp8ϯ~F9TmR"T!4#+0,T';BL5UVaq|cA>5Og\gT8T-dcbT6I9.=QVaV8GmI9>=e8c|lff)Ϥĺe-T-1/M996ŭ;.b[{ql,LATJHTT -V]i\lPFF/]|㘶zpP2Uc^USCV5rpz[؏Յ䷇e{AfLT[T>¸tu#wW@hGpqpnUDTy֨ax9TYcW_KpnvmTbbpsxHjvn#fxfT%%nT??Tv72x2T75\757TbPYNKc?>A%+NTYT'*>BATbKMTVS&GGT:-STL*9T6'T/$WzIvh8zRe>?ÌټBͱďZPsZ}nkj xmDiWim jknZƀ{{X{zIvh8Dx }sPZTć|IBZ=S?Y3Z>Ie|RTƖ ԭ#švFYv~lTiymjПfoaQtf`ffzyzyDz ( mdcoojkpny_{L-Jkw0|jWPrK eݾ츹}tX-Ubhhe!T"A+N G##ύ©~qWd&vzmwhkkmt|||jk|ṇbt٥v]pQ1"(OZYllii\YxTQʂYmnxzqezyzsR,#ޜD -\al[n}crpk9t:1%KhhmnyolkuwylXjPhlxi7u|ujRU%\ztы{垌ȣX|_G/ -|z4 ɜ~yt!޼-H}kkJId[YWVzleIkjIf]\aWWeGHmaûIe$:I5/?95w,w*`@+@+CL$L$zTT/M$M$zTT9=M$M$zTT?CrTz[M$M$[8UyEE T#Tq]xr\zwuuS!T!T!!ӡ€"%T!T܅qno1c[EA T!T!!ݢqGqGT -#wM -#T#T::M#wMM#T#TT}}o  -ocekpjmnSԲбS&!n2Rui__3@oF t;'';:'':M>,@K+@F+@w`L+@F+@CrTz[M$M$[TTz[L$L$[ p۹ocelpjmndocekpjmnepcekpjmn w/~"`-c5@[OJIQ-Vish^bkje`c5@[OJIQ`Virh^blje€mc5@[OJIQ€Virh^blje@M}<:X$:  +$nakhsilmUM{iccpԱәTPAwf ppvKnƛ~E3^&i>'~D<gj%l (3;)3y(&}w!YqocgpttНtroXWeGuzzyzɻŞHHW"Qg}U^CRPrPoFiӤ7I08L6{g)`UU``UU`PvzzvvzzvJ0(sx]4Пz}}y|~}b{д~\d"\Et8[Et5>~{~xw>ezlhdgi~ a%)bw*0qqT¯_X0T&,`Q>URD_,$2,TCbVTX5<sfõ0$|E[izuvddjaƑprvst)w\rig|eksgxeqwb-T^GBBCxT8hTޮ1!T{/|Z`bUeYHE41!8?UWFkly68TD]ckVIb:^ix0.zq`_}1T%+`R'' .@BDdW>RAg8/nܭ`X_pa__ЛVtUUhCT.eSX]TP6/"UTeV\bľi)|j#]ha.bcjnfe?#q~r<cTזnc~g@TqslWDeZl|vaH#s"S |ˣWgUSˏuzqnjpG+㪫{nkde`}uf__:pʑvjZ.dRpigo[Up8T9TrѡˈV}mjAhly{vsMoyd^:oY\cuTm{ -w7.$uYt.Y`AT -O~ax8T&3g$IaTYtw٣˰x@͋wcmFn;W{V{<T_Zf8="mjgTf@UZ=TjKTR~Rp^Le@}AZ<?w˽>]]GQVg[UY)@ bv)o.#uYt.Ywsswwssw>;ASwsswwsswtHTXTTXT` `WA]1HD56CVQ\_SObܟ?qVq|cA>5Og\gT[8T-dcbT6I9.=Q>9wdlX>]]HQVg[TY(@bu*p.Huq~r{wqefzwl\zlntuYZbvxnVjjo}X}}ưY4/߷f@bdylpQnlinprx'\LҰѮί  -##h43". 0 `f_;&Bmvt`ҵzyRARAUww~e1pGc`^gZ~;\\Y6}eSUQG$!3#D R{!5F ;6!JvCECCEdCDDCddEDDDeCCDCl3uq🜕~r{wqeezwl\zlnsuYZbvxnVjio}X}}ưӯXƮίۯ -##h43". 024nsuvqVdƹ~xjsg>VMD:U˰d{whPeUdT#KbMTh0)Tt =Vj&md8΋whPeUdT#KbMTh0)Tt M'2:)2y)&dhsxeUdT#KbMTh0)Tt 7L7d{whPeUdT#KbMTh0)Tt &&i?'dhƊe@UdT#KbMTh0)Tt݀ ?xZ@ST_4B^TA4`SsTbmNj&m{+΋w/X`bE41!8268TD<0-;<>}'2:)2y)&{X`bE41!8268TD<0-;<>6 7L7{nw/X`bE41!8268TD<0-;<>V&i?'{ֿ/X`bE41!8268TD<0-;<>wXqrceqttܝttmRZZRxzyzyЭδ_HA6WT|M`¶wwniP3jbF/}Far̽yh2MU`mdVW#L)7,khT~vvJNa#LKZmTH`؃P ra%)bx)1n{wT@j:fen]TBA\k~ədfj&mn8΋wT@j:fen]TBA\k~ət'2:)2y)&n߳T@j:fen]TBA\k~ə-#7L7n{wT@j:fen]TBA\k~əM &i?'b{wZ¸WWT"$ZTE;T;Aofj&mbZdߍ‘^WWT"$ZTE;T;A8#7L7bwwmT6e/^'cU<a%)bx)1`2|Xj%l~9|vY6GFwsQUӦy{hjl_Z[8V4PJEж|7*OYH\:N``2-~p(3;)3y(& -~9|vY6GFwsQUӦy{hjl_Z[8V4PJEж~7*OYH\:N``2ÿޞ~9|vY6GFwsQUӦy{hjl_Z[8V4PJEж~7*OYH\:N`x8L6`2|O&i>' ~9|vY6GFwsQUӦy{hjl_Z[8V4PJEж|7*OYH\:N``2óƥs@`UU``UU`Pvzzvvzzvs@q9|vY6GFwsQUӦy{hjl_Z[8V4P@JEжs@7*@OYH\:N``2Ҿ}w{xYqocgptt}troXWeGuzz{yz{ɻŞ9|vY6GFwsQUӦy{hjl_Z[8V4PJEж{7*OYH\:N`J1uur=Q:0`}gFCT[][QAF05?yws}}}cxsxޏ̪¶<gj%lKz_==y\\^egm.H5!/ -CަJjƓ&r<-(3;)3y(&Kz_==y\\^egm.H5!/ -CަJjƓ&r<z_==y\\^egm.H5!/ -CަJjƓ&rP8L6<^&i>'Kz_==y\\^egm.H5!/ -CަJjƓ&rVj%l~AcT,DT:n(3;)3y(&~AcT,DT8v8L6AcT,DTM&i>'~AcT,DTaҾ}wYqocgptt۝troXWeGuzzyzɻŞ9mvl[FHm]XS8Tp8ϯ~F9Tgj%l -R"T!4#+0,T';BL5U-(3;)3y(&R"T!4#+0,T';BL5UmR"T!4#+0,T';BL5U48L6^&i>'R"T!4#+0,T';BL5UҾ}wYqocgptttroXWeGuzzyzɻŞ,R"T!4#+0,T';BL5U¶\la%)bw*0@PFF/]|㘶zpP2Uc^USCV5rpz[؏Յ򷇿e{AfLT[T>¸tuax^j%l"~9TYcW_KpnvmTbbpsxHa:|v(3;)3y(&~9TYcW_KpnvmTbbps|Haީy'8L6y!9{TYcW_KpnvmTbbpsyHaxU&i>'~9TYcW_KpnvmTbbpsxHVS&Ggj%l.GT:-STL*9T6VS&ފG08L6-GT:-STL*9T6a%)bw*0/~'T/$W54`.'بsdVHpG'9mvqcCUUVZVC-- pQwTz~~W}И+E}И+E -  -endstream -endobj - -%QDF: ignore_newline -33 0 obj -19922 -endobj - -xref -0 34 -0000000000 65535 f -0000000025 00000 n -0000000097 00000 n -0000000331 00000 n -0000001413 00000 n -0000001433 00000 n -0000001561 00000 n -0000001673 00000 n -0000004066 00000 n -0000004087 00000 n -0000004374 00000 n -0000004670 00000 n -0000004751 00000 n -0000004936 00000 n -0000005310 00000 n -0000006925 00000 n -0000007829 00000 n -0000010054 00000 n -0000028727 00000 n -0000028750 00000 n -0000074159 00000 n -0000074182 00000 n -0000074258 00000 n -0000074496 00000 n -0000074779 00000 n -0000075122 00000 n -0000075364 00000 n -0000075613 00000 n -0000075867 00000 n -0000076050 00000 n -0000076070 00000 n -0000081988 00000 n -0000082010 00000 n -0000102030 00000 n -trailer << - /Info 2 0 R - /Root 1 0 R - /Size 34 - /ID [<66be986488f3991cf47a7d3b19e355e5><31415926535897932384626433832795>] ->> -startxref -102053 -%%EOF diff --git a/qpdf/qtest/qpdf/inline-images-cr.pdf b/qpdf/qtest/qpdf/inline-images-cr.pdf deleted file mode 100644 index 48861a73..00000000 Binary files a/qpdf/qtest/qpdf/inline-images-cr.pdf and /dev/null differ diff --git a/qpdf/qtest/qpdf/invalid-id-xref.out b/qpdf/qtest/qpdf/invalid-id-xref.out index 514d5a00..9ae4405d 100644 --- a/qpdf/qtest/qpdf/invalid-id-xref.out +++ b/qpdf/qtest/qpdf/invalid-id-xref.out @@ -1,6 +1,6 @@ -WARNING: invalid-id-xref.pdf (trailer, file position 2493795): invalid /ID in trailer dictionary +WARNING: invalid-id-xref.pdf (trailer, file position 731): invalid /ID in trailer dictionary checking invalid-id-xref.pdf -PDF Version: 1.1 +PDF Version: 1.4 R = 3 P = -1804 User password = diff --git a/qpdf/qtest/qpdf/invalid-id-xref.pdf b/qpdf/qtest/qpdf/invalid-id-xref.pdf index eaae8041..025d3e98 100644 Binary files a/qpdf/qtest/qpdf/invalid-id-xref.pdf and b/qpdf/qtest/qpdf/invalid-id-xref.pdf differ diff --git a/qpdf/qtest/qpdf/issue-106.out b/qpdf/qtest/qpdf/issue-106.out index 80ccdf74..d93b7274 100644 --- a/qpdf/qtest/qpdf/issue-106.out +++ b/qpdf/qtest/qpdf/issue-106.out @@ -1,4 +1,5 @@ -WARNING: issue-106.pdf (file position 56627): error decoding stream data for object 29 0: stream inflate: inflate: data: incorrect data check -WARNING: issue-106.pdf (file position 64303): error decoding stream data for object 30 0: stream inflate: inflate: data: incorrect data check -WARNING: issue-106.pdf (file position 67427): error decoding stream data for object 31 0: stream inflate: inflate: data: incorrect data check +WARNING: issue-106.pdf: file is damaged +WARNING: issue-106.pdf (file position 809): xref not found +WARNING: issue-106.pdf: Attempting to reconstruct cross-reference table +WARNING: issue-106.pdf (file position 965): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect data check qpdf: operation succeeded with warnings; resulting file may have some problems diff --git a/qpdf/qtest/qpdf/issue-106.pdf b/qpdf/qtest/qpdf/issue-106.pdf index c11ebc2b..e8a1ce0e 100644 Binary files a/qpdf/qtest/qpdf/issue-106.pdf and b/qpdf/qtest/qpdf/issue-106.pdf differ diff --git a/qpdf/qtest/qpdf/multiple-mods-check.out b/qpdf/qtest/qpdf/multiple-mods-check.out deleted file mode 100644 index 103b5341..00000000 --- a/qpdf/qtest/qpdf/multiple-mods-check.out +++ /dev/null @@ -1,6 +0,0 @@ -checking multiple-mods.pdf -PDF Version: 1.3 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/multiple-mods.pdf b/qpdf/qtest/qpdf/multiple-mods.pdf deleted file mode 100644 index 6370cd65..00000000 Binary files a/qpdf/qtest/qpdf/multiple-mods.pdf and /dev/null differ diff --git a/qpdf/qtest/qpdf/old-and-complex-c-check.out b/qpdf/qtest/qpdf/old-and-complex-c-check.out deleted file mode 100644 index f55decbc..00000000 --- a/qpdf/qtest/qpdf/old-and-complex-c-check.out +++ /dev/null @@ -1,3 +0,0 @@ -version: 1.1 -linearized: 0 -encrypted: 0 diff --git a/qpdf/qtest/qpdf/old-and-complex-check.out b/qpdf/qtest/qpdf/old-and-complex-check.out deleted file mode 100644 index 2c651518..00000000 --- a/qpdf/qtest/qpdf/old-and-complex-check.out +++ /dev/null @@ -1,6 +0,0 @@ -checking old-and-complex.pdf -PDF Version: 1.1 -File is not encrypted -File is not linearized -No syntax or stream encoding errors found; the file may still contain -errors that qpdf cannot detect diff --git a/qpdf/qtest/qpdf/old-and-complex.pdf b/qpdf/qtest/qpdf/old-and-complex.pdf deleted file mode 100644 index 74b8c255..00000000 Binary files a/qpdf/qtest/qpdf/old-and-complex.pdf and /dev/null differ diff --git a/qpdf/qtest/qpdf/split-content-stream.out b/qpdf/qtest/qpdf/split-content-stream.out index 4941e63b..eb09d598 100644 --- a/qpdf/qtest/qpdf/split-content-stream.out +++ b/qpdf/qtest/qpdf/split-content-stream.out @@ -1,5 +1,5 @@ checking split-content-stream.pdf -PDF Version: 1.4 +PDF Version: 1.3 File is not encrypted File is not linearized No syntax or stream encoding errors found; the file may still contain diff --git a/qpdf/qtest/qpdf/split-content-stream.pdf b/qpdf/qtest/qpdf/split-content-stream.pdf index 92cbfc02..3910a7c7 100644 Binary files a/qpdf/qtest/qpdf/split-content-stream.pdf and b/qpdf/qtest/qpdf/split-content-stream.pdf differ diff --git a/qpdf/qtest/qpdf/zero-offset.out b/qpdf/qtest/qpdf/zero-offset.out index df991469..f789b165 100644 --- a/qpdf/qtest/qpdf/zero-offset.out +++ b/qpdf/qtest/qpdf/zero-offset.out @@ -2,4 +2,4 @@ checking zero-offset.pdf PDF Version: 1.3 File is not encrypted File is not linearized -WARNING: zero-offset.pdf (object 27 0): object has offset 0 +WARNING: zero-offset.pdf (object 6 0): object has offset 0 diff --git a/qpdf/qtest/qpdf/zero-offset.pdf b/qpdf/qtest/qpdf/zero-offset.pdf index ff59b457..2e71f176 100644 Binary files a/qpdf/qtest/qpdf/zero-offset.pdf and b/qpdf/qtest/qpdf/zero-offset.pdf differ -- cgit v1.2.3-70-g09d2