@ 260915.5

200124.1 · d2fb13327a7f7aaf0e7a15a067944a6f0f7f5baa

released 1.7.5 - 484 new test cases to verify ugrep

reading declarations

Makefile.am

@@ -46,4 +46,4 @@ install-data-hook: .PHONY:		test  test:		$(top_builddir)/src/ugrep-		$(top_builddir)/src/ugrep -rltc++ copyright $(top_builddir)/src+		-cd tests; ./verify.sh

Makefile.in

@@ -916,7 +916,7 @@ install-data-hook: .PHONY:		test  test:		$(top_builddir)/src/ugrep-		$(top_builddir)/src/ugrep -rltc++ copyright $(top_builddir)/src+		-cd tests; ./verify.sh  # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.

README.md

@@ -15,7 +15,7 @@ Grep super fast through source code, Unicode text, binary files, cpio/jar/pax/ta - Unlimited pro version - Fully compatible with the standard GNU and BSD grep command-line options - Written in clean and efficient C++11 code, built for extreme speed-- Faster than GNU/BSD grep, mostly beating ripgrep, silver searcher, etc.+- Faster than GNU/BSD/PCRE grep, beating ripgrep, silver searcher, etc. - Multi-threaded search using high-performance lock-free job queue stealing - Multi-threaded decompression and search of decompressed streams - Optimized non-blocking asynchronous IO@@ -122,18 +122,6 @@ Introduction: why use ugrep?    looks for `main` in C++ files in the compressed tar file `myprojects.tgz`. -- **ugrep matches patterns across multiple lines** without a performance-  penalty.  Other grep tools that support multi-line pattern matches require an-  option and the performance suffers.  By contrast, **ugrep** is fast and no-  options are required.  For example:--      ugrep '.*begin(.|\n)*?end.*' myfile.txt--  matches all lines between a line containing `begin` and a line containing-  `end`.  This pattern uses lazy repetition `(.|\n)*?` to match everything-  inbetween, including newlines.  This feature supports matching that could-  otherwise only be done with utilities like `sed`.- - **ugrep includes a [database of search patterns](https://github.com/Genivia/ugrep/tree/master/patterns)**,   so you don't need to memorize complex regex patterns for common searches.   Environment variable `GREP_PATH` can be set to point to your own directory@@ -149,6 +137,18 @@ Introduction: why use ugrep?   `import` statements (matched by the two patterns `\<import\h+.*` and   `\<from\h+.*import\h+.*` predefined in `patterns/python/imports`). +- **ugrep produces hexdumps for binary matches** to search for binary patterns+  of bytes, for example:++      ugrep --color -UX '\xed\xab\xee\xdb' some.rpm++  where `-X` produces hexadecimal output, `-U` specifies a binary pattern to+  search (meaning non-Unicode), and `--color` shows the results in color.+  Other options that normally work with text matches work with `-X` too, such+  as the context options `-A`, `-B`, `-C`, and `-y`.  A match is considered+  binary if it contains a NUL (`\0`) or an invalid UTF multibyte sequence that+  cannot be properly displayed on the terminal as text.+ - **ugrep is the only grep tool that allows you to specify negative patterns**   to *zap* parts in files you want to skip.  This removes false positives.  For   example to find exact matches of `main` in C/C++ source code while skipping@@ -165,17 +165,14 @@ Introduction: why use ugrep?        ugrep 'IsInjected' -f php/zap_html myfile.php -- **ugrep produces hexdumps for binary matches** to search for binary patterns-  of bytes, for example:+- **ugrep matches patterns across multiple lines** without a performance+  penalty or requiring options.  For example: -      ugrep --color -UX '\xed\xab\xee\xdb' some.rpm+      ugrep '.*begin(.|\n)*?end.*' myfile.txt -  where `-X` produces hexadecimal output, `-U` specifies a binary pattern to-  search (meaning non-Unicode), and `--color` shows the results in color.-  Other options that normally work with text matches work with `-X` too, such-  as the context options `-A`, `-B`, `-C`, and `-y`.  A match is considered-  binary if it contains a NUL (`\0`) or an invalid UTF multibyte sequence that-  cannot be properly displayed on the terminal as text.+  matches all lines between a line containing `begin` and a line containing+  `end`.  This pattern uses lazy repetition `(.|\n)*?` to match everything+  inbetween, including newlines.  - **ugrep matches Unicode patterns** by default (disabled with option `-U`).  The   [regular expression pattern syntax](#pattern) is POSIX ERE compliant extended@@ -221,9 +218,6 @@ Introduction: why use ugrep? Speed ----- -Our focus is on offering a grep tool with a wide range of new features, while-offering high performance that is competitive or beats the fastest grep tools.- <a name="tests"/>  ### Tests@@ -246,8 +240,9 @@ T10  | `GREP -z -Fc word word*.gz`                                      | count  Note: T8 and T9 use **ugrep** option `-Oh,hpp,cpp` to restrict the search to files with extensions `.h`, `.hpp`, and `.cpp`, which should be formulated with-GNU/BSD grep as `--include='*.h' --include='*.hpp' --include='*.cpp'`, with-silver searcher as `-G '.*\.(h|hpp|cpp)'` and with ripgrep as `--glob='*.h'+GNU/BSD/PCRGE grep as `--include='*.h' --include='*.hpp' --include='*.cpp'`,+with silver searcher as `-G '.*\.(h|hpp|cpp)'` requiring `--search-binary` to+search compressed files (a bug), and with ripgrep as `--glob='*.h' --glob='*.hpp' --glob='*.cpp'`.  The corpora used in the tests are available for@@ -259,33 +254,24 @@ The corpora used in the tests are available for  Performance tests were conducted with a Mac OS X using clang 9.0.0 -O2 on a 2.9 GHz Intel Core i7, 16 GB 2133 MHz LPDDR3 Mac OS 10.12.6 machine.  The best-times for many runs is shown under minimal machine load.  Performance results-depend on compilers, libraries, the OS, the CPU type, and file system-latencies.+times for at least 30 runs is shown under minimal machine load.  Note that+performance results depend on compilers, libraries, the OS, the CPU type, and+file system latencies.  Results are shown in real time (wall clock time) seconds elapsed.  Best times are shown in boldface, *n/a* means that the running time exceeded 1 minute or-options are not supported (e.g. when option `-z` is not supported).+options are not supported (e.g. option `-z`).  GREP            | T0        | T1       | T2       | T3       | T4       | T5       | T6       | T7       | T8       | T9       | T10      | --------------- | --------  | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | BSD grep 2.5.1  | 0.67      | 1.85     | 0.83     | *n/a*    | *n/a*    | *n/a*    | *n/a*    | *n/a*    | 3.35     | 3.35     | 0.60     | GNU grep 3.3    | 0.06      | 0.18     | 0.16     | 2.70     | 2.64     | 2.54     | 2.42     | 2.26     | 0.26     | 0.26     | *n/a*    |-PCREGREP  8.42  | 0.07      | 0.26     | 0.08     | *n/a*    | *n/a*    | *n/a*    | *n/a*    | *n/a*    | 2.37     | 2.47     | *n/a*    |-silver searcher | 0.05      | 0.16     | 0.21     | *n/a*    | *n/a*    | *n/a*    | *n/a*    | *n/a*    | 0.45     | 0.32     | *n/a*    |+PCREGREP 8.42   | 0.07      | 0.26     | 0.08     | *n/a*    | *n/a*    | *n/a*    | *n/a*    | *n/a*    | 2.37     | 2.47     | *n/a*    |+silver searcher | 0.05      | 0.16     | 0.21     | *n/a*    | *n/a*    | *n/a*    | *n/a*    | *n/a*    | 0.45     | 0.32     | 0.09     | ripgep          | 0.03      | 0.19     | 0.06     | 2.20     | 2.07     | 2.00     | 2.01     | 2.14     | 0.12     | 0.36     | 0.03     | ugrep           | **0.02**  | **0.09** | **0.05** | **1.06** | **1.04** | **0.93** | **0.95** | **0.33** | **0.10** | **0.20** | **0.02** | -Option `-z` of **ugrep** uses task parallelism to optimize file reading,-decompression, and searching.--For these tests, search results are piped to a `null` utility to eliminate-terminal display overhead.  Looking through the GNU grep source code revealed-that GNU grep "cheats" when output is redirected to `/dev/null` by essentially-omitting all output and stopping the search after the first match in a file.-This is essentially the same as using option `-q`.  Therefore, to conduct our-tests fairly, we pipe the output to a simple `null` utility that eats the input-and discards it, see the source code below:+The output is sent to a `null` utility to eliminate terminal display overhead:      #include <sys/types.h>     #include <sys/uio.h>@@ -297,12 +283,6 @@ and discards it, see the source code below:         continue;     } -For performance considerations, it is important to note that **ugrep** matches-Unicode by default.  This means that regex meta symbol `.` and the escapes-`\w`, `\l`, and others match Unicode.  As a result, these may take (much) more-time to match.  To disable Unicode matching, use **ugrep** with option `-U`,-e.g. `ugrep -on -U 'serialize_\w+Type'` is fast but slower without `-U`.- <a name="installation"/>  Installation@@ -310,6 +290,17 @@ Installation  <a name="download"/> +### Optional dependencies++- Option `-P` (Perl regular expressions) requires the+  [Boost.Regex](https://www.boost.org) library installed.+- Option `-z` (decompress) requires the [zlib](https://www.zlib.net) library+  installed, e.g. `sudo apt-get install -y libz-dev`.  To search `.bz` and+  `.bz2` files, install the [bzip2](https://www.sourceware.org/bzip2) library,+  e.g. `sudo apt-get install -y libbz2-dev`.  To search `.lzma` and `.xz`+  files, install the [lzma](https://tukaani.org/xz/) library, e.g.+  `sudo apt-get install -y liblzma-dev`.+ ### Download and build steps  Clone **ugrep** from https://github.com/Genivia/ugrep@@ -321,32 +312,30 @@ Build **ugrep** on Unix-like systems with:     $ cd ugrep     $ ./configure && make -j -This builds `ugrep` in the `ugrep/src` directory and copy it to `ugrep/bin`.-You can tell which version it is with:+This builds `ugrep` in the `ugrep/src` directory and copies it to `ugrep/bin`.+Make sure all tests pass on your system: -    $ bin/ugrep -V-    ugrep 1.7.3 x86_64-apple-darwin16.7.0+    $ make test -If you prefer to enable colorized output by default without requiring option-`--color` then execute:+If you prefer colorized output by default without ugrep option `--color`: -    $ ./configure --enable-color && make -j+    $ ./configure --enable-color && make -j clean all -Or pretty output with color and headings by default:+To produce colorized output with headings by default: -    $ ./configure --enable-pretty && make -j+    $ ./configure --enable-pretty && make -j clean all  To see the details of all build configuration options available, including `--with-grep-path=GREP_PATH`, `--with-grep-colors="GREP_COLORS"`, `--enable-color`, `--enable-pretty`, `--enable-pager`, `--disable-hidden`, and-`--disable-mmap`, execute:+`--disable-mmap`:      $ ./configure --help  After `make` finishes, copy `bin/ugrep` to a convenient location, for example in your `bin` directory. -Or you can install the **ugrep** utility and its manual page with:+Or you may want to install the `ugrep` command and its manual page with:      $ sudo make install @@ -356,28 +345,19 @@ directory for the presence of pattern files, if not found checks environment variable `GREP_PATH` to load the pattern files, and if not found reads the installed predefined pattern files. +#### For developers+ Developers may want to use sanitizers to verify the **ugrep** code when making significant changes, for example to detect data races with the [ThreadSanitizer](https://clang.llvm.org/docs/ThreadSanitizer.html):      $ ./configure --enable-color CXXFLAGS='-fsanitize=thread -O1 -g'-    $ make clean; make -j+    $ make -j clean all  We checked **ugrep** with the clang AddressSanitizer, MemorySanitizer, ThreadSanitizer, and UndefinedBehaviorSanitizer.  These options incur significant runtime overhead and should not be used for the final build. -#### Optional dependencies--- Option `-P` (Perl regular expressions) requires the-  [Boost.Regex](https://www.boost.org) library installed.-- Option `-z` (decompress) requires the [Zlib](https://www.zlib.net)-  library installed, e.g. with `sudo apt-get install -y libz-dev`.  To search-  `.bz` and `.bz2` files, install the [bzip2](https://www.sourceware.org/bzip2)-  library, e.g. with `sudo apt-get install -y libbz2-dev`.  To search `.lzma`-  and `.xz` files, install the [lzma](https://tukaani.org/xz/) library, e.g.-  with `sudo apt-get install -y liblzma-dev`.- #### Troubleshooting  Unfortunately, cloning from Git does not preserve timestamps which means that@@ -935,7 +915,7 @@ UTF-16 BE w/o BOM      | `UTF-16` or `UTF-16BE` UTF-16 LE w/o BOM      | `UTF-16LE` UTF-32 w/o BOM         | `UTF-32` or `UTF-32BE` UTF-32 w/o BOM         | `UTF-32LE`-Latin-1                | `ISO-8859-1`+Latin-1                | `LATIN1` or `ISO-8859-1` ISO-8859-1             | `ISO-8859-1` ISO-8859-2             | `ISO-8859-2` ISO-8859-3             | `ISO-8859-3`@@ -1034,6 +1014,7 @@ To search file `spanish-iso.txt` encoded in ISO-8859-1:             Print only the matching part of lines.  When multiple lines match,             the line numbers with option -n are displayed using `|' as the             field separator for each additional line matched by the pattern.+            If -u is specified, ungroups multiple matches on the same line.             This option cannot be combined with options -A, -B, -C, -v, and -y.  Multiple lines may be matched by patterns that match newline `\n` characters,@@ -1062,11 +1043,11 @@ Same as `sed -n '/begin/,/end/p'`: to match all lines between a line containing     -A NUM, --after-context=NUM             Print NUM lines of trailing context after matching lines.  Places             a --group-separator between contiguous groups of matches.  See also-            the -B, -C, and -y options.+            options -B, -C, and -y.     -B NUM, --before-context=NUM             Print NUM lines of leading context before matching lines.  Places             a --group-separator between contiguous groups of matches.  See also-            the -A, -C, and -y options.+            options -A, -C, and -y.     -C[NUM], --context[=NUM]             Print NUM lines of leading and trailing context surrounding each             match.  The default is 2 and is equivalent to -A 2 -B 2.  Places@@ -1075,7 +1056,7 @@ Same as `sed -n '/begin/,/end/p'`: to match all lines between a line containing     -y, --any-line             Any matching or non-matching line is output.  Non-matching lines             are output with the `-' separator as context of the matching lines.-            See also the -A, -B, and -C options.+            See also options -A, -B, and -C.  To display 2 lines of context before and after a matching line (note that `-C2` should not be specified as `-C 2` as per GNU/BSD grep exception that ugrep@@ -2068,16 +2049,16 @@ To search tarballs for matching names of PDF files (assuming bash is our shell): ### Output matches in JSON, XML, CSV, C++      --cpp-            Output file matches in C++.  See also the --format and -u options.+            Output file matches in C++.  See also options --format and -u.     --csv-            Output file matches in CSV.  When option -H, -n, -k, or -b is used-            additional values are output.  See also the --format and -u options.+            Output file matches in CSV.  If -H, -n, -k, or -b is specified,+            additional values are output.  See also options --format and -u.     --json-            Output file matches in JSON.  When option -H, -n, -k, or -b is used-            additional values are output.  See also the --format and -u options.+            Output file matches in JSON.  If -H, -n, -k, or -b is specified,+            additional values are output.  See also options --format and -u.     --xml-            Output file matches in XML.  When option -H, -n, -k, or -b is used-            additional values are output.  See also the --format and -u options.+            Output file matches in XML.  If -H, -n, -k, or -b is specified,+            additional values are output.  See also options --format and -u.  To recursively search for lines with `TODO` and display C++ file matches in JSON with line number properties:@@ -2105,7 +2086,7 @@ To extract a table from an HTML file and put it in C/C++ source code using      --format=FORMAT             Output FORMAT-formatted matches.  See `man ugrep' section FORMAT-            for the `%' fields.  Options -A, -B, -C, -y, and -v are disabled.+            for the `%' fields.  Options -A, -B, -C, -y, and -v have no effect.  The following output formatting options may be used: @@ -2238,7 +2219,7 @@ To output matches in AckMate format:      --format=FORMAT             Output FORMAT-formatted matches.  See `man ugrep' section FORMAT-            for the `%' fields.  Options -A, -B, -C, -y, and -v are disabled.+            for the `%' fields.  Options -A, -B, -C, -y, and -v have no effect.     -P, --perl-regexp             Interpret PATTERN as a Perl regular expression. @@ -2271,7 +2252,7 @@ and `https` sites: ### Limiting the number of matches with -K, -m, --max-depth, and --max-files      -K NUM1[,NUM2], --range=NUM1[,NUM2]-            Start searching at line NUM1 and end at line NUM2 when specified.+            Start searching at line NUM1; stops at line NUM2 when specified.     -m NUM, --max-count=NUM             Stop reading the input after NUM matches for each file processed.     --max-depth=NUM@@ -2324,7 +2305,7 @@ line of context:      -Y, --empty             Permits empty matches.  By default, empty matches are disabled,-            unless a pattern starts with `^' and ends with `$'.  Note that -Y+            unless a pattern begins with `^' and ends with `$'.  Note that -Y             when specified with an empty-matching pattern such as x? and x*,             match all input, not only lines with a `x'. @@ -2424,24 +2405,24 @@ in markdown:     DESCRIPTION            The  ugrep utility searches any given input files, selecting lines that            match one or more patterns.  By default, a  pattern  matches  an  input-           line  if  the  regular expression (RE) in the pattern matches the input-           line without its trailing newline.  A pattern  matches  multiple  input-           lines  if  the  RE  in  the pattern matches one or more newlines in the-           input.  An empty RE matches every line.  Each input line  that  matches-           at least one of the patterns is written to the standard output.+           line  if the regular expression (RE) matches the input line.  A pattern+           matches multiple input lines if the RE in the pattern  matches  one  or+           more newlines in the input.  An empty pattern matches every line.  Each+           input line that matches at least one of the patterns is written to  the+           standard output.             The ugrep utility accepts input of various encoding formats and normal--           izes the input to UTF-8.  When a UTF BOM is present in the  input,  the-           input  is automatically normalized.  Otherwise, ugrep assumes the input-           is ASCII, UTF-8, or raw binary.  To specify the input encoding  format,-           use option -Q, --encoding.+           izes the input to UTF-8.  When a UTF byte order mark is present in  the+           input,  the input is automatically normalized; otherwise, ugrep assumes+           the input is ASCII, UTF-8, or raw binary.  An input encoding format may+           be specified with option -Q, --encoding.             The following options are available:             -A NUM, --after-context=NUM                   Print  NUM  lines  of  trailing  context  after  matching lines.                   Places a --group-separator between contiguous groups of matches.-                  See also the -B, -C, and -y options.+                  See also options -B, -C, and -y.             -a, --text                   Process a binary file as if it were text.  This is equivalent to@@ -2452,14 +2433,14 @@ in markdown:            -B NUM, --before-context=NUM                   Print NUM  lines  of  leading  context  before  matching  lines.                   Places a --group-separator between contiguous groups of matches.-                  See also the -A, -C, and -y options.+                  See also options -A, -C, and -y.             -b, --byte-offset                   The offset in bytes of a matched line is displayed in  front  of-                  the respective matched line.  When used with option -u, displays-                  the offset in bytes of each pattern matched.  Byte  offsets  are-                  exact  for  ASCII,  UTF-8, and raw binary input.  Otherwise, the-                  byte offset in the UTF-8 converted input is displayed.+                  the  respective  matched line.  If -u is specified, displays the+                  offset for each pattern matched on the same line.  Byte  offsets+                  are  exact  for  ASCII, UTF-8, and raw binary input.  Otherwise,+                  the byte offset in the UTF-8 normalized input is displayed.             --binary-files=TYPE                   Controls searching  and  reporting  pattern  matches  in  binary@@ -2472,8 +2453,8 @@ in markdown:                   driver  interprets  some  of  it as commands.  `hex' reports all                   matches in hexadecimal.  `with-hex' only reports binary  matches                   in  hexadecimal, leaving text matches alone.  A match is consid--                  ered binary if a match contains  a  zero  byte  or  invalid  UTF-                  encoding.  See also the -a, -I, -U, -W, and -X options.+                  ered binary when matching a zero byte  or  invalid  UTF.   Short+                  options are -a, -I, -U, -W, and -X.             --break                   Adds a line break between results from different files.@@ -2510,107 +2491,104 @@ in markdown:                   (faint), `h' (highlight), `i' (invert), `u' (underline).  Selec-                   tively overrides GREP_COLORS. -           --cpp  Output  file  matches  in  C++.   See  also  the --format and -u-                  options.+           --cpp  Output file matches in C++.  See also options --format and -u. -           --csv  Output file matches in CSV.  When option -H, -n, -k,  or  -b  is-                  used additional values are output.  See also the --format and -u-                  options.+           --csv  Output  file matches in CSV.  If -H, -n, -k, or -b is specified,+                  additional values are output.  See also options --format and -u.             -D ACTION, --devices=ACTION-                  If an input file is a device, FIFO  or  socket,  use  ACTION  to-                  process  it.   By  default,  ACTION  is `skip', which means that+                  If  an  input  file  is  a device, FIFO or socket, use ACTION to+                  process it.  By default, ACTION  is  `skip',  which  means  that                   devices are silently skipped.  If ACTION is `read', devices read                   just as if they were ordinary files.             -d ACTION, --directories=ACTION-                  If  an  input file is a directory, use ACTION to process it.  By-                  default, ACTION is `read', i.e., read  directories  just  as  if-                  they  were  ordinary  files.  If ACTION is `skip', silently skip-                  directories.  If ACTION is `recurse', read all files under  each-                  directory,  recursively,  following  symbolic links only if they-                  are on the command line.  This is equivalent to the  -r  option.-                  If  ACTION  is  `dereference-recurse', read all files under each+                  If an input file is a directory, use ACTION to process  it.   By+                  default,  ACTION  is  `read',  i.e., read directories just as if+                  they were ordinary files.  If ACTION is  `skip',  silently  skip+                  directories.   If ACTION is `recurse', read all files under each+                  directory, recursively, following symbolic links  only  if  they+                  are  on  the command line.  This is equivalent to the -r option.+                  If ACTION is `dereference-recurse', read all  files  under  each                   directory,  recursively,  following  symbolic  links.   This  is                   equivalent to the -R option.             -E, --extended-regexp-                  Interpret  patterns as extended regular expressions (EREs). This+                  Interpret patterns as extended regular expressions (EREs).  This                   is the default.             -e PATTERN, --regexp=PATTERN-                  Specify a PATTERN used during the search of the input: an  input-                  line  is  selected  if it matches any of the specified patterns.+                  Specify  a PATTERN used during the search of the input: an input+                  line is selected if it matches any of  the  specified  patterns.                   Note that longer patterns take precedence over shorter patterns.-                  This  option is most useful when multiple -e options are used to-                  specify multiple patterns, when a pattern  begins  with  a  dash-                  (`-'),  to  specify  a pattern after option -f or after the FILE+                  This option is most useful when multiple -e options are used  to+                  specify  multiple  patterns,  when  a pattern begins with a dash+                  (`-'), to specify a pattern after option -f or  after  the  FILE                   arguments.             --exclude=GLOB                   Skip files whose name matches GLOB using wildcard matching, same                   as -g !GLOB.  GLOB can use **, *, ?, and [...] as wildcards, and-                  \ to quote a wildcard or backslash  character  literally.   When-                  GLOB  contains  a  `/',  full  pathnames are matched.  Otherwise+                  \  to  quote  a wildcard or backslash character literally.  When+                  GLOB contains a `/',  full  pathnames  are  matched.   Otherwise                   basenames are matched.  Note that --exclude patterns take prior-                   ity over --include patterns.  This option may be repeated.             --exclude-dir=GLOB-                  Exclude  directories  whose  name  matches  GLOB  from recursive-                  searches.  GLOB can use **, *, ?, and [...] as wildcards, and  \+                  Exclude directories  whose  name  matches  GLOB  from  recursive+                  searches.   GLOB can use **, *, ?, and [...] as wildcards, and \                   to quote a wildcard or backslash character literally.  When GLOB                   contains a `/', full pathnames are matched.  Otherwise basenames-                  are  matched.   Note  that  --exclude-dir patterns take priority+                  are matched.  Note that  --exclude-dir  patterns  take  priority                   over --include-dir patterns.  This option may be repeated.             --exclude-from=FILE-                  Read the globs from FILE and skip files  and  directories  whose+                  Read  the  globs  from FILE and skip files and directories whose                   name matches one or more globs (as if specified by --exclude and-                  --exclude-dir).  Lines starting with a `#' and  empty  lines  in-                  FILE  are  ignored.  When FILE is a `-', standard input is read.+                  --exclude-dir).   Lines  starting  with a `#' and empty lines in+                  FILE are ignored.  When FILE is a `-', standard input  is  read.                   This option may be repeated.             --exclude-fs=MOUNTS-                  Exclude  file  systems  specified  by  MOUNTS   from   recursive-                  searches,  MOUNTS  is  a comma-separated list of mount points or-                  pathnames  of  directories   on   file   systems.    Note   that-                  --exclude-fs  mounts  take  priority  over  --include-fs mounts.+                  Exclude   file   systems  specified  by  MOUNTS  from  recursive+                  searches, MOUNTS is a comma-separated list of  mount  points  or+                  pathnames   of   directories   on   file   systems.   Note  that+                  --exclude-fs mounts  take  priority  over  --include-fs  mounts.                   This option may be repeated.             -F, --fixed-strings-                  Interpret pattern as a set of fixed strings, separated  by  new--                  lines,  any  of which is to be matched.  This makes ugrep behave+                  Interpret  pattern  as a set of fixed strings, separated by new-+                  lines, any of which is to be matched.  This makes  ugrep  behave                   as fgrep.  If PATTERN or -e PATTERN is also specified, then this                   option does not apply to -f FILE patterns.             -f FILE, --file=FILE-                  Read  one  or  more newline-separated patterns from FILE.  Empty-                  pattern lines in FILE are  not  processed.   If  FILE  does  not+                  Read newline-separated patterns from FILE.  Empty  patterns  and+                  patterns  starting  with  `###'  are  ignored.  If FILE does not                   exist, the GREP_PATH environment variable is used as the path to-                  FILE.     If    that    fails,     looks     for     FILE     in-                  /usr/local/share/ugrep/patterns.   When  FILE is a `-', standard-                  input is read.  Empty files contain no patterns, thus nothing is+                  FILE.      If     that     fails,     looks    for    FILE    in+                  /usr/local/share/ugrep/patterns.  When FILE is a  `-',  standard+                  input is read.  Empty files contain no patterns; thus nothing is                   matched.  This option may be repeated.             --filter=COMMANDS                   Filter files through the specified COMMANDS first before search-                   ing.   COMMANDS  is  a  comma-separated  list  of  `exts:command-                  [option  ...]',  where `exts' is a comma-separated list of file--                  name extensions and `command' is a filter utility.   The  filter-                  utility  should  read  from standard input and write to standard+                  [option ...]', where `exts' is a comma-separated list  of  file-+                  name  extensions  and `command' is a filter utility.  The filter+                  utility should read from standard input and  write  to  standard                   output.  Files matching one of `exts` are filtered.  When `exts'                   is `*', files with non-matching extensions are filtered.  One or-                  more `option' separated by spacing may be specified,  which  are-                  passed  verbatim to the command.  A `%' as `option' expands into-                  the pathname to search.  For example, --filter='pdf:pdftotext  %-                  -'  searches PDF files.  The `%' expands into a `-' when search--                  ing standard input.  Option --label=.ext may be used to  specify+                  more  `option'  separated by spacing may be specified, which are+                  passed verbatim to the command.  A `%' as `option' expands  into+                  the  pathname to search.  For example, --filter='pdf:pdftotext %+                  -' searches PDF files.  The `%' expands into a `-' when  search-+                  ing  standard input.  Option --label=.ext may be used to specify                   extension `ext' when searching standard input.             --format=FORMAT                   Output FORMAT-formatted matches.  See `man ugrep' section FORMAT-                  for the `%' fields.  Options -A, -B, -C, -y,  and  -v  are  dis--                  abled.+                  for the `%' fields.             --free-space                   Spacing (blanks and tabs) in regular expressions are ignored.@@ -2699,58 +2677,52 @@ in markdown:             -j, --smart-case                   Perform  case  insensitive  matching  unless PATTERN contains an-                  upper case letter.  Note that this mode applies to ASCII letters-                  only.+                  upper case letter.  This option applies to ASCII letters only. -           --json Output  file  matches in JSON.  When option -H, -n, -k, or -b is-                  used additional values are output.  See also the --format and -u-                  options.+           --json Output file matches in JSON.  If -H, -n, -k, or -b is specified,+                  additional values are output.  See also options --format and -u.             -K NUM1[,NUM2], --range=NUM1[,NUM2]-                  Start  searching  at  line NUM1 and end at line NUM2 when speci--                  fied.+                  Start searching at line NUM1; stops at line NUM2 when specified.             -k, --column-number-                  The column number of a matched pattern is displayed in front  of-                  the  respective  matched  line,  starting at column 1.  Tabs are+                  The  column number of a matched pattern is displayed in front of+                  the respective matched line, starting at  column  1.   Tabs  are                   expanded when columns are counted, see also option --tabs.             -L, --files-without-match-                  Only the names of files not containing selected lines are  writ--                  ten  to  standard  output.   Pathnames  are listed once per file+                  Only  the names of files not containing selected lines are writ-+                  ten to standard output.  Pathnames  are  listed  once  per  file                   searched.   If  the  standard  input  is  searched,  the  string                   ``(standard input)'' is written.             -l, --files-with-matches                   Only the names of files containing selected lines are written to-                  standard output.  ugrep will only search a file  until  a  match-                  has  been  found,  making  searches  potentially less expensive.-                  Pathnames are listed once per file searched.   If  the  standard+                  standard  output.   ugrep  will only search a file until a match+                  has been found,  making  searches  potentially  less  expensive.+                  Pathnames  are  listed  once per file searched.  If the standard                   input is searched, the string ``(standard input)'' is written.             --label[=LABEL]-                  Displays  the LABEL value when input is read from standard input+                  Displays the LABEL value when input is read from standard  input                   where a file name would normally be printed in the output.  This                   option applies to options -H, -L, and -l.             --line-buffered-                  Force  output  to  be line buffered.  By default, output is line-                  buffered when standard output is a terminal and  block  buffered-                  otherwise.+                  Force output to be line buffered instead of block buffered.             -M MAGIC, --file-magic=MAGIC-                  Only  files  matching  the signature pattern MAGIC are searched.-                  The signature "magic bytes" at the start of a file are  compared-                  to  the  MAGIC  regex  pattern.  When matching, the file will be-                  searched.  When MAGIC is preceded by a `!' or a `^', skip  files+                  Only files matching the signature pattern  MAGIC  are  searched.+                  The  signature "magic bytes" at the start of a file are compared+                  to the MAGIC regex pattern.  When matching,  the  file  will  be+                  searched.   When MAGIC is preceded by a `!' or a `^', skip files                   with matching MAGIC signatures.  This option may be repeated and-                  may be combined with options -O and -t  to  expand  the  search.-                  Every  file  on  the search path is read, making searches poten-+                  may  be  combined  with  options -O and -t to expand the search.+                  Every file on the search path is read,  making  searches  poten-                   tially more expensive.             -m NUM, --max-count=NUM-                  Stop reading the input after NUM  matches  for  each  file  pro--                  cessed.+                  Stop reading the input after NUM matches in each input file.             --match                   Match all input.  Same as specifying an empty pattern to search.@@ -2803,74 +2775,74 @@ in markdown:                   Print  only  the  matching  part  of lines.  When multiple lines                   match, the line numbers with option -n are displayed  using  `|'                   as  the  field separator for each additional line matched by the-                  pattern.  This option cannot be combined with  options  -A,  -B,+                  pattern.  If -u is specified, ungroups multiple matches  on  the+                  same  line.  This option cannot be combined with options -A, -B,                   -C, -v, and -y.             --only-line-number                   The line number of the matching line in the file is output with--                  out displaying the match.  The line number counter is reset  for+                  out  displaying the match.  The line number counter is reset for                   each file processed.             -P, --perl-regexp                   Interpret PATTERN as a Perl regular expression.             -p, --no-dereference-                  If  -R  or -r is specified, no symbolic links are followed, even+                  If -R or -r is specified, no symbolic links are  followed,  even                   when they are specified on the command line.             --pager[=COMMAND]-                  When output is sent  to  the  terminal,  uses  COMMAND  to  page-                  through  the output.  The default COMMAND is `less -R'.  Enables+                  When  output  is  sent  to  the  terminal,  uses COMMAND to page+                  through the output.  The default COMMAND is `less -R'.   Enables                   --heading and --line-buffered.             --pretty-                  When output is sent to the terminal, enables --color and --head-+                  When  output  is sent to a terminal, enables --color and --head-                   ing.             -Q ENCODING, --encoding=ENCODING-                  The  input  file  encoding.  The possible values of ENCODING can-                  be:   `binary',   `ASCII',   `UTF-8',   `UTF-16',    `UTF-16BE',-                  `UTF-16LE',   `UTF-32',  `UTF-32BE',  `UTF-32LE',  `ISO-8859-1',-                  `ISO-8869-2',    `ISO-8869-3',    `ISO-8869-4',    `ISO-8869-5',-                  `ISO-8869-6',    `ISO-8869-7',    `ISO-8869-8',    `ISO-8869-9',-                  `ISO-8869-10',  `ISO-8869-11',   `ISO-8869-13',   `ISO-8869-14',-                  `ISO-8869-15',   `ISO-8869-16',   `MAC',  `MACROMAN',  `EBCDIC',-                  `CP437',  `CP850',  `CP858',   `CP1250',   `CP1251',   `CP1252',-                  `CP1253',  `CP1254',  `CP1255',  `CP1256',  `CP1257',  `CP1258',-                  `KOI8-R', `KOI8-U', `KOI8-RU'.+                  The input file encoding.  The possible values  of  ENCODING  can+                  be:    `binary',   `ASCII',   `UTF-8',   `UTF-16',   `UTF-16BE',+                  `UTF-16LE',   `UTF-32',   `UTF-32BE',   `UTF-32LE',    `LATIN1',+                  `ISO-8859-1',    `ISO-8869-2',    `ISO-8869-3',    `ISO-8869-4',+                  `ISO-8869-5',    `ISO-8869-6',    `ISO-8869-7',    `ISO-8869-8',+                  `ISO-8869-9',   `ISO-8869-10',   `ISO-8869-11',   `ISO-8869-13',+                  `ISO-8869-14', `ISO-8869-15', `ISO-8869-16', `MAC',  `MACROMAN',+                  `EBCDIC',   `CP437',   `CP850',   `CP858',  `CP1250',  `CP1251',+                  `CP1252',  `CP1253',  `CP1254',  `CP1255',  `CP1256',  `CP1257',+                  `CP1258', `KOI8-R', `KOI8-U', `KOI8-RU'.             -q, --quiet, --silent-                  Quiet mode: suppress normal  output.   ugrep  will  only  search-                  until  a  match has been found, making searches potentially less+                  Quiet  mode:  suppress  normal  output.   ugrep will only search+                  until a match has been found, making searches  potentially  less                   expensive.             -R, --dereference-recursive-                  Recursively read all files under  each  directory.   Follow  all-                  symbolic  links,  unlike  -r.   When -J1 is specified, files are+                  Recursively  read  all  files  under each directory.  Follow all+                  symbolic links, unlike -r.  When -J1  is  specified,  files  are                   searched in the same order as specified.             -r, --recursive-                  Recursively read all files under each directory, following  sym--                  bolic  links  only if they are on the command line.  When -J1 is+                  Recursively  read all files under each directory, following sym-+                  bolic links only if they are on the command line.  When  -J1  is                   specified, files are searched in the same order as specified.             -S, --dereference-                  If -r is specified, all symbolic links are  followed,  like  -R.+                  If  -r  is  specified, all symbolic links are followed, like -R.                   The default is not to follow symbolic links.             -s, --no-messages-                  Silent  mode: nonexistent and unreadable files are ignored, i.e.+                  Silent mode: nonexistent and unreadable files are ignored,  i.e.                   their error messages are suppressed.             --separator[=SEP]-                  Use SEP as field separator between file name, line number,  col-+                  Use  SEP as field separator between file name, line number, col-                   umn number, byte offset, and the matched line.  The default is a                   colon (`:').             --stats-                  Display statistics  on  the  number  of  files  and  directories-                  searched.   Display  the  inclusion  and  exclusion  constraints-                  applied.+                  Display  statistics  on  the  number  of  files  and directories+                  searched, and the inclusion and exclusion constraints applied.             -T, --initial-tab                   Add a tab space to separate the file name, line  number,  column@@ -2941,20 +2913,19 @@ in markdown:                   PATTERN is specified (or -e PATTERN or -N  PATTERN),  then  this                   option does not apply to -f FILE patterns. -           --xml  Output  file  matches  in XML.  When option -H, -n, -k, or -b is-                  used additional values are output.  See also the --format and -u-                  options.+           --xml  Output  file matches in XML.  If -H, -n, -k, or -b is specified,+                  additional values are output.  See also options --format and -u.             -Y, --empty                   Permits  empty matches.  By default, empty matches are disabled,-                  unless a pattern starts with `^' and ends with `$'.   Note  that+                  unless a pattern begins with `^' and ends with `$'.   Note  that                   -Y  when specified with an empty-matching pattern such as x? and                   x*, match all input, not only lines with a `x'.             -y, --any-line                   Any matching or non-matching line is output.  Non-matching lines                   are  output  with  the  `-' separator as context of the matching-                  lines.  See also the -A, -B, and -C options.+                  lines.  See also options -A, -B, and -C.             -Z, --null                   Prints a zero-byte after the file name.@@ -2973,7 +2944,7 @@ in markdown:                   .tlz, .xz, .txz).             If no FILE arguments are specified, or if a `-' is specified, the stan--           dard input is used, unless recursive searches are specified which exam-+           dard input is read, unless recursive searches are specified which exam-            ine the working directory.             If no FILE arguments are specified and one of the options -g,  -O,  -M,@@ -3032,10 +3003,11 @@ in markdown:            [!a-z] Matches one character not in the selected range of characters.             /      When  used at the begin of a glob, matches if pathname has no /.+                  When used at the end of a glob, matches directories only.             **/    Matches zero or more directories. -           /**    When at the end of a glob, matches everything after the /.+           /**    When used at the end of a glob, matches everything after the  /.             \?     Matches a ? (or any character specified after the backslash). @@ -3072,21 +3044,21 @@ in markdown:             a\?b   Matches a?b,                 but not a, b, ab, axb, a/b -           Lines in the --exclude-from and --include-from files are  ignored  when-           empty  or  start  with  a `#'.  The prefix `!' to a glob in such a file-           negates the pattern match, i.e.  matching  files  are  excluded  except-           files  matching the globs prefixed with `!' in the --exclude-from file.+           Lines  in  the --exclude-from and --include-from files are ignored when+           empty or start with a `#'.  When a glob is prefixed with  `!',  negates+           the match.      ENVIRONMENT            GREP_PATH-                  May be used to specify a file path to pattern files.   The  file-                  path  is used by option -f to open a pattern file, when the file+                  May  be  used to specify a file path to pattern files.  The file+                  path is used by option -f to open a pattern file, when the  file                   cannot be opened.             GREP_COLOR-                  May be used to specify ANSI SGR parameters to highlight  matches-                  when  option --color is used, e.g. 1;35;40 shows pattern matches-                  in bold magenta text on a black background.+                  May  be used to specify ANSI SGR parameters to highlight matches+                  when option --color is used, e.g. 1;35;40 shows pattern  matches+                  in bold magenta text on a black background.  Deprecated in favor+                  of GREP_COLORS, but still supported.             GREP_COLORS                   May be used to specify ANSI SGR parameters to highlight  matches@@ -3101,10 +3073,10 @@ in markdown:            of the form `what=substring', where `substring'  is  a  semicolon-sepa-            rated  list  of  ANSI SGR codes or `k' (black), `r' (red), `g' (green),            `y' (yellow), `b' (blue),  `m'  (magenta),  `c'  (cyan),  `w'  (white).-           Upper case specifies background colors.  Adding a `+' qualifies a color-           as bright.  A foreground and a background color may  be  combined  with-           one or more font properties `n' (normal), `f' (faint), `h' (highlight),-           `i' (invert), `u' (underline).  Substrings may be specified for:+           Upper  case  specifies  background  colors.  A `+' qualifies a color as+           bright.  A foreground and a background color may be combined  with  one+           or more font properties `n' (normal), `f' (faint), `h' (highlight), `i'+           (invert), `u' (underline).  Substrings may be specified for:             sl=    SGR substring for selected lines. @@ -3236,18 +3208,17 @@ in markdown:            present, the argument must be placed in [] brackets, for example  %[,]F            to output a comma, the pathname, and a separator. -           Fields %[SEP]$ and %u are switches and do not send anything to the out--           put.+           %[SEP]$ and %u are switches and do not send anything to the output.             The separator used by %P, %H, %N, %K, %B, and %S may be changed by pre--           ceeding  the  field  by  %[SEP]$.   When  [SEP]  is  not provided, this+           ceeding the field  by  %[SEP]$.   When  [SEP]  is  not  provided,  this            reverses the separator to the default separator or the separator speci-            fied with --separator.             Formatted output is written for each matching pattern, which means that-           a line may be output multiple times when patterns match more than  once-           on  the  same  line.   When field %u is found anywhere in the specified-           format string, matching lines are output only once  unless  option  -u,+           a  line may be output multiple times when patterns match more than once+           on the same line.  When field %u is found  anywhere  in  the  specified+           format  string,  matching  lines are output only once unless option -u,            --ungroup is used or when a newline is matched.             Additional formatting options:@@ -3309,7 +3280,7 @@ in markdown:                    $ ugrep -n -f c++/comments myfile.cpp -           List  the  lines that need fixing in a C/C++ source file by looking for+           List the lines that need fixing in a C/C++ source file by  looking  for            the word `FIXME' while skipping any `FIXME' in quoted strings:                    $ ugrep -e 'FIXME' -N '"(\\.|\\\r?\n|[^\\\n"])*"' myfile.cpp@@ -3348,9 +3319,9 @@ in markdown:                    $ ugrep -r -z -w --filter='pdf:pdftotext % -' 'copyright' -           Match  the  binary  pattern `A3hhhhA3hh' (hex) in a binary file without-           Unicode pattern matching -U (which would otherwise match  `\xaf'  as  a-           Unicode  character  U+00A3  with UTF-8 byte sequence C2 A3) and display+           Match the binary pattern `A3hhhhA3hh' (hex) in a  binary  file  without+           Unicode  pattern  matching  -U (which would otherwise match `\xaf' as a+           Unicode character U+00A3 with UTF-8 byte sequence C2  A3)  and  display            the results in hex with -X using `less -R' as a pager:                    $ ugrep --pager -UXo '\xa3[\x00-\xff]{2}\xa3[\x00-\xff]' a.out@@ -3363,7 +3334,7 @@ in markdown:                    $ ugrep -Rl '' --ignore-files -           List all files containing a RPM signature, located in the `rpm'  direc-+           List  all files containing a RPM signature, located in the `rpm' direc-            tory and recursively below up to two levels deeper:                    $ ugrep -R --max-depth=3 -l -tRpm '' rpm/@@ -3379,8 +3350,8 @@ in markdown:       LICENSE-           ugrep  is  released under the BSD-3 license.  All parts of the software-           have reasonable copyright terms permitting free  redistribution.   This+           ugrep is released under the BSD-3 license.  All parts of  the  software+           have  reasonable  copyright terms permitting free redistribution.  This            includes the ability to reuse all or parts of the ugrep source tree.      SEE ALSO@@ -3388,7 +3359,7 @@ in markdown:   -    ugrep 1.7.4                    January 21, 2020                       UGREP(1)+    ugrep 1.7.5                    January 24, 2020                       UGREP(1)  <a name="patterns"/> 

bin/linux/ugrep

Binary file changed

bin/macosx/ugrep

Binary file changed

bin/win32/ugrep.exe

Binary file changed

bin/win64/ugrep.exe

Binary file changed

man.sh

@@ -24,25 +24,24 @@ cat >> man/ugrep.1 << 'END' .SH DESCRIPTION The \fBugrep\fR utility searches any given input files, selecting lines that match one or more patterns.  By default, a pattern matches an input line if the-regular expression (RE) in the pattern matches the input line without its-trailing newline.  A pattern matches multiple input lines if the RE in the-pattern matches one or more newlines in the input.  An empty RE matches every-line.  Each input line that matches at least one of the patterns is written to-the standard output.+regular expression (RE) matches the input line.  A pattern matches multiple+input lines if the RE in the pattern matches one or more newlines in the input.+An empty pattern matches every line.  Each input line that matches at least one+of the patterns is written to the standard output. .PP The \fBugrep\fR utility accepts input of various encoding formats and-normalizes the input to UTF-8.  When a UTF BOM is present in the input, the-input is automatically normalized.  Otherwise, \fBugrep\fR assumes the input is-ASCII, UTF-8, or raw binary.  To specify the input encoding format, use option-\fB-Q\fR, \fB--encoding\fR.+normalizes the input to UTF-8.  When a UTF byte order mark is present in the+input, the input is automatically normalized; otherwise, \fBugrep\fR assumes+the input is ASCII, UTF-8, or raw binary.  An input encoding format may be+specified with option \fB-Q\fR, \fB--encoding\fR. .PP The following options are available: END src/ugrep --help \+| tail -n+2 \ | sed -e 's/\([^\\]\)\\/\1\\\\/g' \ | sed \   -e '/^$/ d' \-  -e '/^Usage:/ d' \   -e '/^    The ugrep/ d' \   -e '/^    0       / d' \   -e '/^    1       / d' \@@ -53,7 +52,7 @@ src/ugrep --help \   -e 's/^            //' \   -e 's/^\.\([A-Za-z]\)/\\\&.\1/g' \   -e $'s/^    \(.*\)$/.TP\\\n\\1/' \-  -e 's/\(--[-+0-9A-Za-z_]*\)/\\fB\1\\fR/g' \+  -e 's/\(--[][+0-9A-Za-z_-]*\)/\\fB\1\\fR/g' \   -e 's/\([^-0-9A-Za-z_]\)\(-.\) \([A-Z]\{1,\}\)/\1\\fB\2\\fR \\fI\3\\fR/g' \   -e 's/\([^-0-9A-Za-z_]\)\(-.\)/\1\\fB\2\\fR/g' \   -e 's/^\(-.\) \([!A-Z]\{1,\}\)/\\fB\1\\fR \\fI\2\\fR/g' \@@ -64,7 +63,7 @@ src/ugrep --help \ cat >> man/ugrep.1 << 'END' .PP If no \fIFILE\fR arguments are specified, or if a `-' is specified, the-standard input is used, unless recursive searches are specified which examine+standard input is read, unless recursive searches are specified which examine the working directory. .PP If no \fIFILE\fR arguments are specified and one of the options \fB-g\fR,@@ -123,10 +122,11 @@ Matches one character not in the selected range of characters. Matches one character not in the selected range of characters. .IP \fB/\fR When used at the begin of a glob, matches if pathname has no /.+When used at the end of a glob, matches directories only. .IP \fB**/\fR Matches zero or more directories. .IP \fB/**\fR-When at the end of a glob, matches everything after the /.+When used at the end of a glob, matches everything after the /. .IP \fB\\\\?\fR Matches a ? (or any character specified after the backslash). .PP@@ -161,9 +161,8 @@ Matches a/x, a/y, a/x/y,     but not a, b/x Matches a?b,                 but not a, b, ab, axb, a/b .PP Lines in the \fB--exclude-from\fR and \fB--include-from\fR files are ignored-when empty or start with a `#'.  The prefix `!' to a glob in such a file-negates the pattern match, i.e. matching files are excluded except files-matching the globs prefixed with `!' in the \fB--exclude-from\fR file.+when empty or start with a `#'.  When a glob is prefixed with `!', negates the+match. .SH ENVIRONMENT .IP \fBGREP_PATH\fR May be used to specify a file path to pattern files.  The file path is used by@@ -171,7 +170,8 @@ option \fB-f\fR to open a pattern file, when the file cannot be opened. .IP \fBGREP_COLOR\fR May be used to specify ANSI SGR parameters to highlight matches when option \fB--color\fR is used, e.g. 1;35;40 shows pattern matches in bold magenta text-on a black background.+on a black background.  Deprecated in favor of \fBGREP_COLORS\fR, but still+supported. .IP \fBGREP_COLORS\fR May be used to specify ANSI SGR parameters to highlight matches and other attributes when option \fB--color\fR is used.  Its value is a colon-separated@@ -183,9 +183,9 @@ list of ANSI SGR parameters that defaults to Colors are specified as string of colon-separated ANSI SGR parameters of the form `what=substring', where `substring' is a semicolon-separated list of ANSI SGR codes or `k' (black), `r' (red), `g' (green), `y' (yellow), `b' (blue), `m'-(magenta), `c' (cyan), `w' (white).  Upper case specifies background colors.-Adding a `+' qualifies a color as bright.  A foreground and a background color-may be combined with one or more font properties `n' (normal), `f' (faint), `h'+(magenta), `c' (cyan), `w' (white).  Upper case specifies background colors.  A+`+' qualifies a color as bright.  A foreground and a background color may be+combined with one or more font properties `n' (normal), `f' (faint), `h' (highlight), `i' (invert), `u' (underline).  Substrings may be specified for: .IP \fBsl=\fR SGR substring for selected lines.@@ -306,8 +306,8 @@ The \fB[\fR\fIARG\fR\fB]\fR part of a field is optional and may be omitted. When present, the argument must be placed in \fB[]\fR brackets, for example \fB%[,]F\fR to output a comma, the pathname, and a separator. .PP-Fields \fB%[\fR\fISEP\fR\fB]$\fR and \fB%u\fR are switches and do not send-anything to the output.+\fB%[\fR\fISEP\fR\fB]$\fR and \fB%u\fR are switches and do not send anything to+the output. .PP The separator used by \fB%P\fR, \fB%H\fR, \fB%N\fR, \fB%K\fR, \fB%B\fR, and \fB%S\fR may be changed by preceeding the field by \fB%[\fR\fISEP\fR\fB]$\fR.

man/ugrep.1

@@ -1,4 +1,4 @@-.TH UGREP "1" "January 21, 2020" "ugrep 1.7.4" "User Commands"+.TH UGREP "1" "January 24, 2020" "ugrep 1.7.5" "User Commands" .SH NAME \fBugrep\fR -- universal file pattern searcher .SH SYNOPSIS@@ -9,24 +9,23 @@ .SH DESCRIPTION The \fBugrep\fR utility searches any given input files, selecting lines that match one or more patterns.  By default, a pattern matches an input line if the-regular expression (RE) in the pattern matches the input line without its-trailing newline.  A pattern matches multiple input lines if the RE in the-pattern matches one or more newlines in the input.  An empty RE matches every-line.  Each input line that matches at least one of the patterns is written to-the standard output.+regular expression (RE) matches the input line.  A pattern matches multiple+input lines if the RE in the pattern matches one or more newlines in the input.+An empty pattern matches every line.  Each input line that matches at least one+of the patterns is written to the standard output. .PP The \fBugrep\fR utility accepts input of various encoding formats and-normalizes the input to UTF-8.  When a UTF BOM is present in the input, the-input is automatically normalized.  Otherwise, \fBugrep\fR assumes the input is-ASCII, UTF-8, or raw binary.  To specify the input encoding format, use option-\fB-Q\fR, \fB--encoding\fR.+normalizes the input to UTF-8.  When a UTF byte order mark is present in the+input, the input is automatically normalized; otherwise, \fBugrep\fR assumes+the input is ASCII, UTF-8, or raw binary.  An input encoding format may be+specified with option \fB-Q\fR, \fB--encoding\fR. .PP The following options are available: .TP \fB\-A\fR \fINUM\fR, \fB\-\-after\-context\fR=\fINUM\fR Print NUM lines of trailing context after matching lines.  Places a \fB\-\-group\-separator\fR between contiguous groups of matches.  See also-the \fB\-B\fR, \fB\-C\fR, and \fB\-y\fR options.+options \fB\-B\fR, \fB\-C\fR, and \fB\-y\fR. .TP \fB\-a\fR, \fB\-\-text\fR Process a binary file as if it were text.  This is equivalent to@@ -37,14 +36,14 @@ the terminal driver interprets some of it as commands. \fB\-B\fR \fINUM\fR, \fB\-\-before\-context\fR=\fINUM\fR Print NUM lines of leading context before matching lines.  Places a \fB\-\-group\-separator\fR between contiguous groups of matches.  See also-the \fB\-A\fR, \fB\-C\fR, and \fB\-y\fR options.+options \fB\-A\fR, \fB\-C\fR, and \fB\-y\fR. .TP \fB\-b\fR, \fB\-\-byte\-offset\fR The offset in bytes of a matched line is displayed in front of the-respective matched line.  When used with option \fB\-u\fR, displays the-offset in bytes of each pattern matched.  Byte offsets are exact+respective matched line.  If \fB\-u\fR is specified, displays the offset+for each pattern matched on the same line.  Byte offsets are exact for ASCII, UTF\-8, and raw binary input.  Otherwise, the byte offset-in the UTF\-8 converted input is displayed.+in the UTF\-8 normalized input is displayed. .TP \fB\-\-binary\-files\fR=\fITYPE\fR Controls searching and reporting pattern matches in binary files.@@ -56,14 +55,13 @@ which might output binary garbage to the terminal, which can have problematic consequences if the terminal driver interprets some of it as commands.  `hex' reports all matches in hexadecimal. `with\-hex' only reports binary matches in hexadecimal, leaving text-matches alone.  A match is considered binary if a match contains a-zero byte or invalid UTF encoding.  See also the \fB\-a\fR, \fB\-I\fR, \fB\-U\fR, \fB\-W\fR,-and \fB\-X\fR options.+matches alone.  A match is considered binary when matching a zero+byte or invalid UTF.  Short options are \fB\-a\fR, \fB\-I\fR, \fB\-U\fR, \fB\-W\fR, and \fB\-X\fR. .TP \fB\-\-break\fR Adds a line break between results from different files. .TP-\fB\-C\fR[NUM], \fB\-\-context\fR[=\fINUM\fR]+\fB\-C\fR[NUM], \fB\-\-context[\fR=\fINUM\fR] Print NUM lines of leading and trailing context surrounding each match.  The default is 2 and is equivalent to \fB\-A\fR 2 \fB\-B\fR 2.  Places a \fB\-\-group\-separator\fR between contiguous groups of matches.@@ -74,7 +72,7 @@ Only a count of selected lines is written to standard output. If \fB\-o\fR or \fB\-u\fR is specified, counts the number of patterns matched. If \fB\-v\fR is specified, counts the number of non\-matching lines. .TP-\fB\-\-color\fR[=\fIWHEN\fR], \fB\-\-colour\fR[=\fIWHEN\fR]+\fB\-\-color[\fR=\fIWHEN\fR], \fB\-\-colour[\fR=\fIWHEN\fR] Mark up the matching text with the expression stored in the GREP_COLOR or GREP_COLORS environment variable.  The possible values of WHEN can be `never', `always', or `auto', where `auto'@@ -95,11 +93,11 @@ font properties `n' (normal), `f' (faint), `h' (highlight), `i' (invert), `u' (underline).  Selectively overrides GREP_COLORS. .TP \fB\-\-cpp\fR-Output file matches in C++.  See also the \fB\-\-format\fR and \fB\-u\fR options.+Output file matches in C++.  See also options \fB\-\-format\fR and \fB\-u\fR. .TP \fB\-\-csv\fR-Output file matches in CSV.  When option \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is used-additional values are output.  See also the \fB\-\-format\fR and \fB\-u\fR options.+Output file matches in CSV.  If \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is specified,+additional values are output.  See also options \fB\-\-format\fR and \fB\-u\fR. .TP \fB\-D\fR \fIACTION\fR, \fB\-\-devices\fR=\fIACTION\fR If an input file is a device, FIFO or socket, use ACTION to process@@ -166,12 +164,12 @@ If PATTERN or \fB\-e\fR \fIPATTERN\fR is also specified, then this option does not apply to \fB\-f\fR \fIFILE\fR patterns. .TP \fB\-f\fR \fIFILE\fR, \fB\-\-file\fR=\fIFILE\fR-Read one or more newline\-separated patterns from FILE.  Empty-pattern lines in FILE are not processed.  If FILE does not exist,+Read newline\-separated patterns from FILE.  Empty patterns and+patterns starting with `###' are ignored.  If FILE does not exist, the GREP_PATH environment variable is used as the path to FILE. If that fails, looks for FILE in /usr/local/share/ugrep/patterns. When FILE is a `\fB\-'\fR, standard input is read.  Empty files contain no-patterns, thus nothing is matched.  This option may be repeated.+patterns; thus nothing is matched.  This option may be repeated. .TP \fB\-\-filter\fR=\fICOMMANDS\fR Filter files through the specified COMMANDS first before searching.@@ -189,7 +187,7 @@ be used to specify extension `ext' when searching standard input. .TP \fB\-\-format\fR=\fIFORMAT\fR Output FORMAT\-formatted matches.  See `man ugrep' section FORMAT-for the `%' fields.  Options \fB\-A\fR, \fB\-B\fR, \fB\-C\fR, \fB\-y\fR, and \fB\-v\fR are disabled.+for the `%' fields. .TP \fB\-\-free\-space\fR Spacing (blanks and tabs) in regular expressions are ignored.@@ -203,7 +201,7 @@ Search only files whose name matches GLOB, same as \fB\-\-include\fR=\fIGLOB\fR. When GLOB is preceded by a `!' or a `^', skip files whose name matches GLOB, same as \fB\-\-exclude\fR=\fIGLOB\fR. .TP-\fB\-\-group\-separator\fR[=\fISEP\fR]+\fB\-\-group\-separator[\fR=\fISEP\fR] Use SEP as a group separator for context options \fB\-A\fR, \fB\-B\fR, and \fB\-C\fR. The default is a double hyphen (`\fB\-\-\fR'). .TP@@ -230,7 +228,7 @@ Ignore matches in binary files.  This option is equivalent to the Perform case insensitive matching.  By default, ugrep is case sensitive.  This option applies to ASCII letters only. .TP-\fB\-\-ignore\-files\fR[=\fIFILE\fR]+\fB\-\-ignore\-files[\fR=\fIFILE\fR] Ignore files and directories matching the globs in each FILE when encountered in recursive searches.  The default FILE is `.gitignore'.  Matching files and directories located in the@@ -278,14 +276,14 @@ same order as specified. .TP \fB\-j\fR, \fB\-\-smart\-case\fR Perform case insensitive matching unless PATTERN contains an upper-case letter.  Note that this mode applies to ASCII letters only.+case letter.  This option applies to ASCII letters only. .TP \fB\-\-json\fR-Output file matches in JSON.  When option \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is used-additional values are output.  See also the \fB\-\-format\fR and \fB\-u\fR options.+Output file matches in JSON.  If \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is specified,+additional values are output.  See also options \fB\-\-format\fR and \fB\-u\fR. .TP \fB\-K\fR \fINUM\fR1[,NUM2], \fB\-\-range\fR=\fINUM\fR1[,NUM2]-Start searching at line NUM1 and end at line NUM2 when specified.+Start searching at line NUM1; stops at line NUM2 when specified. .TP \fB\-k\fR, \fB\-\-column\-number\fR The column number of a matched pattern is displayed in front of the@@ -305,15 +303,13 @@ been found, making searches potentially less expensive.  Pathnames are listed once per file searched.  If the standard input is searched, the string ``(standard input)'' is written. .TP-\fB\-\-label\fR[=\fILABEL\fR]+\fB\-\-label[\fR=\fILABEL\fR] Displays the LABEL value when input is read from standard input where a file name would normally be printed in the output.  This option applies to options \fB\-H\fR, \fB\-L\fR, and \fB\-l\fR. .TP \fB\-\-line\-buffered\fR-Force output to be line buffered.  By default, output is line-buffered when standard output is a terminal and block buffered-otherwise.+Force output to be line buffered instead of block buffered. .TP \fB\-M\fR \fIMAGIC\fR, \fB\-\-file\-magic\fR=\fIMAGIC\fR Only files matching the signature pattern MAGIC are searched.  The@@ -325,7 +321,7 @@ with options \fB\-O\fR and \fB\-t\fR to expand the search.  Every file on the search path is read, making searches potentially more expensive. .TP \fB\-m\fR \fINUM\fR, \fB\-\-max\-count\fR=\fINUM\fR-Stop reading the input after NUM matches for each file processed.+Stop reading the input after NUM matches in each input file. .TP \fB\-\-match\fR Match all input.  Same as specifying an empty pattern to search.@@ -358,10 +354,10 @@ each file processed. Removes the group separator line from the output for context options \fB\-A\fR, \fB\-B\fR, and \fB\-C\fR. .TP-\fB\-\-\fR[no\-]hidden+\fB\-\-[no\-]hidden\fR Do (not) search hidden files and directories. .TP-\fB\-\-\fR[no\-]mmap+\fB\-\-[no\-]mmap\fR Do (not) use memory maps to search files.  By default, memory maps are used under certain conditions to improve performance. .TP@@ -377,6 +373,7 @@ with options \fB\-M\fR and \fB\-t\fR to expand the recursive search. Print only the matching part of lines.  When multiple lines match, the line numbers with option \fB\-n\fR are displayed using `|' as the field separator for each additional line matched by the pattern.+If \fB\-u\fR is specified, ungroups multiple matches on the same line. This option cannot be combined with options \fB\-A\fR, \fB\-B\fR, \fB\-C\fR, \fB\-v\fR, and \fB\-y\fR. .TP \fB\-\-only\-line\-number\fR@@ -391,27 +388,27 @@ Interpret PATTERN as a Perl regular expression. If \fB\-R\fR or \fB\-r\fR is specified, no symbolic links are followed, even when they are specified on the command line. .TP-\fB\-\-pager\fR[=\fICOMMAND\fR]+\fB\-\-pager[\fR=\fICOMMAND\fR] When output is sent to the terminal, uses COMMAND to page through the output.  The default COMMAND is `less \fB\-R\fR'.  Enables \fB\-\-heading\fR and \fB\-\-line\-buffered\fR. .TP \fB\-\-pretty\fR-When output is sent to the terminal, enables \fB\-\-color\fR and \fB\-\-heading\fR.+When output is sent to a terminal, enables \fB\-\-color\fR and \fB\-\-heading\fR. .TP \fB\-Q\fR \fIENCODING\fR, \fB\-\-encoding\fR=\fIENCODING\fR The input file encoding.  The possible values of ENCODING can be: `binary', `ASCII', `UTF\-8', `UTF\-16', `UTF\-16BE', `UTF\-16LE', `UTF\-32', `UTF\-32BE',-`UTF\-32LE', `ISO\-8859\-1', `ISO\-8869\-2', `ISO\-8869\-3',-`ISO\-8869\-4', `ISO\-8869\-5', `ISO\-8869\-6', `ISO\-8869\-7',-`ISO\-8869\-8', `ISO\-8869\-9', `ISO\-8869\-10', `ISO\-8869\-11',-`ISO\-8869\-13', `ISO\-8869\-14', `ISO\-8869\-15', `ISO\-8869\-16',-`MAC', `MACROMAN', `EBCDIC', `CP437',-`CP850', `CP858', `CP1250', `CP1251',-`CP1252', `CP1253', `CP1254', `CP1255',-`CP1256', `CP1257', `CP1258', `KOI8\-R',-`KOI8\-U', `KOI8\-RU'.+`UTF\-32LE', `LATIN1', `ISO\-8859\-1', `ISO\-8869\-2',+`ISO\-8869\-3', `ISO\-8869\-4', `ISO\-8869\-5', `ISO\-8869\-6',+`ISO\-8869\-7', `ISO\-8869\-8', `ISO\-8869\-9', `ISO\-8869\-10',+`ISO\-8869\-11', `ISO\-8869\-13', `ISO\-8869\-14', `ISO\-8869\-15',+`ISO\-8869\-16', `MAC', `MACROMAN', `EBCDIC',+`CP437', `CP850', `CP858', `CP1250',+`CP1251', `CP1252', `CP1253', `CP1254',+`CP1255', `CP1256', `CP1257', `CP1258',+`KOI8\-R', `KOI8\-U', `KOI8\-RU'. .TP \fB\-q\fR, \fB\-\-quiet\fR, \fB\-\-silent\fR Quiet mode: suppress normal output.  ugrep will only search until a@@ -435,14 +432,14 @@ default is not to follow symbolic links. Silent mode: nonexistent and unreadable files are ignored, i.e. their error messages are suppressed. .TP-\fB\-\-separator\fR[=\fISEP\fR]+\fB\-\-separator[\fR=\fISEP\fR] Use SEP as field separator between file name, line number, column number, byte offset, and the matched line.  The default is a colon (`:'). .TP \fB\-\-stats\fR-Display statistics on the number of files and directories searched.-Display the inclusion and exclusion constraints applied.+Display statistics on the number of files and directories searched,+and the inclusion and exclusion constraints applied. .TP \fB\-T\fR, \fB\-\-initial\-tab\fR Add a tab space to separate the file name, line number, column@@ -514,19 +511,19 @@ is specified (or \fB\-e\fR \fIPATTERN\fR or \fB\-N\fR \fIPATTERN\fR), then this not apply to \fB\-f\fR \fIFILE\fR patterns. .TP \fB\-\-xml\fR-Output file matches in XML.  When option \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is used-additional values are output.  See also the \fB\-\-format\fR and \fB\-u\fR options.+Output file matches in XML.  If \fB\-H\fR, \fB\-n\fR, \fB\-k\fR, or \fB\-b\fR is specified,+additional values are output.  See also options \fB\-\-format\fR and \fB\-u\fR. .TP \fB\-Y\fR, \fB\-\-empty\fR Permits empty matches.  By default, empty matches are disabled,-unless a pattern starts with `^' and ends with `$'.  Note that \fB\-Y\fR+unless a pattern begins with `^' and ends with `$'.  Note that \fB\-Y\fR when specified with an empty\-matching pattern such as x? and x*, match all input, not only lines with a `x'. .TP \fB\-y\fR, \fB\-\-any\-line\fR Any matching or non\-matching line is output.  Non\-matching lines are output with the `\fB\-'\fR separator as context of the matching lines.-See also the \fB\-A\fR, \fB\-B\fR, and \fB\-C\fR options.+See also options \fB\-A\fR, \fB\-B\fR, and \fB\-C\fR. .TP \fB\-Z\fR, \fB\-\-null\fR Prints a zero\-byte after the file name.@@ -544,7 +541,7 @@ bzip2 (requires suffix .bz, .bz2, .bzip2, .tbz, .tbz2, .tb2, .tz2), lzma and xz (requires suffix .lzma, .tlz, .xz, .txz). .PP If no \fIFILE\fR arguments are specified, or if a `-' is specified, the-standard input is used, unless recursive searches are specified which examine+standard input is read, unless recursive searches are specified which examine the working directory. .PP If no \fIFILE\fR arguments are specified and one of the options \fB-g\fR,@@ -603,10 +600,11 @@ Matches one character not in the selected range of characters. Matches one character not in the selected range of characters. .IP \fB/\fR When used at the begin of a glob, matches if pathname has no /.+When used at the end of a glob, matches directories only. .IP \fB**/\fR Matches zero or more directories. .IP \fB/**\fR-When at the end of a glob, matches everything after the /.+When used at the end of a glob, matches everything after the /. .IP \fB\\\\?\fR Matches a ? (or any character specified after the backslash). .PP@@ -641,9 +639,8 @@ Matches a/x, a/y, a/x/y,     but not a, b/x Matches a?b,                 but not a, b, ab, axb, a/b .PP Lines in the \fB--exclude-from\fR and \fB--include-from\fR files are ignored-when empty or start with a `#'.  The prefix `!' to a glob in such a file-negates the pattern match, i.e. matching files are excluded except files-matching the globs prefixed with `!' in the \fB--exclude-from\fR file.+when empty or start with a `#'.  When a glob is prefixed with `!', negates the+match. .SH ENVIRONMENT .IP \fBGREP_PATH\fR May be used to specify a file path to pattern files.  The file path is used by@@ -651,7 +648,8 @@ option \fB-f\fR to open a pattern file, when the file cannot be opened. .IP \fBGREP_COLOR\fR May be used to specify ANSI SGR parameters to highlight matches when option \fB--color\fR is used, e.g. 1;35;40 shows pattern matches in bold magenta text-on a black background.+on a black background.  Deprecated in favor of \fBGREP_COLORS\fR, but still+supported. .IP \fBGREP_COLORS\fR May be used to specify ANSI SGR parameters to highlight matches and other attributes when option \fB--color\fR is used.  Its value is a colon-separated@@ -663,9 +661,9 @@ list of ANSI SGR parameters that defaults to Colors are specified as string of colon-separated ANSI SGR parameters of the form `what=substring', where `substring' is a semicolon-separated list of ANSI SGR codes or `k' (black), `r' (red), `g' (green), `y' (yellow), `b' (blue), `m'-(magenta), `c' (cyan), `w' (white).  Upper case specifies background colors.-Adding a `+' qualifies a color as bright.  A foreground and a background color-may be combined with one or more font properties `n' (normal), `f' (faint), `h'+(magenta), `c' (cyan), `w' (white).  Upper case specifies background colors.  A+`+' qualifies a color as bright.  A foreground and a background color may be+combined with one or more font properties `n' (normal), `f' (faint), `h' (highlight), `i' (invert), `u' (underline).  Substrings may be specified for: .IP \fBsl=\fR SGR substring for selected lines.@@ -786,8 +784,8 @@ The \fB[\fR\fIARG\fR\fB]\fR part of a field is optional and may be omitted. When present, the argument must be placed in \fB[]\fR brackets, for example \fB%[,]F\fR to output a comma, the pathname, and a separator. .PP-Fields \fB%[\fR\fISEP\fR\fB]$\fR and \fB%u\fR are switches and do not send-anything to the output.+\fB%[\fR\fISEP\fR\fB]$\fR and \fB%u\fR are switches and do not send anything to+the output. .PP The separator used by \fB%P\fR, \fB%H\fR, \fB%N\fR, \fB%K\fR, \fB%B\fR, and \fB%S\fR may be changed by preceeding the field by \fB%[\fR\fISEP\fR\fB]$\fR.

src/glob.cpp

@@ -87,6 +87,8 @@ #define PATHSEP '/' #endif +static int utf8(const char **s);+ // match text against glob, return true or false static bool match(const char *text, const char *glob) {@@ -132,28 +134,36 @@ static bool match(const char *text, const char *glob)         if (*text == PATHSEP)           break; -        text++;+        utf8(&text);         glob++;         continue;        case '[':       {+        int chr = utf8(&text), last = 0x10ffff;++        // match anything except /+        if (chr == PATHSEP)+          break;+         bool matched = false;         bool reverse = glob[1] == '^' || glob[1] == '!';          // inverted character class         if (reverse)           glob++;+        glob++;          // match character class-        for (int last = 256; *++glob && *glob != ']'; last = *glob)-          if (*glob == '-' && glob[1] ? *text <= *++glob && *text >= last : *text == *glob)+        while (*glob != '\0' && *glob != ']')+          if (last < 0x10ffff && *glob == '-' && glob[1] != ']' && glob[1] != '\0' ?+              chr <= utf8(&++glob) && chr >= last :+              chr == (last = utf8(&glob)))             matched = true;          if (matched == reverse)           break; -        text++;         if (*glob)           glob++;         continue;@@ -222,3 +232,35 @@ bool glob_match(const char *pathname, const char *basename, const char *glob)    return match(basename, glob); }++// return wide character of UTF-8 multi-byte sequence+static int utf8(const char **s)+{+  int c1, c2, c3, c = (unsigned char)**s;+  if (c != '\0')+    (*s)++;+  if (c < 0x80)+    return c;+  c1 = (unsigned char)**s;+  if (c < 0xC0 || (c == 0xC0 && c1 != 0x80) || c == 0xC1 || (c1 & 0xC0) != 0x80)+    return 0xFFFD;+  if (c1 != '\0')+    (*s)++;+  c1 &= 0x3F;+  if (c < 0xE0)+    return (((c & 0x1F) << 6) | c1);+  c2 = (unsigned char)**s;+  if ((c == 0xE0 && c1 < 0x20) || (c2 & 0xC0) != 0x80)+    return 0xFFFD;+  if (c2 != '\0')+    (*s)++;+  c2 &= 0x3F;+  if (c < 0xF0)+    return (((c & 0x0F) << 12) | (c1 << 6) | c2);+  c3 = (unsigned char)**s;+  if (c3 != '\0')+    (*s)++;+  if ((c == 0xF0 && c1 < 0x10) || (c == 0xF4 && c1 >= 0x10) || c >= 0xF5 || (c3 & 0xC0) != 0x80)+    return 0xFFFD;+  return (((c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | (c3 & 0x3F));+}

src/ugrep.cpp

@@ -70,7 +70,7 @@ Prebuilt executables are located in ugrep/bin. */  // ugrep version-#define UGREP_VERSION "1.7.4"+#define UGREP_VERSION "1.7.5"  #include <reflex/input.h> #include <reflex/matcher.h>@@ -368,7 +368,7 @@ const char *color_error   = ""; // stderr error text const char *color_warning = ""; // stderr warning text const char *color_message = ""; // stderr error or warning message text -// default file encoding is plain (no conversion), but detect UTF-8/16/32 automatically+// default file encoding is plain (no conversion), detects UTF-8/16/32 automatically reflex::Input::file_encoding_type flag_encoding_type = reflex::Input::file_encoding::plain;  // -D, --devices and -d, --directories@@ -1180,7 +1180,7 @@ struct Output {   void binary_file_matches(const char *pathname, const std::string& partname);    // output formatted match with options --format, --format-open, --format-close-  void format(const char *format, const char *pathname, const std::string& partname, size_t matches, reflex::AbstractMatcher *matcher);+  void format(const char *format, const char *pathname, const std::string& partname, size_t matches, reflex::AbstractMatcher *matcher, bool body = true);    // output a quoted string with escapes for \ and "   void quote(const char *data, size_t size);@@ -1460,9 +1460,11 @@ void Output::binary_file_matches(const char *pathname, const std::string& partna }  // output formatted match with options --format, --format-open, --format-close-void Output::format(const char *format, const char *pathname, const std::string& partname, size_t matches, reflex::AbstractMatcher *matcher)+void Output::format(const char *format, const char *pathname, const std::string& partname, size_t matches, reflex::AbstractMatcher *matcher, bool body) {-  if (lineno > 0 && lineno == matcher->lineno() && matcher->lines() == 1)+  if (!body)+    lineno = 0;+  else if (lineno > 0 && lineno == matcher->lineno() && matcher->lines() == 1)     return;    size_t len = 0;@@ -1681,56 +1683,72 @@ void Output::format(const char *format, const char *pathname, const std::string&         break;        case 'C':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "\"false\"" : "\"true\"");+        else if (flag_count)           chr('"'), num(matches), chr('"');         else           cpp(matcher);         break;        case 'c':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "\"false\"" : "\"true\"");+        else if (flag_count)           chr('"'), num(matches), chr('"');         else           cpp(matcher->begin(), matcher->size());         break;        case 'V':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           csv(matcher);         break;        case 'v':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           csv(matcher->begin(), matcher->size());         break;        case 'J':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           json(matcher);         break;        case 'j':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           json(matcher->begin(), matcher->size());         break;        case 'X':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           xml(matcher);         break;        case 'x':-        if (flag_count)+        if (flag_files_with_match)+          str(flag_invert_match ? "false" : "true");+        else if (flag_count)           num(matches);         else           xml(matcher->begin(), matcher->size());@@ -3398,6 +3416,7 @@ const struct { const char *format; reflex::Input::file_encoding_type encoding; }   { "UTF-32",      reflex::Input::file_encoding::utf32be    },   { "UTF-32BE",    reflex::Input::file_encoding::utf32be    },   { "UTF-32LE",    reflex::Input::file_encoding::utf32le    },+  { "LATIN1",      reflex::Input::file_encoding::latin      },   { "ISO-8859-1",  reflex::Input::file_encoding::latin      },   { "ISO-8869-2",  reflex::Input::file_encoding::iso8859_2  },   { "ISO-8869-3",  reflex::Input::file_encoding::iso8859_3  },@@ -4426,8 +4445,6 @@ int main(int argc, char **argv)          ++lineno; -        trim(line);-         // add line to the regex if not empty         if (!line.empty())         {@@ -4530,11 +4547,36 @@ int main(int argc, char **argv)     // check if standard output is a TTY     tty_term = isatty(STDOUT_FILENO) != 0; +#ifndef OS_WIN++    if (!tty_term)+    {+      output_stat_result = fstat(STDOUT_FILENO, &output_stat) == 0;+      output_stat_regular = output_stat_result && S_ISREG(output_stat.st_mode);++      // if output is sent to /dev/null, then enable -q (i.e. "cheat" like GNU grep!)+      struct stat dev_null_stat;+      if (output_stat_result &&+          S_ISCHR(output_stat.st_mode) &&+          stat("/dev/null", &dev_null_stat) == 0 &&+          output_stat.st_dev == dev_null_stat.st_dev &&+          output_stat.st_ino == dev_null_stat.st_ino)+      {+        flag_quiet = true;+      }+    }++#endif+  }++  if (!flag_quiet)+  {     if (tty_term)     {-      // --pager: if output is to a TTY then page through the results       if (flag_pager != NULL)       {+        // --pager: if output is to a TTY then page through the results+         // open a pipe to a forked pager         output = popen(flag_pager, "w");         if (output == NULL)@@ -4548,35 +4590,25 @@ int main(int argc, char **argv)       }       else if (flag_pretty)       {+        // --pretty: if output is to a TTY then enable --color and --heading+         // enable --color-        flag_color ="auto";+        if (flag_color == NULL)+          flag_color ="auto";          // enable --heading         flag_heading = true;       }-    }--#ifndef OS_WIN--    if (!tty_term)-    {-      output_stat_result = fstat(STDOUT_FILENO, &output_stat) == 0;-      output_stat_regular = output_stat_result && S_ISREG(output_stat.st_mode);--      // if output is sent to /dev/null, then enable -q (i.e. "cheat" like GNU grep!)-      struct stat dev_null_stat;-      if (output_stat_result &&-          S_ISCHR(output_stat.st_mode) &&-          stat("/dev/null", &dev_null_stat) == 0 &&-          output_stat.st_dev == dev_null_stat.st_dev &&-          output_stat.st_ino == dev_null_stat.st_ino)+      else if (flag_colors != NULL)       {-        flag_quiet = true;+        // --colors: if output is to a TTY then enable --color and use the specified --colors (below)++        // enable --color+        if (flag_color == NULL)+          flag_color ="auto";       }     } -#endif-     // --color: (re)set flag_color depending on color_term and TTY output     if (flag_color != NULL)     {@@ -5937,10 +5969,10 @@ void Grep::search(const char *pathname)             if (flag_format != NULL)             {               if (flag_format_open != NULL)-                out.format(flag_format_open, pathname, partname, stats.found_files(), matcher);+                out.format(flag_format_open, pathname, partname, stats.found_files(), matcher, false);               out.format(flag_format, pathname, partname, 1, matcher);               if (flag_format_close != NULL)-                out.format(flag_format_close, pathname, partname, stats.found_files(), matcher);+                out.format(flag_format_close, pathname, partname, stats.found_files(), matcher, false);             }             else             {@@ -6018,12 +6050,17 @@ void Grep::search(const char *pathname)               }             } +            // -c with -v: count non-matching lines             if (flag_invert_match)-              matches = matcher->lineno() - matches - 1;+            {+              matches = matcher->lineno() - matches;+              if (matches > 0)+                --matches;+            }           }         } -        // --format: acquire lock early before stats.found()+        // --format-open or --format-close: acquire lock early before stats.found()         if (flag_format_open != NULL || flag_format_close != NULL)           out.acquire(); @@ -6034,10 +6071,10 @@ void Grep::search(const char *pathname)         if (flag_format != NULL)         {           if (flag_format_open != NULL)-            out.format(flag_format_open, pathname, partname, stats.found_files(), matcher);+            out.format(flag_format_open, pathname, partname, stats.found_files(), matcher, false);           out.format(flag_format, pathname, partname, matches, matcher);           if (flag_format_close != NULL)-            out.format(flag_format_close, pathname, partname, stats.found_files(), matcher);+            out.format(flag_format_close, pathname, partname, stats.found_files(), matcher, false);         }         else         {@@ -6100,13 +6137,13 @@ void Grep::search(const char *pathname)               goto exit_search;              if (flag_format_open != NULL)-              out.format(flag_format_open, pathname, partname, stats.found_files(), matcher);+              out.format(flag_format_open, pathname, partname, stats.found_files(), matcher, false);           }            ++matches;            // output --format-          out.format(flag_format, pathname, partname, matches, matcher);+          out.format(flag_format, pathname, partname, matches, matcher, true);            // -m: max number of matches reached?           if (flag_max_count > 0 && matches >= flag_max_count)@@ -6118,7 +6155,7 @@ void Grep::search(const char *pathname)          // output --format-close         if (matches > 0 && flag_format_close != NULL)-          out.format(flag_format_close, pathname, partname, stats.found_files(), matcher);+          out.format(flag_format_close, pathname, partname, stats.found_files(), matcher, false);       }       else if (flag_only_line_number)       {@@ -7678,7 +7715,7 @@ void help(const char *message, const char *arg)     -A NUM, --after-context=NUM\n\             Print NUM lines of trailing context after matching lines.  Places\n\             a --group-separator between contiguous groups of matches.  See also\n\-            the -B, -C, and -y options.\n\+            options -B, -C, and -y.\n\     -a, --text\n\             Process a binary file as if it were text.  This is equivalent to\n\             the --binary-files=text option.  This option might output binary\n\@@ -7687,13 +7724,13 @@ void help(const char *message, const char *arg)     -B NUM, --before-context=NUM\n\             Print NUM lines of leading context before matching lines.  Places\n\             a --group-separator between contiguous groups of matches.  See also\n\-            the -A, -C, and -y options.\n\+            options -A, -C, and -y.\n\     -b, --byte-offset\n\             The offset in bytes of a matched line is displayed in front of the\n\-            respective matched line.  When used with option -u, displays the\n\-            offset in bytes of each pattern matched.  Byte offsets are exact\n\+            respective matched line.  If -u is specified, displays the offset\n\+            for each pattern matched on the same line.  Byte offsets are exact\n\             for ASCII, UTF-8, and raw binary input.  Otherwise, the byte offset\n\-            in the UTF-8 converted input is displayed.\n\+            in the UTF-8 normalized input is displayed.\n\     --binary-files=TYPE\n\             Controls searching and reporting pattern matches in binary files.\n\             Options are `binary', `without-match`, `text`, `hex`, and\n\@@ -7704,9 +7741,8 @@ void help(const char *message, const char *arg)             problematic consequences if the terminal driver interprets some of\n\             it as commands.  `hex' reports all matches in hexadecimal.\n\             `with-hex' only reports binary matches in hexadecimal, leaving text\n\-            matches alone.  A match is considered binary if a match contains a\n\-            zero byte or invalid UTF encoding.  See also the -a, -I, -U, -W,\n\-            and -X options.\n\+            matches alone.  A match is considered binary when matching a zero\n\+            byte or invalid UTF.  Short options are -a, -I, -U, -W, and -X.\n\     --break\n\             Adds a line break between results from different files.\n\     -C[NUM], --context[=NUM]\n\@@ -7737,10 +7773,10 @@ void help(const char *message, const char *arg)             font properties `n' (normal), `f' (faint), `h' (highlight), `i'\n\             (invert), `u' (underline).  Selectively overrides GREP_COLORS.\n\     --cpp\n\-            Output file matches in C++.  See also the --format and -u options.\n\+            Output file matches in C++.  See also options --format and -u.\n\     --csv\n\-            Output file matches in CSV.  When option -H, -n, -k, or -b is used\n\-            additional values are output.  See also the --format and -u options.\n\+            Output file matches in CSV.  If -H, -n, -k, or -b is specified,\n\+            additional values are output.  See also options --format and -u.\n\     -D ACTION, --devices=ACTION\n\             If an input file is a device, FIFO or socket, use ACTION to process\n\             it.  By default, ACTION is `skip', which means that devices are\n\@@ -7802,8 +7838,8 @@ void help(const char *message, const char *arg)             If PATTERN or -e PATTERN is also specified, then this option does\n\             not apply to -f FILE patterns.\n\     -f FILE, --file=FILE\n\-            Read one or more newline-separated patterns from FILE.  Empty\n\-            pattern lines in FILE are not processed.  If FILE does not exist,\n\+            Read newline-separated patterns from FILE.  Empty patterns and\n\+            patterns starting with `###' are ignored.  If FILE does not exist,\n\             the GREP_PATH environment variable is used as the path to FILE.\n" #ifdef GREP_PATH "\@@ -7811,7 +7847,7 @@ void help(const char *message, const char *arg) #endif "\             When FILE is a `-', standard input is read.  Empty files contain no\n\-            patterns, thus nothing is matched.  This option may be repeated.\n";+            patterns; thus nothing is matched.  This option may be repeated.\n"; #ifndef OS_WIN   std::cout << "\     --filter=COMMANDS\n\@@ -7831,7 +7867,7 @@ void help(const char *message, const char *arg)   std::cout << "\     --format=FORMAT\n\             Output FORMAT-formatted matches.  See `man ugrep' section FORMAT\n\-            for the `%' fields.  Options -A, -B, -C, -y, and -v are disabled.\n\+            for the `%' fields.\n\     --free-space\n\             Spacing (blanks and tabs) in regular expressions are ignored.\n\     -G, --basic-regexp\n\@@ -7908,12 +7944,12 @@ void help(const char *message, const char *arg)             same order as specified.\n\     -j, --smart-case\n\             Perform case insensitive matching unless PATTERN contains an upper\n\-            case letter.  Note that this mode applies to ASCII letters only.\n\+            case letter.  This option applies to ASCII letters only.\n\     --json\n\-            Output file matches in JSON.  When option -H, -n, -k, or -b is used\n\-            additional values are output.  See also the --format and -u options.\n\+            Output file matches in JSON.  If -H, -n, -k, or -b is specified,\n\+            additional values are output.  See also options --format and -u.\n\     -K NUM1[,NUM2], --range=NUM1[,NUM2]\n\-            Start searching at line NUM1 and end at line NUM2 when specified.\n\+            Start searching at line NUM1; stops at line NUM2 when specified.\n\     -k, --column-number\n\             The column number of a matched pattern is displayed in front of the\n\             respective matched line, starting at column 1.  Tabs are expanded\n\@@ -7934,9 +7970,7 @@ void help(const char *message, const char *arg)             where a file name would normally be printed in the output.  This\n\             option applies to options -H, -L, and -l.\n\     --line-buffered\n\-            Force output to be line buffered.  By default, output is line\n\-            buffered when standard output is a terminal and block buffered\n\-            otherwise.\n\+            Force output to be line buffered instead of block buffered.\n\     -M MAGIC, --file-magic=MAGIC\n\             Only files matching the signature pattern MAGIC are searched.  The\n\             signature \"magic bytes\" at the start of a file are compared to\n\@@ -7946,7 +7980,7 @@ void help(const char *message, const char *arg)             with options -O and -t to expand the search.  Every file on the\n\             search path is read, making searches potentially more expensive.\n\     -m NUM, --max-count=NUM\n\-            Stop reading the input after NUM matches for each file processed.\n\+            Stop reading the input after NUM matches in each input file.\n\     --match\n\             Match all input.  Same as specifying an empty pattern to search.\n\     --max-depth=NUM\n\@@ -7996,6 +8030,7 @@ void help(const char *message, const char *arg)             Print only the matching part of lines.  When multiple lines match,\n\             the line numbers with option -n are displayed using `|' as the\n\             field separator for each additional line matched by the pattern.\n\+            If -u is specified, ungroups multiple matches on the same line.\n\             This option cannot be combined with options -A, -B, -C, -v, and -y.\n\     --only-line-number\n\             The line number of the matching line in the file is output without\n\@@ -8016,7 +8051,7 @@ void help(const char *message, const char *arg)             the output.  The default COMMAND is `" DEFAULT_PAGER "'.  Enables --heading\n\             and --line-buffered.\n\     --pretty\n\-            When output is sent to the terminal, enables --color and --heading.\n\+            When output is sent to a terminal, enables --color and --heading.\n\     -Q ENCODING, --encoding=ENCODING\n\             The input file encoding.  The possible values of ENCODING can be:";   for (int i = 0; format_table[i].format != NULL; ++i)@@ -8044,8 +8079,8 @@ void help(const char *message, const char *arg)             number, byte offset, and the matched line.  The default is a colon\n\             (`:').\n\     --stats\n\-            Display statistics on the number of files and directories searched.\n\-            Display the inclusion and exclusion constraints applied.\n\+            Display statistics on the number of files and directories searched,\n\+            and the inclusion and exclusion constraints applied.\n\     -T, --initial-tab\n\             Add a tab space to separate the file name, line number, column\n\             number, and byte offset with the matched line.\n\@@ -8094,17 +8129,17 @@ void help(const char *message, const char *arg)             is specified (or -e PATTERN or -N PATTERN), then this option does\n\             not apply to -f FILE patterns.\n\     --xml\n\-            Output file matches in XML.  When option -H, -n, -k, or -b is used\n\-            additional values are output.  See also the --format and -u options.\n\+            Output file matches in XML.  If -H, -n, -k, or -b is specified,\n\+            additional values are output.  See also options --format and -u.\n\     -Y, --empty\n\             Permits empty matches.  By default, empty matches are disabled,\n\-            unless a pattern starts with `^' and ends with `$'.  Note that -Y\n\+            unless a pattern begins with `^' and ends with `$'.  Note that -Y\n\             when specified with an empty-matching pattern such as x? and x*,\n\             match all input, not only lines with a `x'.\n\     -y, --any-line\n\             Any matching or non-matching line is output.  Non-matching lines\n\             are output with the `-' separator as context of the matching lines.\n\-            See also the -A, -B, and -C options.\n\+            See also options -A, -B, and -C.\n\     -Z, --null\n\             Prints a zero-byte after the file name.\n\     -z, --decompress\n\

tests/Hello.bat

new file mode 100644@@ -0,0 +1,2 @@+#!/bin/sh+echo "Hello World!"

tests/Hello.class

new file mode 100644Binary file changed

tests/Hello.java

new file mode 100644@@ -0,0 +1,6 @@+import java.lang.*;+public class Hello // prints a Hello World! greeting+{ public static void main(String[] arg)+  { System.out.println("Hello World!");+  }+}

tests/Hello.pdf

new file mode 100644Binary file changed

tests/Hello.sh

new file mode 100644@@ -0,0 +1,2 @@+#!/bin/sh+echo "Hello World!"

tests/Hello.txt

new file mode 100644@@ -0,0 +1 @@+Hello\ No newline at end of file

tests/archive.cpio

new file mode 100644Binary file changed

tests/archive.gz

new file mode 100644Binary file changed

tests/archive.pax

new file mode 100644Binary file changed

tests/archive.tar

new file mode 100644Binary file changed

tests/archive.tar.Z

new file mode 100644Binary file changed

tests/archive.tar.zip

new file mode 100644Binary file changed

tests/archive.tbz

new file mode 100644Binary file changed

tests/archive.tgz

new file mode 100644Binary file changed

tests/archive.tlz

new file mode 100644Binary file changed

tests/archive.txz

new file mode 100644Binary file changed

tests/archive.zip

new file mode 100644Binary file changed

tests/empty.txt

new file mode 100644

tests/gen.sh

new file mode 100755@@ -0,0 +1,132 @@+#!/bin/bash++UG="../src/ugrep --color=always -J1"++if [ ! -x "../src/ugrep" ] ; then+  echo "../src/ugrep not found, exiting"+  exit 1+fi++printf "Are you sure to overwrite all test cases with new ones? [y/n] "+read -rsn1 key < /dev/tty+case $key in +  y|Y)+    echo yes+    ;;+  *)+    echo no+    exit 0+    ;;+esac++export GREP_COLORS='cx=hb:ms=hug:mc=ib+W:fn=h35:ln=32h:cn=1;32:bn=1;32:se=+36'++echo "GENERATING TEST DIRECTORIES"++rm -rf out/ dir1/ dir2++mkdir -p out dir1 dir2++cd dir1; ln -s ../Hello.java .; cd ..+cd dir1; cp ../Hello.sh .; cd ..+cd dir2; ln -s ../Hello.java .; cd ..+cd dir2; cp ../Hello.sh .; cd ..+cd dir1; ln -s ../dir2 .; cd ..+cd dir2; ln -s ../dir1 .; cd ..+cat > dir1/.gitignore << END+# ignore shells+*.sh+# ignore dir2 (sub)directories+**/dir2/+END++$UG -rl                                  Hello dir1 > out/dir.out+$UG -Rl                                  Hello dir1 > out/dir-S.out+$UG -Rl -tShell                          Hello dir1 > out/dir-t.out+$UG -Rl --max-depth=1                    Hello dir1 > out/dir--max-depth.out+$UG -Rl --include='*.sh'                 Hello dir1 > out/dir--include.out+$UG -Rl --exclude='*.sh'                 Hello dir1 > out/dir--exclude.out+$UG -Rl --exclude-dir='dir2'             Hello dir1 > out/dir--exclude-dir.out+$UG -Rl --include-dir='dir1'             Hello dir1 > out/dir--include-dir.out+$UG -Rl --exclude-dir='dir2'             Hello dir1 > out/dir--exclude-dir.out+$UG -Rl --include-from='dir1/.gitignore' Hello dir2 > out/dir--include-from.out+$UG -Rl --exclude-from='dir1/.gitignore' Hello dir1 > out/dir--exclude-from.out+$UG -Rl --ignore-files                   Hello dir1 > out/dir--ignore-files.out+$UG -Rl --filter='sh:head -n1'           Hello dir1 > out/dir--filter.out++rm -rf dir1 dir2++echo "GENERATING TEST FILES"++cat > lorem << END+Lorêm+ïpsûm+dolor+sit+amét+END++$UG -Fiwco -f lorem lorem.utf8.txt  > out/lorem.utf8.out+$UG -Fiwco -f lorem lorem.utf16.txt > out/lorem.utf16.out+$UG -Fiwco -f lorem lorem.utf32.txt > out/lorem.utf32.out+cat lorem | $UG -Fjwco -Q LATIN1 -f - lorem.latin1.txt > out/lorem.latin1.out++$UG -e Hello -e '".*?"' Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt > out/Hello_Hello-ee.out+$UG -e Hello -N '".*?"' Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt > out/Hello_Hello-eN.out++for PAT in '' 'Hello' '\w+\s+\S+' 'nomatch' ; do+  FN=`echo "Hello_$PAT" | tr -Cd '[:alnum:]_'`+  for OUT in '' '-I' '-W' '-X' ; do+    for OPS in '' '-l' '-lv' '-c' '-co' '-cv' '-n' '-nkbT' '-unkbT' '-o' '-ounkbT' '-on' '-onkbT' '-nv' '-nC1' '-nvC1' '-ny' '-nvy' ; do+      $UG -U $OUT $OPS "$PAT" Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt > "out/$FN$OUT$OPS.out"+    done+  done+  for OUT in '--csv' '--json' '--xml' ; do+    for OPS in '' '-l' '-lv' '-c' '-co' '-cv' '-n' '-nkb' '-unkb' '-o' '-ounkb' '-on' '-onkb' ; do+      $UG -U $OUT $OPS "$PAT" Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt > "out/$FN$OUT$OPS.out"+    done+  done+done++echo "GENERATING TEST ARCHIVES"++rm -f archive.*++ls Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt empty.txt | cpio -o --quiet > archive.cpio+ls Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt empty.txt | pax -w -f archive.pax+tar cf archive.tar Hello.* empty.txt+compress -c archive.tar > archive.tar.Z+gzip  -9 -c archive.tar > archive.tgz+bzip2 -9 -c archive.tar > archive.tbz+lzma  -9 -c archive.tar > archive.tlz+xz    -9 -c archive.tar > archive.txz+zip   -9 -q archive.tar.zip archive.tar+zip   -9 -q archive.zip Hello.bat Hello.class Hello.java Hello.pdf Hello.sh Hello.txt empty.txt++$UG -z -c Hello archive.cpio    > out/archive.cpio.out+$UG -z -c Hello archive.pax     > out/archive.pax.out+$UG -z -c Hello archive.tar     > out/archive.tar.out+$UG -z -c Hello archive.tgz     > out/archive.tgz.out+$UG -z -c Hello archive.tar.Z   > out/archive.tar.Z.out+$UG -z -c Hello archive.tar.zip > out/archive.tar.zip.out+$UG -z -c Hello archive.zip     > out/archive.zip.out+$UG -z -c Hello archive.tbz     > out/archive.tbz.out+$UG -z -c Hello archive.tlz     > out/archive.tlz.out+$UG -z -c Hello archive.txz     > out/archive.txz.out++$UG -z -c -tShell Hello archive.cpio    > out/archive-t.cpio.out+$UG -z -c -tShell Hello archive.pax     > out/archive-t.pax.out+$UG -z -c -tShell Hello archive.tar     > out/archive-t.tar.out+$UG -z -c -tShell Hello archive.tgz     > out/archive-t.tgz.out+$UG -z -c -tShell Hello archive.tar.Z   > out/archive-t.tar.Z.out+$UG -z -c -tShell Hello archive.tar.zip > out/archive-t.tar.zip.out+$UG -z -c -tShell Hello archive.zip     > out/archive-t.zip.out+$UG -z -c -tShell Hello archive.tbz     > out/archive-t.tbz.out+$UG -z -c -tShell Hello archive.tlz     > out/archive-t.tlz.out+$UG -z -c -tShell Hello archive.txz     > out/archive-t.txz.out++for (( i = 0 ; i < 100000 ; i++ )) ; do+  echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit."+done | gzip -c > archive.gz++$UG -z -c '' archive.gz > out/archive.gz.out

tests/lorem

new file mode 100644@@ -0,0 +1,5 @@+Lorêm+ïpsûm+dolor+sit+amét

tests/lorem.latin1.txt

new file mode 100644@@ -0,0 +1,33 @@+Lorêm ïpsûm dolor sit amét, noster përpètua id eum. An éùm grâêçi fëùgîat, dêlicàta cotidièqùè éx mèl. Usû ea solèt théophràstus, îûs ne aeternô êquidêm, vim èx âgam abhorreant incorrùpte. Ipsum sâlutatus iràcundîà àd èam. Dictas lobortîs accusamus ut eùm.+Solum eloqùéntiam cum at, ad aùtém tollît déserûnt sit. Alienùm albuciùs nominavi eu sit. Casé viris régione qui ut, éx cùm munére gubergren. Ad iudico aliénûm çùm.+Molestie intêrpretaris has éa, pro bonorum facîlîsîs disputândo éx, ëâ qûodsi îudîcabit mel. No dolôrèm scrïptorém dùo, ut çum vitae hâbèmus èlectrâm. No eum utïnam detràxit adolésçens, usu éi sale fierént nomïnati. Usù nô elîgendi conclûsionêmque. Pro eïus justô laudêm ea.+Cum animal tinçidunt ex, vix inànï popùlô nolùîsse eâ. Error àssûèvérit të vel, vitaê petentîum et nam. Mel eï dictàs latînë, nulla everti mandamus ut est. Atomôrùm rècteqûê ïus ëî, lùdus évêrtitur mëî ut, elïtr prômpta lêgimus êum ïd. Qui cû talé lêgimùs, êlit fêrrï lobortîs cùm ân.+Zril possît èléçtram nê sea. Ne êum accusàm dignîssim, fêugàît impërdïèt ratïonibùs eam né, graëço effïciàntùr ân nêc. Iùs quàlîsqué suscipiantur ne. Ea vis velit làtiné nûmquam. Ei nam pondêrum vérterem. At tâmquàm comprehensâm sèd, minïmum officîis expetêndis has cu.+An errem vèniâm pëtentium usu, unùm intêgré no sèa. Séd ad totâ ullum, vim ut nullàm vidîsse ômittantûr. At qùo iùdïcabït consectètuêr. Ludus feugiât éam cu, pèr êx èrrêm obliqué, ét saêpe consul comprèhênsam sêa.+Postëa façïlisi accommodarè has in. Et usu vûlputatë théôphrastùs. Stèt quôt singûlis nec ïn, id pêr mènandrï consequùntûr. Pro id inani fâbellas. Prï té utamur învênïre, eî sèd inanî mèdiocrêm, êt pôssim impetus épicurî qùo.+Mél èx mnésarçhum consètëtur, hîs dicant praesent qûalisqùe tê, dêbitîs perseçûti ei vél. Dïceret repudîàndae ét mea, his id nâtùm fabëllàs àssentïor. Est ad praesènt qûalisque. Sùas brùtë pèrtïnacia nô pér, at vim màgna zrïl desèrûissê. Për voçent fïérènt singulïs èt, at fastïdii postulant sêd.+Qûem modô pri çû, ad ïus numqûam dolores sûàvitaté, êa vim sônèt partem possim. Sëâ qûém vitae similiqûê cù. Et mei nûllâ érrém discérè, éà dolor utroqué scriptorèm eàm. Lâudém sîgniferumquè cu est, êx nôstro audïam accommodârè hïs. Nëc ad èvérti aliqûando.+Sed ad veri reprimique hônestatîs, èa sed vérïtùs admodum. Mâzim ômnésqùè mediocritatem eù ëum, ad vix qûëm vîvéndo ïnvènïré, ex nêç laborês antiopàm. Eam éx dêbét susçipït. Qùô optîon appareât ëx, mêl primà latiné êû.+Ea eum fûgit facilisi volutpat. At purto sèntentiae sît, porro tâtïon habemûs meï êt, tè vïm pôstéâ pértïnacia. Eos aùtém hàrum ei. Vïs të çetero timeam reprimiqûe, latiné admodum ôportéât méi ad.+Et prô suàs qûando voluptàtum, possît feûgait id vis. Nô îllûd novùm dëlectus vix. Ei altera tâmquam séd, séa no èîrmod torqûatos. Cum ut justo oporterê réctèque, ïn çum érant sîmul ponderum, vis quôt ridëns êi.+Nostrûm contentiones te vis, mûtat facilis sènsêrît pri în, ne est ïudîcô postéâ expêténdis. Vêlît vidîsse instructior his ân. Id vïm âpërïri alïquam intérèssêt, sit ëa légendos persécûti constïtuàm, eu sùmo dïspùtàtionî meâ. Postèa tritàni delëctùs at hïs, pri vivêndùm pérçipïtùr âd, êxerci scrïpta his ne. An utamùr ôblïquè perpetuà mèa.+Graeco forénsibûs has eû, ea appétëré sëntêntîâé sit, dîctà pûtant ïnteréssèt éum cû. Quèm errém çonsêctètûêr prî ïn. Pôrro solét qûando ést ét, diçàm labîtùr epicurei pro ea. At nëç voluptua recusabo pëtêntïùm, ut sëd feûgait pèrséquérîs. Te érïpuit dissentiet per, tè virïs cètèro pérsïus quô, essê aèqûe luptatum cù pro.+Ad mucius postéa dûo, éi consul lùptàtùm vîx. Eam maiôrum volûptua conclusionemque ad, est âd âlbucius lobortis. At pri primis medîocrèm. Vîs êx odio blandit. Fàstidii vôluptarîa înteressêt àt néc, ad pro quôt qûàs.+Nèc id modo erat, ut per labore véreàr sùavitate, pro êx iisquë intèresset. Duo ullùm lâbôrê praësënt ïd. Eu sèa solûm mâzim vocibus, salê çlïtà doctùs duô îd, vïm dolorem prôpriàe sâpïëntêm ët. Facilis vîvéndô té sèà, meï ut latïne âdîpïsci.+Quôt môlèstie laboràmus sit êi. In sed assûm vïvëndo âdversàriûm, àn vis rëqué âccusamus. Eâm graecî iisqué scripsèrît êu, ëa quo hâbeô postulànt. Vim possè graèco elàbôrârét cu.+In suas sint dèlïcata çùm. Pèrfèçto suscipïântûr în vim, sêa îpsum necéssitatibus ét. Quas aùgùë dêniquê per ïn. Lorèm nïhil abhorrèant ât mea, sit an omnîùm offîcïis, ëst âccùsam legendos intêrêssët çu.+Id nêç discèrê hendrêrït, làbore placërat înimicus în mel. Virtùte princîpes vim éû. Nâm àn ërîpûit postulànt hêndrérit. Qui êt argumêntum rëformidans, sùâvïtatè corrùmpit modëratius no vîs, an éam habêmûs mînîmùm. Ad consulatu dispûtationî has.+Eà diçta nonumy inîmîcus méa, cum te nibh lôrem labôre. Quôd éxerci ïùs àd, audiàm opôrteat éi vîx. No nêç dicàt nùmquàm ïnvidûnt. Mel facetë repùdiarè ut. Ea séd muciùs facëté, utamùr cônstitûam in pér.+Usu suscipit antiopam né, est librîs semper ùllamcôrper té. Ad mèl phâëdrum acçûsatà, his no option vulputate, èi magna solum deseruisse eum. Prï duïs deserunt vôluptatïbus eû. Sït ât debet offéndit copiosaé, diçèrèt constitùam vis èt. Adoléscéns pêrçipitûr id sèà.+At ômniùm fabùlas dissèntiàs prï, nonumès deseruîssé duo èâ. Ea mêâ viris ïgnotà, duo cù tantàs nominàti ocurrèrêt. Vel nusquam placerat ëî, no nâm prîmà prompta suscipït. Erat homero mea ét.+Cûm blândit petentium ût. Stèt demoçrîtum nè vîm, velït rîdens în sèd, vix an minim légëndos. Salê petentiûm sçrîptorém ut mêl. Exërci accusam an vïm, méî fèrri librïs ànimal àn, sëd în dïam commùne tacimates.+Consul périculâ qùo id, illud dolorem vel éx. Ad cum singûlis cotîdieqûé, talé diçtas doçtus cu eos. Et sît ùbiqué àlïquip percipitur, vim ômnesque assùêverît ad, ést éù discerê mandàmùs. Eù putant fabellas cum, dèlenïtî invîdûnt contentîones duo in.+Eos in nostrô faceté accusâmus, vîx essent tâmquam ad, duo în alterâ tritàni assûeverit. Pèr ei dètràxit phaêdrûm. Pèr ân wisi vocënt çôntentîonês, quï jùsto çhoro platonem nè. Eos ét esse sensibus éxplicâri, usu élît cèteros et.+Eum propriàé expêtenda în. Sit impedit ïmperdiêt ullâmcorpér tê, nostro commûné vulputâtê mei ét, nostèr sçàevolâ cum êù. Sit voçibus probatus cômplêctîtur cu, vel îd âdmodùm inimiçus, sit ad ùtînàm sâlûtatus rèfèrrêntùr. Lâbôré noluisse intéresset usu ea, èï àrgùmentum vitupèratorîbus mel. Ex sît novum rêgîoné, ïllud phaedrùm vim id. Id lorêm aliênum âccusàta sit.+Ut pùtant dolorés eleifend vïs, ét nibh luptàtûm posidoniûm îûs, his dèbitis dêlicata neglegêntur îd. Duo casè oràtio ëûîsmod id, sëa in wïsï volumus inîmiçûs. Dômîng putent recteque quo at. Etîam sëmper ornàtûs ét èam. Eû tôllït molèstié vêrtèrêm cum.+Quem èquidêm molestiaè ex nêc. Enim sôleat laborë méi at. Nëc dico fâbûlàs sçaëvola ex, vim éi vïtàë detracto vulpùtatè. Unum lûptatum élaborâret vèl ex, sît éu dîam lîbrîs mùcïus. Cum noster tîbïquè îd, at séd mutat âncîllae. Séà éx prïmis constitùto, vix tê èsse përcîpit vitùperata, mea suâvîtate dîspùtàndo no.+Id qui adhûc possït, làborê vïdissè përsecuti ïus no. Iuvarèt invênîre convénîre té méï, fàcete ancillaè oportere duô ad. Quot hômérô dôçtùs ad vèl. Ut eàm illud lègere, vulputaté ullamcorper mêa et. Qùot èpîçurï âncillae àd duô. Cù qui nusqûam sapïëntèm sàlutândï, âdhùc légendos at pri, an fùîssét pertïnax vel. Ut néc soléat vûlpûtàte, îd verïtùs mândamus perseqùeris qûî, èst sôlét phàèdrum in.+Usû ei dénîque vertèrêm delîcata, àn nàm quàs vïvèndum àbhorrèànt, çu homêrô consùlàtù usû. Cum lorêm dêçôre aliqûid tê, êst ut facète appellàntur. Nô natum ullum appetère nam, ex veniâm âperiri consétètur vix. Ad qûî prima rëbum placerat, nec sénsïbus laborâmus at. Pro màgna bonôrum évèrtitur nê, per àt reçusabo salùtatùs. Ut nam soluta postulant corrumpit, minîmùm recûsâbô posidoniûm ëst ât.+Ad iûs dicêrèt fâbûlâs conclùdatûrque. Pro ex copiosaé tïncïdunt, nâm tollït simïlique çonséqùuntur îd. Tôta phîlôsophia èt vél. No est errém feùgïat, vix impètus întèrprëtaris no. Tractatos dêfînïtionèm qui ëi, quot tollït ëst ad.+Nêc sançtus epicuri àccùsata et. Debitis persëcutï no qùi, feùgait patriôquë in çum, putànt vivëndum phaédrûm àn pri. Id eôs suas qùot, omniùm luptatum întèllégat mei tê. Omnés virtute copiosaè ne sêd.+Sed ad veri.

tests/lorem.utf16.txt

new file mode 100644Binary file changed

tests/lorem.utf32.txt

new file mode 100644Binary file changed

tests/lorem.utf8.txt

new file mode 100644@@ -0,0 +1,33 @@+Lorêm ïpsûm dolor sit amét, noster përpètua id eum. An éùm grâêçi fëùgîat, dêlicàta cotidièqùè éx mèl. Usû ea solèt théophràstus, îûs ne aeternô êquidêm, vim èx âgam abhorreant incorrùpte. Ipsum sâlutatus iràcundîà àd èam. Dictas lobortîs accusamus ut eùm.+Solum eloqùéntiam cum at, ad aùtém tollît déserûnt sit. Alienùm albuciùs nominavi eu sit. Casé viris régione qui ut, éx cùm munére gubergren. Ad iudico aliénûm çùm.+Molestie intêrpretaris has éa, pro bonorum facîlîsîs disputândo éx, ëâ qûodsi îudîcabit mel. No dolôrèm scrïptorém dùo, ut çum vitae hâbèmus èlectrâm. No eum utïnam detràxit adolésçens, usu éi sale fierént nomïnati. Usù nô elîgendi conclûsionêmque. Pro eïus justô laudêm ea.+Cum animal tinçidunt ex, vix inànï popùlô nolùîsse eâ. Error àssûèvérit të vel, vitaê petentîum et nam. Mel eï dictàs latînë, nulla everti mandamus ut est. Atomôrùm rècteqûê ïus ëî, lùdus évêrtitur mëî ut, elïtr prômpta lêgimus êum ïd. Qui cû talé lêgimùs, êlit fêrrï lobortîs cùm ân.+Zril possît èléçtram nê sea. Ne êum accusàm dignîssim, fêugàît impërdïèt ratïonibùs eam né, graëço effïciàntùr ân nêc. Iùs quàlîsqué suscipiantur ne. Ea vis velit làtiné nûmquam. Ei nam pondêrum vérterem. At tâmquàm comprehensâm sèd, minïmum officîis expetêndis has cu.+An errem vèniâm pëtentium usu, unùm intêgré no sèa. Séd ad totâ ullum, vim ut nullàm vidîsse ômittantûr. At qùo iùdïcabït consectètuêr. Ludus feugiât éam cu, pèr êx èrrêm obliqué, ét saêpe consul comprèhênsam sêa.+Postëa façïlisi accommodarè has in. Et usu vûlputatë théôphrastùs. Stèt quôt singûlis nec ïn, id pêr mènandrï consequùntûr. Pro id inani fâbellas. Prï té utamur învênïre, eî sèd inanî mèdiocrêm, êt pôssim impetus épicurî qùo.+Mél èx mnésarçhum consètëtur, hîs dicant praesent qûalisqùe tê, dêbitîs perseçûti ei vél. Dïceret repudîàndae ét mea, his id nâtùm fabëllàs àssentïor. Est ad praesènt qûalisque. Sùas brùtë pèrtïnacia nô pér, at vim màgna zrïl desèrûissê. Për voçent fïérènt singulïs èt, at fastïdii postulant sêd.+Qûem modô pri çû, ad ïus numqûam dolores sûàvitaté, êa vim sônèt partem possim. Sëâ qûém vitae similiqûê cù. Et mei nûllâ érrém discérè, éà dolor utroqué scriptorèm eàm. Lâudém sîgniferumquè cu est, êx nôstro audïam accommodârè hïs. Nëc ad èvérti aliqûando.+Sed ad veri reprimique hônestatîs, èa sed vérïtùs admodum. Mâzim ômnésqùè mediocritatem eù ëum, ad vix qûëm vîvéndo ïnvènïré, ex nêç laborês antiopàm. Eam éx dêbét susçipït. Qùô optîon appareât ëx, mêl primà latiné êû.+Ea eum fûgit facilisi volutpat. At purto sèntentiae sît, porro tâtïon habemûs meï êt, tè vïm pôstéâ pértïnacia. Eos aùtém hàrum ei. Vïs të çetero timeam reprimiqûe, latiné admodum ôportéât méi ad.+Et prô suàs qûando voluptàtum, possît feûgait id vis. Nô îllûd novùm dëlectus vix. Ei altera tâmquam séd, séa no èîrmod torqûatos. Cum ut justo oporterê réctèque, ïn çum érant sîmul ponderum, vis quôt ridëns êi.+Nostrûm contentiones te vis, mûtat facilis sènsêrît pri în, ne est ïudîcô postéâ expêténdis. Vêlît vidîsse instructior his ân. Id vïm âpërïri alïquam intérèssêt, sit ëa légendos persécûti constïtuàm, eu sùmo dïspùtàtionî meâ. Postèa tritàni delëctùs at hïs, pri vivêndùm pérçipïtùr âd, êxerci scrïpta his ne. An utamùr ôblïquè perpetuà mèa.+Graeco forénsibûs has eû, ea appétëré sëntêntîâé sit, dîctà pûtant ïnteréssèt éum cû. Quèm errém çonsêctètûêr prî ïn. Pôrro solét qûando ést ét, diçàm labîtùr epicurei pro ea. At nëç voluptua recusabo pëtêntïùm, ut sëd feûgait pèrséquérîs. Te érïpuit dissentiet per, tè virïs cètèro pérsïus quô, essê aèqûe luptatum cù pro.+Ad mucius postéa dûo, éi consul lùptàtùm vîx. Eam maiôrum volûptua conclusionemque ad, est âd âlbucius lobortis. At pri primis medîocrèm. Vîs êx odio blandit. Fàstidii vôluptarîa înteressêt àt néc, ad pro quôt qûàs.+Nèc id modo erat, ut per labore véreàr sùavitate, pro êx iisquë intèresset. Duo ullùm lâbôrê praësënt ïd. Eu sèa solûm mâzim vocibus, salê çlïtà doctùs duô îd, vïm dolorem prôpriàe sâpïëntêm ët. Facilis vîvéndô té sèà, meï ut latïne âdîpïsci.+Quôt môlèstie laboràmus sit êi. In sed assûm vïvëndo âdversàriûm, àn vis rëqué âccusamus. Eâm graecî iisqué scripsèrît êu, ëa quo hâbeô postulànt. Vim possè graèco elàbôrârét cu.+In suas sint dèlïcata çùm. Pèrfèçto suscipïântûr în vim, sêa îpsum necéssitatibus ét. Quas aùgùë dêniquê per ïn. Lorèm nïhil abhorrèant ât mea, sit an omnîùm offîcïis, ëst âccùsam legendos intêrêssët çu.+Id nêç discèrê hendrêrït, làbore placërat înimicus în mel. Virtùte princîpes vim éû. Nâm àn ërîpûit postulànt hêndrérit. Qui êt argumêntum rëformidans, sùâvïtatè corrùmpit modëratius no vîs, an éam habêmûs mînîmùm. Ad consulatu dispûtationî has.+Eà diçta nonumy inîmîcus méa, cum te nibh lôrem labôre. Quôd éxerci ïùs àd, audiàm opôrteat éi vîx. No nêç dicàt nùmquàm ïnvidûnt. Mel facetë repùdiarè ut. Ea séd muciùs facëté, utamùr cônstitûam in pér.+Usu suscipit antiopam né, est librîs semper ùllamcôrper té. Ad mèl phâëdrum acçûsatà, his no option vulputate, èi magna solum deseruisse eum. Prï duïs deserunt vôluptatïbus eû. Sït ât debet offéndit copiosaé, diçèrèt constitùam vis èt. Adoléscéns pêrçipitûr id sèà.+At ômniùm fabùlas dissèntiàs prï, nonumès deseruîssé duo èâ. Ea mêâ viris ïgnotà, duo cù tantàs nominàti ocurrèrêt. Vel nusquam placerat ëî, no nâm prîmà prompta suscipït. Erat homero mea ét.+Cûm blândit petentium ût. Stèt demoçrîtum nè vîm, velït rîdens în sèd, vix an minim légëndos. Salê petentiûm sçrîptorém ut mêl. Exërci accusam an vïm, méî fèrri librïs ànimal àn, sëd în dïam commùne tacimates.+Consul périculâ qùo id, illud dolorem vel éx. Ad cum singûlis cotîdieqûé, talé diçtas doçtus cu eos. Et sît ùbiqué àlïquip percipitur, vim ômnesque assùêverît ad, ést éù discerê mandàmùs. Eù putant fabellas cum, dèlenïtî invîdûnt contentîones duo in.+Eos in nostrô faceté accusâmus, vîx essent tâmquam ad, duo în alterâ tritàni assûeverit. Pèr ei dètràxit phaêdrûm. Pèr ân wisi vocënt çôntentîonês, quï jùsto çhoro platonem nè. Eos ét esse sensibus éxplicâri, usu élît cèteros et.+Eum propriàé expêtenda în. Sit impedit ïmperdiêt ullâmcorpér tê, nostro commûné vulputâtê mei ét, nostèr sçàevolâ cum êù. Sit voçibus probatus cômplêctîtur cu, vel îd âdmodùm inimiçus, sit ad ùtînàm sâlûtatus rèfèrrêntùr. Lâbôré noluisse intéresset usu ea, èï àrgùmentum vitupèratorîbus mel. Ex sît novum rêgîoné, ïllud phaedrùm vim id. Id lorêm aliênum âccusàta sit.+Ut pùtant dolorés eleifend vïs, ét nibh luptàtûm posidoniûm îûs, his dèbitis dêlicata neglegêntur îd. Duo casè oràtio ëûîsmod id, sëa in wïsï volumus inîmiçûs. Dômîng putent recteque quo at. Etîam sëmper ornàtûs ét èam. Eû tôllït molèstié vêrtèrêm cum.+Quem èquidêm molestiaè ex nêc. Enim sôleat laborë méi at. Nëc dico fâbûlàs sçaëvola ex, vim éi vïtàë detracto vulpùtatè. Unum lûptatum élaborâret vèl ex, sît éu dîam lîbrîs mùcïus. Cum noster tîbïquè îd, at séd mutat âncîllae. Séà éx prïmis constitùto, vix tê èsse përcîpit vitùperata, mea suâvîtate dîspùtàndo no.+Id qui adhûc possït, làborê vïdissè përsecuti ïus no. Iuvarèt invênîre convénîre té méï, fàcete ancillaè oportere duô ad. Quot hômérô dôçtùs ad vèl. Ut eàm illud lègere, vulputaté ullamcorper mêa et. Qùot èpîçurï âncillae àd duô. Cù qui nusqûam sapïëntèm sàlutândï, âdhùc légendos at pri, an fùîssét pertïnax vel. Ut néc soléat vûlpûtàte, îd verïtùs mândamus perseqùeris qûî, èst sôlét phàèdrum in.+Usû ei dénîque vertèrêm delîcata, àn nàm quàs vïvèndum àbhorrèànt, çu homêrô consùlàtù usû. Cum lorêm dêçôre aliqûid tê, êst ut facète appellàntur. Nô natum ullum appetère nam, ex veniâm âperiri consétètur vix. Ad qûî prima rëbum placerat, nec sénsïbus laborâmus at. Pro màgna bonôrum évèrtitur nê, per àt reçusabo salùtatùs. Ut nam soluta postulant corrumpit, minîmùm recûsâbô posidoniûm ëst ât.+Ad iûs dicêrèt fâbûlâs conclùdatûrque. Pro ex copiosaé tïncïdunt, nâm tollït simïlique çonséqùuntur îd. Tôta phîlôsophia èt vél. No est errém feùgïat, vix impètus întèrprëtaris no. Tractatos dêfînïtionèm qui ëi, quot tollït ëst ad.+Nêc sançtus epicuri àccùsata et. Debitis persëcutï no qùi, feùgait patriôquë in çum, putànt vivëndum phaédrûm àn pri. Id eôs suas qùot, omniùm luptatum întèllégat mei tê. Omnés virtute copiosaè ne sêd.+Sed ad veri.

tests/out/Hello_--csv-c.out

new file mode 100644@@ -0,0 +1,6 @@+"Hello.bat",2+"Hello.class",8+"Hello.java",6+"Hello.pdf",134+"Hello.sh",2+"Hello.txt",1

tests/out/Hello_--csv-co.out

new file mode 100644@@ -0,0 +1,6 @@+"Hello.bat",2+"Hello.class",8+"Hello.java",6+"Hello.pdf",134+"Hello.sh",2+"Hello.txt",1

tests/out/Hello_--csv-cv.out

new file mode 100644@@ -0,0 +1,6 @@+"Hello.bat",0+"Hello.class",0+"Hello.java",0+"Hello.pdf",0+"Hello.sh",0+"Hello.txt",0

tests/out/Hello_--csv-l.out

new file mode 100644@@ -0,0 +1 @@+"Hello.bat",true

tests/out/Hello_--csv-lv.out

new file mode 100644

tests/out/Hello_--csv-n.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,"#!/bin/sh"+"Hello.bat",2,"echo ""Hello World!"""+"Hello.class",1,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,"SourceFile\x01\x00"+"Hello.class",5,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,"\x00\x00\x00"+"Hello.class",8,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,"import java.lang.*;"+"Hello.java",2,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,"{ public static void main(String[] arg)"+"Hello.java",4,"  { System.out.println(""Hello World!"");"+"Hello.java",5,"  }"+"Hello.java",6,"}"+"Hello.pdf",1,"%PDF-1.3"+"Hello.pdf",2,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,"4 0 obj"+"Hello.pdf",4,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,"stream"+"Hello.pdf",6,"x\x01EŽ»"+"Hello.pdf",7,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,"endstream"+"Hello.pdf",10,"endobj"+"Hello.pdf",11,"5 0 obj"+"Hello.pdf",12,"123"+"Hello.pdf",13,"endobj"+"Hello.pdf",14,"2 0 obj"+"Hello.pdf",15,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,">>"+"Hello.pdf",17,"endobj"+"Hello.pdf",18,"6 0 obj"+"Hello.pdf",19,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,">> >>"+"Hello.pdf",21,"endobj"+"Hello.pdf",22,"9 0 obj"+"Hello.pdf",23,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,"stream"+"Hello.pdf",25,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,"endstream"+"Hello.pdf",32,"endobj"+"Hello.pdf",33,"10 0 obj"+"Hello.pdf",34,"1116"+"Hello.pdf",35,"endobj"+"Hello.pdf",36,"7 0 obj"+"Hello.pdf",37,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,"endobj"+"Hello.pdf",39,"3 0 obj"+"Hello.pdf",40,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,"endobj"+"Hello.pdf",42,"11 0 obj"+"Hello.pdf",43,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,"endobj"+"Hello.pdf",45,"8 0 obj"+"Hello.pdf",46,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,"0 0 602 ] >>"+"Hello.pdf",50,"endobj"+"Hello.pdf",51,"12 0 obj"+"Hello.pdf",52,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,">>"+"Hello.pdf",56,"endobj"+"Hello.pdf",57,"13 0 obj"+"Hello.pdf",58,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,"stream"+"Hello.pdf",60,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,"ïT`ŸÂÛ"+"Hello.pdf",64,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,"TtÄý"+"Hello.pdf",69,"å6üBa‰Â="+"Hello.pdf",70,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,"q©ˆu FÁ¦-"+"Hello.pdf",76,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,"endstream"+"Hello.pdf",80,"endobj"+"Hello.pdf",81,"14 0 obj"+"Hello.pdf",82,"2734"+"Hello.pdf",83,"endobj"+"Hello.pdf",84,"15 0 obj"+"Hello.pdf",85,"(Hello)"+"Hello.pdf",86,"endobj"+"Hello.pdf",87,"16 0 obj"+"Hello.pdf",88,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,"endobj"+"Hello.pdf",90,"17 0 obj"+"Hello.pdf",91,"(TextEdit)"+"Hello.pdf",92,"endobj"+"Hello.pdf",93,"18 0 obj"+"Hello.pdf",94,"(D:20200124010711Z00'00')"+"Hello.pdf",95,"endobj"+"Hello.pdf",96,"19 0 obj"+"Hello.pdf",97,"()"+"Hello.pdf",98,"endobj"+"Hello.pdf",99,"20 0 obj"+"Hello.pdf",100,"[ ]"+"Hello.pdf",101,"endobj"+"Hello.pdf",102,"1 0 obj"+"Hello.pdf",103,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,"endobj"+"Hello.pdf",106,"xref"+"Hello.pdf",107,"0 21"+"Hello.pdf",108,"0000000000 65535 f "+"Hello.pdf",109,"0000005392 00000 n "+"Hello.pdf",110,"0000000238 00000 n "+"Hello.pdf",111,"0000001714 00000 n "+"Hello.pdf",112,"0000000022 00000 n "+"Hello.pdf",113,"0000000219 00000 n "+"Hello.pdf",114,"0000000342 00000 n "+"Hello.pdf",115,"0000001679 00000 n "+"Hello.pdf",116,"0000001847 00000 n "+"Hello.pdf",117,"0000000439 00000 n "+"Hello.pdf",118,"0000001658 00000 n "+"Hello.pdf",119,"0000001797 00000 n "+"Hello.pdf",120,"0000002110 00000 n "+"Hello.pdf",121,"0000002362 00000 n "+"Hello.pdf",122,"0000005186 00000 n "+"Hello.pdf",123,"0000005207 00000 n "+"Hello.pdf",124,"0000005231 00000 n "+"Hello.pdf",125,"0000005284 00000 n "+"Hello.pdf",126,"0000005311 00000 n "+"Hello.pdf",127,"0000005353 00000 n "+"Hello.pdf",128,"0000005372 00000 n "+"Hello.pdf",129,"trailer"+"Hello.pdf",130,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,"startxref"+"Hello.pdf",133,"5536"+"Hello.pdf",134,"%%EOF"+"Hello.sh",1,"#!/bin/sh"+"Hello.sh",2,"echo ""Hello World!"""+"Hello.txt",1,"Hello"

tests/out/Hello_--csv-nkb.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,1,0,"#!/bin/sh"+"Hello.bat",2,1,10,"echo ""Hello World!"""+"Hello.class",1,1,0,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,1,11,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,1,24,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,1,109,"SourceFile\x01\x00"+"Hello.class",5,1,122,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,1,345,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,1,392,"\x00\x00\x00"+"Hello.class",8,1,396,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,1,0,"import java.lang.*;"+"Hello.java",2,1,20,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,1,73,"{ public static void main(String[] arg)"+"Hello.java",4,1,113,"  { System.out.println(""Hello World!"");"+"Hello.java",5,1,153,"  }"+"Hello.java",6,1,157,"}"+"Hello.pdf",1,1,0,"%PDF-1.3"+"Hello.pdf",2,1,9,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,1,22,"4 0 obj"+"Hello.pdf",4,1,30,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,1,71,"stream"+"Hello.pdf",6,1,78,"x\x01EŽ»"+"Hello.pdf",7,1,84,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,1,138,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,1,202,"endstream"+"Hello.pdf",10,1,212,"endobj"+"Hello.pdf",11,1,219,"5 0 obj"+"Hello.pdf",12,1,227,"123"+"Hello.pdf",13,1,231,"endobj"+"Hello.pdf",14,1,238,"2 0 obj"+"Hello.pdf",15,1,246,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,1,332,">>"+"Hello.pdf",17,1,335,"endobj"+"Hello.pdf",18,1,342,"6 0 obj"+"Hello.pdf",19,1,350,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,1,426,">> >>"+"Hello.pdf",21,1,432,"endobj"+"Hello.pdf",22,1,439,"9 0 obj"+"Hello.pdf",23,1,447,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,1,517,"stream"+"Hello.pdf",25,1,524,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,1,606,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,1,1019,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,1,1223,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,1,1377,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,1,1604,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,1,1641,"endstream"+"Hello.pdf",32,1,1651,"endobj"+"Hello.pdf",33,1,1658,"10 0 obj"+"Hello.pdf",34,1,1667,"1116"+"Hello.pdf",35,1,1672,"endobj"+"Hello.pdf",36,1,1679,"7 0 obj"+"Hello.pdf",37,1,1687,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,1,1707,"endobj"+"Hello.pdf",39,1,1714,"3 0 obj"+"Hello.pdf",40,1,1722,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,1,1790,"endobj"+"Hello.pdf",42,1,1797,"11 0 obj"+"Hello.pdf",43,1,1806,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,1,1840,"endobj"+"Hello.pdf",45,1,1847,"8 0 obj"+"Hello.pdf",46,1,1855,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,1,1937,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,1,2014,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,1,2090,"0 0 602 ] >>"+"Hello.pdf",50,1,2103,"endobj"+"Hello.pdf",51,1,2110,"12 0 obj"+"Hello.pdf",52,1,2119,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,1,2196,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,1,2273,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,1,2352,">>"+"Hello.pdf",56,1,2355,"endobj"+"Hello.pdf",57,1,2362,"13 0 obj"+"Hello.pdf",58,1,2371,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,1,2427,"stream"+"Hello.pdf",60,1,2434,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,1,2511,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,1,2998,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,1,3045,"ïT`ŸÂÛ"+"Hello.pdf",64,1,3052,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,1,3143,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,1,3188,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,1,3303,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,1,3325,"TtÄý"+"Hello.pdf",69,1,3330,"å6üBa‰Â="+"Hello.pdf",70,1,3339,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,1,3385,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,1,3577,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,1,3683,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,1,3695,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,1,3822,"q©ˆu FÁ¦-"+"Hello.pdf",76,1,3833,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,1,3852,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,1,4532,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,1,5169,"endstream"+"Hello.pdf",80,1,5179,"endobj"+"Hello.pdf",81,1,5186,"14 0 obj"+"Hello.pdf",82,1,5195,"2734"+"Hello.pdf",83,1,5200,"endobj"+"Hello.pdf",84,1,5207,"15 0 obj"+"Hello.pdf",85,1,5216,"(Hello)"+"Hello.pdf",86,1,5224,"endobj"+"Hello.pdf",87,1,5231,"16 0 obj"+"Hello.pdf",88,1,5240,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,1,5277,"endobj"+"Hello.pdf",90,1,5284,"17 0 obj"+"Hello.pdf",91,1,5293,"(TextEdit)"+"Hello.pdf",92,1,5304,"endobj"+"Hello.pdf",93,1,5311,"18 0 obj"+"Hello.pdf",94,1,5320,"(D:20200124010711Z00'00')"+"Hello.pdf",95,1,5346,"endobj"+"Hello.pdf",96,1,5353,"19 0 obj"+"Hello.pdf",97,1,5362,"()"+"Hello.pdf",98,1,5365,"endobj"+"Hello.pdf",99,1,5372,"20 0 obj"+"Hello.pdf",100,1,5381,"[ ]"+"Hello.pdf",101,1,5385,"endobj"+"Hello.pdf",102,1,5392,"1 0 obj"+"Hello.pdf",103,1,5400,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,1,5480,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,1,5529,"endobj"+"Hello.pdf",106,1,5536,"xref"+"Hello.pdf",107,1,5541,"0 21"+"Hello.pdf",108,1,5546,"0000000000 65535 f "+"Hello.pdf",109,1,5566,"0000005392 00000 n "+"Hello.pdf",110,1,5586,"0000000238 00000 n "+"Hello.pdf",111,1,5606,"0000001714 00000 n "+"Hello.pdf",112,1,5626,"0000000022 00000 n "+"Hello.pdf",113,1,5646,"0000000219 00000 n "+"Hello.pdf",114,1,5666,"0000000342 00000 n "+"Hello.pdf",115,1,5686,"0000001679 00000 n "+"Hello.pdf",116,1,5706,"0000001847 00000 n "+"Hello.pdf",117,1,5726,"0000000439 00000 n "+"Hello.pdf",118,1,5746,"0000001658 00000 n "+"Hello.pdf",119,1,5766,"0000001797 00000 n "+"Hello.pdf",120,1,5786,"0000002110 00000 n "+"Hello.pdf",121,1,5806,"0000002362 00000 n "+"Hello.pdf",122,1,5826,"0000005186 00000 n "+"Hello.pdf",123,1,5846,"0000005207 00000 n "+"Hello.pdf",124,1,5866,"0000005231 00000 n "+"Hello.pdf",125,1,5886,"0000005284 00000 n "+"Hello.pdf",126,1,5906,"0000005311 00000 n "+"Hello.pdf",127,1,5926,"0000005353 00000 n "+"Hello.pdf",128,1,5946,"0000005372 00000 n "+"Hello.pdf",129,1,5966,"trailer"+"Hello.pdf",130,1,5974,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,1,6052,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,1,6092,"startxref"+"Hello.pdf",133,1,6102,"5536"+"Hello.pdf",134,1,6107,"%%EOF"+"Hello.sh",1,1,0,"#!/bin/sh"+"Hello.sh",2,1,10,"echo ""Hello World!"""+"Hello.txt",1,1,0,"Hello"

tests/out/Hello_--csv-o.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat","#!/bin/sh"+"Hello.bat","echo ""Hello World!"""+"Hello.class","Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class","\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class","\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class","SourceFile\x01\x00"+"Hello.class","Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class","\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class","\x00\x00\x00"+"Hello.class","\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java","import java.lang.*;"+"Hello.java","public class Hello // prints a Hello World! greeting"+"Hello.java","{ public static void main(String[] arg)"+"Hello.java","  { System.out.println(""Hello World!"");"+"Hello.java","  }"+"Hello.java","}"+"Hello.pdf","%PDF-1.3"+"Hello.pdf","%Äåòåë§ó ÐÄÆ"+"Hello.pdf","4 0 obj"+"Hello.pdf","<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01EŽ»"+"Hello.pdf","\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf","Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","5 0 obj"+"Hello.pdf","123"+"Hello.pdf","endobj"+"Hello.pdf","2 0 obj"+"Hello.pdf","<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",">>"+"Hello.pdf","endobj"+"Hello.pdf","6 0 obj"+"Hello.pdf","<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",">> >>"+"Hello.pdf","endobj"+"Hello.pdf","9 0 obj"+"Hello.pdf","<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf","\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf","ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf","¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf","K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf","Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","10 0 obj"+"Hello.pdf","1116"+"Hello.pdf","endobj"+"Hello.pdf","7 0 obj"+"Hello.pdf","[ /ICCBased 9 0 R ]"+"Hello.pdf","endobj"+"Hello.pdf","3 0 obj"+"Hello.pdf","<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf","endobj"+"Hello.pdf","11 0 obj"+"Hello.pdf","<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf","endobj"+"Hello.pdf","8 0 obj"+"Hello.pdf","<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf","12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf","0 0 602 ] >>"+"Hello.pdf","endobj"+"Hello.pdf","12 0 obj"+"Hello.pdf","<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf","[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf","/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",">>"+"Hello.pdf","endobj"+"Hello.pdf","13 0 obj"+"Hello.pdf","<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf","ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf","ïT`ŸÂÛ"+"Hello.pdf","VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf","¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf","ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf","Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf","TtÄý"+"Hello.pdf","å6üBa‰Â="+"Hello.pdf","‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf","wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf","ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf","Ý\x14º*t±Ã—:Lú"+"Hello.pdf","p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf","q©ˆu FÁ¦-"+"Hello.pdf","Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf","W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf","—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","14 0 obj"+"Hello.pdf","2734"+"Hello.pdf","endobj"+"Hello.pdf","15 0 obj"+"Hello.pdf","(Hello)"+"Hello.pdf","endobj"+"Hello.pdf","16 0 obj"+"Hello.pdf","(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf","endobj"+"Hello.pdf","17 0 obj"+"Hello.pdf","(TextEdit)"+"Hello.pdf","endobj"+"Hello.pdf","18 0 obj"+"Hello.pdf","(D:20200124010711Z00'00')"+"Hello.pdf","endobj"+"Hello.pdf","19 0 obj"+"Hello.pdf","()"+"Hello.pdf","endobj"+"Hello.pdf","20 0 obj"+"Hello.pdf","[ ]"+"Hello.pdf","endobj"+"Hello.pdf","1 0 obj"+"Hello.pdf","<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf","18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf","endobj"+"Hello.pdf","xref"+"Hello.pdf","0 21"+"Hello.pdf","0000000000 65535 f "+"Hello.pdf","0000005392 00000 n "+"Hello.pdf","0000000238 00000 n "+"Hello.pdf","0000001714 00000 n "+"Hello.pdf","0000000022 00000 n "+"Hello.pdf","0000000219 00000 n "+"Hello.pdf","0000000342 00000 n "+"Hello.pdf","0000001679 00000 n "+"Hello.pdf","0000001847 00000 n "+"Hello.pdf","0000000439 00000 n "+"Hello.pdf","0000001658 00000 n "+"Hello.pdf","0000001797 00000 n "+"Hello.pdf","0000002110 00000 n "+"Hello.pdf","0000002362 00000 n "+"Hello.pdf","0000005186 00000 n "+"Hello.pdf","0000005207 00000 n "+"Hello.pdf","0000005231 00000 n "+"Hello.pdf","0000005284 00000 n "+"Hello.pdf","0000005311 00000 n "+"Hello.pdf","0000005353 00000 n "+"Hello.pdf","0000005372 00000 n "+"Hello.pdf","trailer"+"Hello.pdf","<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf","<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf","startxref"+"Hello.pdf","5536"+"Hello.pdf","%%EOF"+"Hello.sh","#!/bin/sh"+"Hello.sh","echo ""Hello World!"""+"Hello.txt","Hello"

tests/out/Hello_--csv-on.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,"#!/bin/sh"+"Hello.bat",2,"echo ""Hello World!"""+"Hello.class",1,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,"SourceFile\x01\x00"+"Hello.class",5,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,"\x00\x00\x00"+"Hello.class",8,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,"import java.lang.*;"+"Hello.java",2,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,"{ public static void main(String[] arg)"+"Hello.java",4,"  { System.out.println(""Hello World!"");"+"Hello.java",5,"  }"+"Hello.java",6,"}"+"Hello.pdf",1,"%PDF-1.3"+"Hello.pdf",2,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,"4 0 obj"+"Hello.pdf",4,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,"stream"+"Hello.pdf",6,"x\x01EŽ»"+"Hello.pdf",7,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,"endstream"+"Hello.pdf",10,"endobj"+"Hello.pdf",11,"5 0 obj"+"Hello.pdf",12,"123"+"Hello.pdf",13,"endobj"+"Hello.pdf",14,"2 0 obj"+"Hello.pdf",15,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,">>"+"Hello.pdf",17,"endobj"+"Hello.pdf",18,"6 0 obj"+"Hello.pdf",19,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,">> >>"+"Hello.pdf",21,"endobj"+"Hello.pdf",22,"9 0 obj"+"Hello.pdf",23,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,"stream"+"Hello.pdf",25,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,"endstream"+"Hello.pdf",32,"endobj"+"Hello.pdf",33,"10 0 obj"+"Hello.pdf",34,"1116"+"Hello.pdf",35,"endobj"+"Hello.pdf",36,"7 0 obj"+"Hello.pdf",37,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,"endobj"+"Hello.pdf",39,"3 0 obj"+"Hello.pdf",40,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,"endobj"+"Hello.pdf",42,"11 0 obj"+"Hello.pdf",43,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,"endobj"+"Hello.pdf",45,"8 0 obj"+"Hello.pdf",46,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,"0 0 602 ] >>"+"Hello.pdf",50,"endobj"+"Hello.pdf",51,"12 0 obj"+"Hello.pdf",52,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,">>"+"Hello.pdf",56,"endobj"+"Hello.pdf",57,"13 0 obj"+"Hello.pdf",58,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,"stream"+"Hello.pdf",60,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,"ïT`ŸÂÛ"+"Hello.pdf",64,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,"TtÄý"+"Hello.pdf",69,"å6üBa‰Â="+"Hello.pdf",70,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,"q©ˆu FÁ¦-"+"Hello.pdf",76,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,"endstream"+"Hello.pdf",80,"endobj"+"Hello.pdf",81,"14 0 obj"+"Hello.pdf",82,"2734"+"Hello.pdf",83,"endobj"+"Hello.pdf",84,"15 0 obj"+"Hello.pdf",85,"(Hello)"+"Hello.pdf",86,"endobj"+"Hello.pdf",87,"16 0 obj"+"Hello.pdf",88,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,"endobj"+"Hello.pdf",90,"17 0 obj"+"Hello.pdf",91,"(TextEdit)"+"Hello.pdf",92,"endobj"+"Hello.pdf",93,"18 0 obj"+"Hello.pdf",94,"(D:20200124010711Z00'00')"+"Hello.pdf",95,"endobj"+"Hello.pdf",96,"19 0 obj"+"Hello.pdf",97,"()"+"Hello.pdf",98,"endobj"+"Hello.pdf",99,"20 0 obj"+"Hello.pdf",100,"[ ]"+"Hello.pdf",101,"endobj"+"Hello.pdf",102,"1 0 obj"+"Hello.pdf",103,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,"endobj"+"Hello.pdf",106,"xref"+"Hello.pdf",107,"0 21"+"Hello.pdf",108,"0000000000 65535 f "+"Hello.pdf",109,"0000005392 00000 n "+"Hello.pdf",110,"0000000238 00000 n "+"Hello.pdf",111,"0000001714 00000 n "+"Hello.pdf",112,"0000000022 00000 n "+"Hello.pdf",113,"0000000219 00000 n "+"Hello.pdf",114,"0000000342 00000 n "+"Hello.pdf",115,"0000001679 00000 n "+"Hello.pdf",116,"0000001847 00000 n "+"Hello.pdf",117,"0000000439 00000 n "+"Hello.pdf",118,"0000001658 00000 n "+"Hello.pdf",119,"0000001797 00000 n "+"Hello.pdf",120,"0000002110 00000 n "+"Hello.pdf",121,"0000002362 00000 n "+"Hello.pdf",122,"0000005186 00000 n "+"Hello.pdf",123,"0000005207 00000 n "+"Hello.pdf",124,"0000005231 00000 n "+"Hello.pdf",125,"0000005284 00000 n "+"Hello.pdf",126,"0000005311 00000 n "+"Hello.pdf",127,"0000005353 00000 n "+"Hello.pdf",128,"0000005372 00000 n "+"Hello.pdf",129,"trailer"+"Hello.pdf",130,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,"startxref"+"Hello.pdf",133,"5536"+"Hello.pdf",134,"%%EOF"+"Hello.sh",1,"#!/bin/sh"+"Hello.sh",2,"echo ""Hello World!"""+"Hello.txt",1,"Hello"

tests/out/Hello_--csv-onkb.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,1,0,"#!/bin/sh"+"Hello.bat",2,1,10,"echo ""Hello World!"""+"Hello.class",1,1,0,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,1,11,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,1,24,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,1,109,"SourceFile\x01\x00"+"Hello.class",5,1,122,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,1,345,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,1,392,"\x00\x00\x00"+"Hello.class",8,1,396,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,1,0,"import java.lang.*;"+"Hello.java",2,1,20,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,1,73,"{ public static void main(String[] arg)"+"Hello.java",4,1,113,"  { System.out.println(""Hello World!"");"+"Hello.java",5,1,153,"  }"+"Hello.java",6,1,157,"}"+"Hello.pdf",1,1,0,"%PDF-1.3"+"Hello.pdf",2,1,9,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,1,22,"4 0 obj"+"Hello.pdf",4,1,30,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,1,71,"stream"+"Hello.pdf",6,1,78,"x\x01EŽ»"+"Hello.pdf",7,1,84,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,1,138,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,1,202,"endstream"+"Hello.pdf",10,1,212,"endobj"+"Hello.pdf",11,1,219,"5 0 obj"+"Hello.pdf",12,1,227,"123"+"Hello.pdf",13,1,231,"endobj"+"Hello.pdf",14,1,238,"2 0 obj"+"Hello.pdf",15,1,246,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,1,332,">>"+"Hello.pdf",17,1,335,"endobj"+"Hello.pdf",18,1,342,"6 0 obj"+"Hello.pdf",19,1,350,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,1,426,">> >>"+"Hello.pdf",21,1,432,"endobj"+"Hello.pdf",22,1,439,"9 0 obj"+"Hello.pdf",23,1,447,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,1,517,"stream"+"Hello.pdf",25,1,524,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,1,606,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,1,1019,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,1,1223,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,1,1377,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,1,1604,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,1,1641,"endstream"+"Hello.pdf",32,1,1651,"endobj"+"Hello.pdf",33,1,1658,"10 0 obj"+"Hello.pdf",34,1,1667,"1116"+"Hello.pdf",35,1,1672,"endobj"+"Hello.pdf",36,1,1679,"7 0 obj"+"Hello.pdf",37,1,1687,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,1,1707,"endobj"+"Hello.pdf",39,1,1714,"3 0 obj"+"Hello.pdf",40,1,1722,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,1,1790,"endobj"+"Hello.pdf",42,1,1797,"11 0 obj"+"Hello.pdf",43,1,1806,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,1,1840,"endobj"+"Hello.pdf",45,1,1847,"8 0 obj"+"Hello.pdf",46,1,1855,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,1,1937,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,1,2014,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,1,2090,"0 0 602 ] >>"+"Hello.pdf",50,1,2103,"endobj"+"Hello.pdf",51,1,2110,"12 0 obj"+"Hello.pdf",52,1,2119,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,1,2196,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,1,2273,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,1,2352,">>"+"Hello.pdf",56,1,2355,"endobj"+"Hello.pdf",57,1,2362,"13 0 obj"+"Hello.pdf",58,1,2371,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,1,2427,"stream"+"Hello.pdf",60,1,2434,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,1,2511,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,1,2998,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,1,3045,"ïT`ŸÂÛ"+"Hello.pdf",64,1,3052,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,1,3143,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,1,3188,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,1,3303,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,1,3325,"TtÄý"+"Hello.pdf",69,1,3330,"å6üBa‰Â="+"Hello.pdf",70,1,3339,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,1,3385,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,1,3577,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,1,3683,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,1,3695,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,1,3822,"q©ˆu FÁ¦-"+"Hello.pdf",76,1,3833,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,1,3852,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,1,4532,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,1,5169,"endstream"+"Hello.pdf",80,1,5179,"endobj"+"Hello.pdf",81,1,5186,"14 0 obj"+"Hello.pdf",82,1,5195,"2734"+"Hello.pdf",83,1,5200,"endobj"+"Hello.pdf",84,1,5207,"15 0 obj"+"Hello.pdf",85,1,5216,"(Hello)"+"Hello.pdf",86,1,5224,"endobj"+"Hello.pdf",87,1,5231,"16 0 obj"+"Hello.pdf",88,1,5240,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,1,5277,"endobj"+"Hello.pdf",90,1,5284,"17 0 obj"+"Hello.pdf",91,1,5293,"(TextEdit)"+"Hello.pdf",92,1,5304,"endobj"+"Hello.pdf",93,1,5311,"18 0 obj"+"Hello.pdf",94,1,5320,"(D:20200124010711Z00'00')"+"Hello.pdf",95,1,5346,"endobj"+"Hello.pdf",96,1,5353,"19 0 obj"+"Hello.pdf",97,1,5362,"()"+"Hello.pdf",98,1,5365,"endobj"+"Hello.pdf",99,1,5372,"20 0 obj"+"Hello.pdf",100,1,5381,"[ ]"+"Hello.pdf",101,1,5385,"endobj"+"Hello.pdf",102,1,5392,"1 0 obj"+"Hello.pdf",103,1,5400,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,1,5480,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,1,5529,"endobj"+"Hello.pdf",106,1,5536,"xref"+"Hello.pdf",107,1,5541,"0 21"+"Hello.pdf",108,1,5546,"0000000000 65535 f "+"Hello.pdf",109,1,5566,"0000005392 00000 n "+"Hello.pdf",110,1,5586,"0000000238 00000 n "+"Hello.pdf",111,1,5606,"0000001714 00000 n "+"Hello.pdf",112,1,5626,"0000000022 00000 n "+"Hello.pdf",113,1,5646,"0000000219 00000 n "+"Hello.pdf",114,1,5666,"0000000342 00000 n "+"Hello.pdf",115,1,5686,"0000001679 00000 n "+"Hello.pdf",116,1,5706,"0000001847 00000 n "+"Hello.pdf",117,1,5726,"0000000439 00000 n "+"Hello.pdf",118,1,5746,"0000001658 00000 n "+"Hello.pdf",119,1,5766,"0000001797 00000 n "+"Hello.pdf",120,1,5786,"0000002110 00000 n "+"Hello.pdf",121,1,5806,"0000002362 00000 n "+"Hello.pdf",122,1,5826,"0000005186 00000 n "+"Hello.pdf",123,1,5846,"0000005207 00000 n "+"Hello.pdf",124,1,5866,"0000005231 00000 n "+"Hello.pdf",125,1,5886,"0000005284 00000 n "+"Hello.pdf",126,1,5906,"0000005311 00000 n "+"Hello.pdf",127,1,5926,"0000005353 00000 n "+"Hello.pdf",128,1,5946,"0000005372 00000 n "+"Hello.pdf",129,1,5966,"trailer"+"Hello.pdf",130,1,5974,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,1,6052,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,1,6092,"startxref"+"Hello.pdf",133,1,6102,"5536"+"Hello.pdf",134,1,6107,"%%EOF"+"Hello.sh",1,1,0,"#!/bin/sh"+"Hello.sh",2,1,10,"echo ""Hello World!"""+"Hello.txt",1,1,0,"Hello"

tests/out/Hello_--csv-ounkb.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,1,0,"#!/bin/sh"+"Hello.bat",2,1,10,"echo ""Hello World!"""+"Hello.class",1,1,0,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,1,11,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,1,24,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,1,109,"SourceFile\x01\x00"+"Hello.class",5,1,122,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,1,345,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,1,392,"\x00\x00\x00"+"Hello.class",8,1,396,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,1,0,"import java.lang.*;"+"Hello.java",2,1,20,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,1,73,"{ public static void main(String[] arg)"+"Hello.java",4,1,113,"  { System.out.println(""Hello World!"");"+"Hello.java",5,1,153,"  }"+"Hello.java",6,1,157,"}"+"Hello.pdf",1,1,0,"%PDF-1.3"+"Hello.pdf",2,1,9,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,1,22,"4 0 obj"+"Hello.pdf",4,1,30,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,1,71,"stream"+"Hello.pdf",6,1,78,"x\x01EŽ»"+"Hello.pdf",7,1,84,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,1,138,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,1,202,"endstream"+"Hello.pdf",10,1,212,"endobj"+"Hello.pdf",11,1,219,"5 0 obj"+"Hello.pdf",12,1,227,"123"+"Hello.pdf",13,1,231,"endobj"+"Hello.pdf",14,1,238,"2 0 obj"+"Hello.pdf",15,1,246,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,1,332,">>"+"Hello.pdf",17,1,335,"endobj"+"Hello.pdf",18,1,342,"6 0 obj"+"Hello.pdf",19,1,350,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,1,426,">> >>"+"Hello.pdf",21,1,432,"endobj"+"Hello.pdf",22,1,439,"9 0 obj"+"Hello.pdf",23,1,447,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,1,517,"stream"+"Hello.pdf",25,1,524,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,1,606,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,1,1019,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,1,1223,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,1,1377,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,1,1604,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,1,1641,"endstream"+"Hello.pdf",32,1,1651,"endobj"+"Hello.pdf",33,1,1658,"10 0 obj"+"Hello.pdf",34,1,1667,"1116"+"Hello.pdf",35,1,1672,"endobj"+"Hello.pdf",36,1,1679,"7 0 obj"+"Hello.pdf",37,1,1687,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,1,1707,"endobj"+"Hello.pdf",39,1,1714,"3 0 obj"+"Hello.pdf",40,1,1722,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,1,1790,"endobj"+"Hello.pdf",42,1,1797,"11 0 obj"+"Hello.pdf",43,1,1806,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,1,1840,"endobj"+"Hello.pdf",45,1,1847,"8 0 obj"+"Hello.pdf",46,1,1855,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,1,1937,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,1,2014,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,1,2090,"0 0 602 ] >>"+"Hello.pdf",50,1,2103,"endobj"+"Hello.pdf",51,1,2110,"12 0 obj"+"Hello.pdf",52,1,2119,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,1,2196,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,1,2273,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,1,2352,">>"+"Hello.pdf",56,1,2355,"endobj"+"Hello.pdf",57,1,2362,"13 0 obj"+"Hello.pdf",58,1,2371,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,1,2427,"stream"+"Hello.pdf",60,1,2434,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,1,2511,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,1,2998,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,1,3045,"ïT`ŸÂÛ"+"Hello.pdf",64,1,3052,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,1,3143,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,1,3188,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,1,3303,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,1,3325,"TtÄý"+"Hello.pdf",69,1,3330,"å6üBa‰Â="+"Hello.pdf",70,1,3339,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,1,3385,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,1,3577,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,1,3683,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,1,3695,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,1,3822,"q©ˆu FÁ¦-"+"Hello.pdf",76,1,3833,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,1,3852,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,1,4532,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,1,5169,"endstream"+"Hello.pdf",80,1,5179,"endobj"+"Hello.pdf",81,1,5186,"14 0 obj"+"Hello.pdf",82,1,5195,"2734"+"Hello.pdf",83,1,5200,"endobj"+"Hello.pdf",84,1,5207,"15 0 obj"+"Hello.pdf",85,1,5216,"(Hello)"+"Hello.pdf",86,1,5224,"endobj"+"Hello.pdf",87,1,5231,"16 0 obj"+"Hello.pdf",88,1,5240,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,1,5277,"endobj"+"Hello.pdf",90,1,5284,"17 0 obj"+"Hello.pdf",91,1,5293,"(TextEdit)"+"Hello.pdf",92,1,5304,"endobj"+"Hello.pdf",93,1,5311,"18 0 obj"+"Hello.pdf",94,1,5320,"(D:20200124010711Z00'00')"+"Hello.pdf",95,1,5346,"endobj"+"Hello.pdf",96,1,5353,"19 0 obj"+"Hello.pdf",97,1,5362,"()"+"Hello.pdf",98,1,5365,"endobj"+"Hello.pdf",99,1,5372,"20 0 obj"+"Hello.pdf",100,1,5381,"[ ]"+"Hello.pdf",101,1,5385,"endobj"+"Hello.pdf",102,1,5392,"1 0 obj"+"Hello.pdf",103,1,5400,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,1,5480,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,1,5529,"endobj"+"Hello.pdf",106,1,5536,"xref"+"Hello.pdf",107,1,5541,"0 21"+"Hello.pdf",108,1,5546,"0000000000 65535 f "+"Hello.pdf",109,1,5566,"0000005392 00000 n "+"Hello.pdf",110,1,5586,"0000000238 00000 n "+"Hello.pdf",111,1,5606,"0000001714 00000 n "+"Hello.pdf",112,1,5626,"0000000022 00000 n "+"Hello.pdf",113,1,5646,"0000000219 00000 n "+"Hello.pdf",114,1,5666,"0000000342 00000 n "+"Hello.pdf",115,1,5686,"0000001679 00000 n "+"Hello.pdf",116,1,5706,"0000001847 00000 n "+"Hello.pdf",117,1,5726,"0000000439 00000 n "+"Hello.pdf",118,1,5746,"0000001658 00000 n "+"Hello.pdf",119,1,5766,"0000001797 00000 n "+"Hello.pdf",120,1,5786,"0000002110 00000 n "+"Hello.pdf",121,1,5806,"0000002362 00000 n "+"Hello.pdf",122,1,5826,"0000005186 00000 n "+"Hello.pdf",123,1,5846,"0000005207 00000 n "+"Hello.pdf",124,1,5866,"0000005231 00000 n "+"Hello.pdf",125,1,5886,"0000005284 00000 n "+"Hello.pdf",126,1,5906,"0000005311 00000 n "+"Hello.pdf",127,1,5926,"0000005353 00000 n "+"Hello.pdf",128,1,5946,"0000005372 00000 n "+"Hello.pdf",129,1,5966,"trailer"+"Hello.pdf",130,1,5974,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,1,6052,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,1,6092,"startxref"+"Hello.pdf",133,1,6102,"5536"+"Hello.pdf",134,1,6107,"%%EOF"+"Hello.sh",1,1,0,"#!/bin/sh"+"Hello.sh",2,1,10,"echo ""Hello World!"""+"Hello.txt",1,1,0,"Hello"

tests/out/Hello_--csv-unkb.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat",1,1,0,"#!/bin/sh"+"Hello.bat",2,1,10,"echo ""Hello World!"""+"Hello.class",1,1,0,"Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class",2,1,11,"\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class",3,1,24,"\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class",4,1,109,"SourceFile\x01\x00"+"Hello.class",5,1,122,"Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class",6,1,345,"\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class",7,1,392,"\x00\x00\x00"+"Hello.class",8,1,396,"\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java",1,1,0,"import java.lang.*;"+"Hello.java",2,1,20,"public class Hello // prints a Hello World! greeting"+"Hello.java",3,1,73,"{ public static void main(String[] arg)"+"Hello.java",4,1,113,"  { System.out.println(""Hello World!"");"+"Hello.java",5,1,153,"  }"+"Hello.java",6,1,157,"}"+"Hello.pdf",1,1,0,"%PDF-1.3"+"Hello.pdf",2,1,9,"%Äåòåë§ó ÐÄÆ"+"Hello.pdf",3,1,22,"4 0 obj"+"Hello.pdf",4,1,30,"<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf",5,1,71,"stream"+"Hello.pdf",6,1,78,"x\x01EŽ»"+"Hello.pdf",7,1,84,"\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf",8,1,138,"Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf",9,1,202,"endstream"+"Hello.pdf",10,1,212,"endobj"+"Hello.pdf",11,1,219,"5 0 obj"+"Hello.pdf",12,1,227,"123"+"Hello.pdf",13,1,231,"endobj"+"Hello.pdf",14,1,238,"2 0 obj"+"Hello.pdf",15,1,246,"<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",16,1,332,">>"+"Hello.pdf",17,1,335,"endobj"+"Hello.pdf",18,1,342,"6 0 obj"+"Hello.pdf",19,1,350,"<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",20,1,426,">> >>"+"Hello.pdf",21,1,432,"endobj"+"Hello.pdf",22,1,439,"9 0 obj"+"Hello.pdf",23,1,447,"<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf",24,1,517,"stream"+"Hello.pdf",25,1,524,"x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf",26,1,606,"\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf",27,1,1019,"ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf",28,1,1223,"¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf",29,1,1377,"K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf",30,1,1604,"Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf",31,1,1641,"endstream"+"Hello.pdf",32,1,1651,"endobj"+"Hello.pdf",33,1,1658,"10 0 obj"+"Hello.pdf",34,1,1667,"1116"+"Hello.pdf",35,1,1672,"endobj"+"Hello.pdf",36,1,1679,"7 0 obj"+"Hello.pdf",37,1,1687,"[ /ICCBased 9 0 R ]"+"Hello.pdf",38,1,1707,"endobj"+"Hello.pdf",39,1,1714,"3 0 obj"+"Hello.pdf",40,1,1722,"<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf",41,1,1790,"endobj"+"Hello.pdf",42,1,1797,"11 0 obj"+"Hello.pdf",43,1,1806,"<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf",44,1,1840,"endobj"+"Hello.pdf",45,1,1847,"8 0 obj"+"Hello.pdf",46,1,1855,"<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf",47,1,1937,"12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf",48,1,2014,"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf",49,1,2090,"0 0 602 ] >>"+"Hello.pdf",50,1,2103,"endobj"+"Hello.pdf",51,1,2110,"12 0 obj"+"Hello.pdf",52,1,2119,"<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf",53,1,2196,"[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf",54,1,2273,"/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",55,1,2352,">>"+"Hello.pdf",56,1,2355,"endobj"+"Hello.pdf",57,1,2362,"13 0 obj"+"Hello.pdf",58,1,2371,"<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf",59,1,2427,"stream"+"Hello.pdf",60,1,2434,"x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf",61,1,2511,"ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",62,1,2998,">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf",63,1,3045,"ïT`ŸÂÛ"+"Hello.pdf",64,1,3052,"VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf",65,1,3143,"¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf",66,1,3188,"ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf",67,1,3303,"Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf",68,1,3325,"TtÄý"+"Hello.pdf",69,1,3330,"å6üBa‰Â="+"Hello.pdf",70,1,3339,"‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf",71,1,3385,"wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf",72,1,3577,"ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf",73,1,3683,"Ý\x14º*t±Ã—:Lú"+"Hello.pdf",74,1,3695,"p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf",75,1,3822,"q©ˆu FÁ¦-"+"Hello.pdf",76,1,3833,"Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf",77,1,3852,"W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf",78,1,4532,"—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf",79,1,5169,"endstream"+"Hello.pdf",80,1,5179,"endobj"+"Hello.pdf",81,1,5186,"14 0 obj"+"Hello.pdf",82,1,5195,"2734"+"Hello.pdf",83,1,5200,"endobj"+"Hello.pdf",84,1,5207,"15 0 obj"+"Hello.pdf",85,1,5216,"(Hello)"+"Hello.pdf",86,1,5224,"endobj"+"Hello.pdf",87,1,5231,"16 0 obj"+"Hello.pdf",88,1,5240,"(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf",89,1,5277,"endobj"+"Hello.pdf",90,1,5284,"17 0 obj"+"Hello.pdf",91,1,5293,"(TextEdit)"+"Hello.pdf",92,1,5304,"endobj"+"Hello.pdf",93,1,5311,"18 0 obj"+"Hello.pdf",94,1,5320,"(D:20200124010711Z00'00')"+"Hello.pdf",95,1,5346,"endobj"+"Hello.pdf",96,1,5353,"19 0 obj"+"Hello.pdf",97,1,5362,"()"+"Hello.pdf",98,1,5365,"endobj"+"Hello.pdf",99,1,5372,"20 0 obj"+"Hello.pdf",100,1,5381,"[ ]"+"Hello.pdf",101,1,5385,"endobj"+"Hello.pdf",102,1,5392,"1 0 obj"+"Hello.pdf",103,1,5400,"<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf",104,1,5480,"18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf",105,1,5529,"endobj"+"Hello.pdf",106,1,5536,"xref"+"Hello.pdf",107,1,5541,"0 21"+"Hello.pdf",108,1,5546,"0000000000 65535 f "+"Hello.pdf",109,1,5566,"0000005392 00000 n "+"Hello.pdf",110,1,5586,"0000000238 00000 n "+"Hello.pdf",111,1,5606,"0000001714 00000 n "+"Hello.pdf",112,1,5626,"0000000022 00000 n "+"Hello.pdf",113,1,5646,"0000000219 00000 n "+"Hello.pdf",114,1,5666,"0000000342 00000 n "+"Hello.pdf",115,1,5686,"0000001679 00000 n "+"Hello.pdf",116,1,5706,"0000001847 00000 n "+"Hello.pdf",117,1,5726,"0000000439 00000 n "+"Hello.pdf",118,1,5746,"0000001658 00000 n "+"Hello.pdf",119,1,5766,"0000001797 00000 n "+"Hello.pdf",120,1,5786,"0000002110 00000 n "+"Hello.pdf",121,1,5806,"0000002362 00000 n "+"Hello.pdf",122,1,5826,"0000005186 00000 n "+"Hello.pdf",123,1,5846,"0000005207 00000 n "+"Hello.pdf",124,1,5866,"0000005231 00000 n "+"Hello.pdf",125,1,5886,"0000005284 00000 n "+"Hello.pdf",126,1,5906,"0000005311 00000 n "+"Hello.pdf",127,1,5926,"0000005353 00000 n "+"Hello.pdf",128,1,5946,"0000005372 00000 n "+"Hello.pdf",129,1,5966,"trailer"+"Hello.pdf",130,1,5974,"<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf",131,1,6052,"<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf",132,1,6092,"startxref"+"Hello.pdf",133,1,6102,"5536"+"Hello.pdf",134,1,6107,"%%EOF"+"Hello.sh",1,1,0,"#!/bin/sh"+"Hello.sh",2,1,10,"echo ""Hello World!"""+"Hello.txt",1,1,0,"Hello"

tests/out/Hello_--csv.out

new file mode 100644@@ -0,0 +1,153 @@+"Hello.bat","#!/bin/sh"+"Hello.bat","echo ""Hello World!"""+"Hello.class","Êþº¾\x00\x00\x004\x00\x1d"+"Hello.class","\x00\x06\x00\x0f	\x00\x10\x00\x11\b\x00\x12"+"Hello.class","\x00\x13\x00\x14\x07\x00\x15\x07\x00\x16\x01\x00\x06<init>\x01\x00\x03()V\x01\x00\x04Code\x01\x00\x0fLineNumberTable\x01\x00\x04main\x01\x00\x16([Ljava/lang/String;)V\x01\x00"+"Hello.class","SourceFile\x01\x00"+"Hello.class","Hello.java\f\x00\x07\x00\b\x07\x00\x17\f\x00\x18\x00\x19\x01\x00\fHello World!\x07\x00\x1a\f\x00\x1b\x00\x1c\x01\x00\x05Hello\x01\x00\x10java/lang/Object\x01\x00\x10java/lang/System\x01\x00\x03out\x01\x00\x15Ljava/io/PrintStream;\x01\x00\x13java/io/PrintStream\x01\x00\x07println\x01\x00\x15(Ljava/lang/String;)V\x00!\x00\x05\x00\x06\x00\x00\x00\x00\x00\x02\x00\x01\x00\x07\x00\b\x00\x01\x00	\x00\x00\x00\x1d\x00\x01\x00\x01\x00\x00\x00\x05*·\x00\x01±\x00\x00\x00\x01\x00"+"Hello.class","\x00\x00\x00\x06\x00\x01\x00\x00\x00\x02\x00	\x00\x0b\x00\f\x00\x01\x00	\x00\x00\x00%\x00\x02\x00\x01\x00\x00\x00	²\x00\x02\x12\x03¶\x00\x04±\x00\x00\x00\x01\x00"+"Hello.class","\x00\x00\x00"+"Hello.class","\x00\x02\x00\x00\x00\x04\x00\b\x00\x05\x00\x01\x00\r\x00\x00\x00\x02\x00\x0e"+"Hello.java","import java.lang.*;"+"Hello.java","public class Hello // prints a Hello World! greeting"+"Hello.java","{ public static void main(String[] arg)"+"Hello.java","  { System.out.println(""Hello World!"");"+"Hello.java","  }"+"Hello.java","}"+"Hello.pdf","%PDF-1.3"+"Hello.pdf","%Äåòåë§ó ÐÄÆ"+"Hello.pdf","4 0 obj"+"Hello.pdf","<< /Length 5 0 R /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01EŽ»"+"Hello.pdf","\x021\x14D{¿â”Z˜½‰y˜V\x11l\x17.ø\x01a-d×eÍÿƒ\x17,¬†™9\f³1²Q\x02¹F—â©\x12ó™�\\LY"+"Hello.pdf","Ÿ‰\x07o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\x0bº0¨z¬|²¿Oó¼\x1eÐ\x177µ7ã\x17Nÿ ¥"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","5 0 obj"+"Hello.pdf","123"+"Hello.pdf","endobj"+"Hello.pdf","2 0 obj"+"Hello.pdf","<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]"+"Hello.pdf",">>"+"Hello.pdf","endobj"+"Hello.pdf","6 0 obj"+"Hello.pdf","<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R"+"Hello.pdf",">> >>"+"Hello.pdf","endobj"+"Hello.pdf","9 0 obj"+"Hello.pdf","<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01…U]h\x1cU\x14>»sg\x03\x12\x07\x1f´\r-´ƒ?m	é2‰V\x13‹µÛMºI\x13·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\x16\x04é« >Æ‚\b¶*6/ö¥¥Å’J5\x0f"+"Hello.pdf","\x11ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥	ÆŽë˜üo\x1eÞ¥\x14Kîìg[íc[öäª\x19\x18к†æV\x03cŽ(¥\x11ej†ç‡D]— \x1f<\x1bzŒo\x03?9[)ç�×€•Ö\\@zª`:¦o\x19jÁ×\x17Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\x0ef'Çñï…Ï\x17Lgj\x12x\x1fð’¡�0î\x03¾Û´N\x14cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\x12¥—\x16ë•7€Ÿ\x00^uN\x17�·ô×gÝq¶ÓC$õ\x18Aþ\x14ð³ÀZÝ\x1cã<©À\x15ß-³>Ëê9<\x02ü2ð%+\x1c«\x00þôCМd9° ÅzžýÄZ""{F?V\x02Þ\x06|È´\x0b¼\x16숊\x17–Øæ ð¼c\x17y-Ä..›A\x14/b\x17?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\x1e­û£,‡?rèÙÑÞz\x11xÉo”9ö=Àkº?R\x00†ÍÌcU}˜y~\x01x€N¤t2É¥Óø\x1aäпˆ7 ‹š\x11òÈÇX\r}›"+"Hello.pdf","ÐpÐ|ô\fh\x15€tZ\x00*%´LôX'ž£R\x15=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_""É<ýJsèç!m`l¦Ãn\x1e^8´\b\x0fØ\x13¶ù eÓ\x15Û…&žG;(&Ä+bP\f‘*^\x15‡Å!1\fé�8\x18͉½OúÎ~>ذô.ÖMú¾\f\x0eB¬gÃ3\x07¬p4\x01<ø\x07ëÎFš	¶.îhìó¼�Þ?ï¿c\x19·>ø³�½\x00ú1'¿Á¢\x0bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò"+"Hello.pdf","¾÷äÕ¤\rùgy\x15ï½¶\\=Ê\x0bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\x1bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË	óÃ<·±Rs.îð¼·?c6Í÷Š\x0f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\x1fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\x1b»\x07~Æ{Öhí0f†³\x14\x10óÂÚÌ"+"Hello.pdf","K\x1fñw\x06c›ù3¡Õ^\x03�»c-刲SyF\x19Vv+Ï)\x13J¯r@9¬lW\x06Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\x1dï¦_\\ÃÖ†5ØI=\x0ežÙÚ¦\x0e¯\x11W¿\x15Uc¼;]œ\x06:M!b‹Î""r\x1f:œ\x1f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\x13\x07P…ãmõ8ÈUš\x19É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\x12Þ3Ë1ÿ›5Äg\x18ï\x1dæ¨	l£‡[+4çqß\x11å]oÁ·fê¡: i/©9\\¯¦:æ\x18Ù>U·m5\x1a"+"Hello.pdf","Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","10 0 obj"+"Hello.pdf","1116"+"Hello.pdf","endobj"+"Hello.pdf","7 0 obj"+"Hello.pdf","[ /ICCBased 9 0 R ]"+"Hello.pdf","endobj"+"Hello.pdf","3 0 obj"+"Hello.pdf","<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>"+"Hello.pdf","endobj"+"Hello.pdf","11 0 obj"+"Hello.pdf","<< /Type /Catalog /Pages 3 0 R >>"+"Hello.pdf","endobj"+"Hello.pdf","8 0 obj"+"Hello.pdf","<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor"+"Hello.pdf","12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602"+"Hello.pdf","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602"+"Hello.pdf","0 0 602 ] >>"+"Hello.pdf","endobj"+"Hello.pdf","12 0 obj"+"Hello.pdf","<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox"+"Hello.pdf","[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729"+"Hello.pdf","/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R"+"Hello.pdf",">>"+"Hello.pdf","endobj"+"Hello.pdf","13 0 obj"+"Hello.pdf","<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>"+"Hello.pdf","stream"+"Hello.pdf","x\x01ÝW{xTÅ\x15?sw6¯Í>’MHH€]Öå•,�„·R\x16Hxˆ /ë.ˆòH (!\bA´1�JQ	Á@…\bH}\x15Q©µ+E]	ÄT¤b#E„ \x02"+"Hello.pdf","ø¢hŠ\x14!Ø\x00CϽ\x1bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\x05d6ëI\x1eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\x16}x¼®¸¤Œí\x18Íú.\x13×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\x05\x0b‹ÚôE�(¦St®�\x1a–\x05w©Y)‹î""\x0biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\x06s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\x07""ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™""…j	L+I\x17.RÌ'›4‰\x03‚pš¼Ã¤vÚĈÍä\x13·=R\x0eõ‰Dª`ÌJ>¦	”Ë4Þ´\x17gjÅ’�‘\x18“·˜:Òäu\x13‡‰h&""\x02!\x05¥pµ\x02W\x14.+´æâŸuø®\x02—Zªå%…K\rzËÅ�l©FK¥~ñB\x17y1„‹\x01ýB\x17|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\x18¸¦=\x12_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\x13…�\x15Ž\x1fK‘Ç\x15Ž¥àh->ú0E~¤ðáê\x04ùa"+"Hello.pdf",">¨À‘Ahb¡i\x10\x0e+\x1cz?^\x1eRx?\x1e\x07\x15ÞS8På”\x072ñ×TìWx·\x16�«|²Qá/"+"Hello.pdf","ïT`ŸÂÛ"+"Hello.pdf","VØ»)Q¾¥°GáM…?)4°½\x06\x17Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\x02z�\x0f;\x15^¯E¤f¨|MáU\x1e^mÅ+lk‡Â\x1f\x0b±½\x10/Û\x10NÂ\x1f\x14^R�«ø½Â‹"+"Hello.pdf","¿KÂ6…\x17ž·É\x17rñ¼\rÏmuÊçºa«\x13ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§"+"Hello.pdf","ñä\x13\x0eùd:žpà7ñجð8;y\\aS""6nè)7*lè‰ÇØÿcµ¨]_'k\x15Öó³µ¾\x0eë+õuk|rÝ4¬\x0bè�*üZa-Ëkë°Æ‡\x1a.FÍP<ÂÙ>âÂê\x04T3P]ˆU\\´U>T9±Ráa…‡\x14\x1e\\á”\x0f*¬pâW"+"Hello.pdf","Ë\x15\x1ep\x0e“\x0fLÂ/\x15*ïŲ¥\x15r™ÂÒ"+"Hello.pdf","TtÄý"+"Hello.pdf","å6üBa‰Â="+"Hello.pdf","‹Ë¬r±\x1d‹#‚\x02Gõ2+Ê\x1aôEIX\x14Ð\x17*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y"+"Hello.pdf","wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\x1crfGÌP˜®p‡ÂíS\x12äí6L+Ämû0•…©.LI\x00?ÑA\x17nUø¹Â-\x19éò–\\LV˜¤0QaB\x05Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\x1ež$G§aTAš\x1c¥0’¥‘…\x18ÁÒˆ:\x14¤!Ÿ�üþ\x18>Ì)‡'axD\x0b\x04âôaCír˜\x13Ã""\x1a±44`“Cí\x18\x1a\x11\r,\x05†XeÀ†@DT²4Ä\x1a'‡X1$""\x02�Býg"+"Hello.pdf","ƒ9„Á­¸Aáún\x18¤0�\x0b<°\x10\x03z·—\x03Æ ¿B?¿KöSè;\x06}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\x1düÙÉÒï‚?¢\x19n³\x1dN™�Œl#ÜZ=«‡Of)ô`Í\x1e>t×\x06Éî"+"Hello.pdf","Ý\x14º*t±Ã—:Lú"+"Hello.pdf","p�\x1d^…Îv»ì¬àqû¥§\x02n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\x0bíF 5Å/S‡!Åå�)~¸\x1cHf½d\x17’x}’‚“3w\x0eƒƒ=8œpDkg·Y¥Ý\x0e{´v¶Äxi³Â\x16­]""×.1\x1e‰\\»\x1dº5\x0eVãÙê¯'(Äs&ñ"+"Hello.pdf","q©ˆu FÁ¦-"+"Hello.pdf","Ò\x05prh…Æ€6\b‚\x03\x10~�\x03"""""+"Hello.pdf","W¬\x16Yÿ?�þÇSáOg„\x1a;M¬åÑØGDè!m\x19¥¿¿""´‡u4S/""\x1aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\x1bÔ=ŒÖÐfsu\rNÓbì¢Cô\x0e\x1dcî´\x18\b^+\x0e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm""[Þ¯\x1fdt?=Ä×£´…J™72XÎñL;h\x15] \rÚ\x19šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\x07g@4“6Ë&¹Á¨\x07�Mò\x1cÏ\x10u°D,®\x18/gaÔn«Ø%zkãè\x10¯/§É¸\rwã˜X¡{õ%8C5\x1aa:ÝI\x07d“ÅE51^ª±Ì\x16÷éÓÍ«œ­•kKôéb\x1b�a›3ñ\x1dË\x1eŽl³™1Ñ\x0em¢\x1c'Çqγ\x19ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\x1cm\x0bW³\x14ùÔŸ}t�gi…ØÁqSL\x05-’M¼U$êAôZŒEêü÷¦l·#¬ùF\x17†\x03\x13‚î}!�?û'¢Û\x11ã\x0eÓøpâ}îȵkãƒz†\f…ef\x18¾Ø°îóžúO“§üÙcÆ\x07Ý\x11Ñ® ¿ÍlÁô|\x06'\x05Ù\x03ÿ\f˜Ý\x150\x16\x05F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\x19\x1f|YˆGB\x11qmE„ò;¼Î»HÜq;OÇe»Ý\x05sóÃb:\x0bñÙ\fôð0—�í\x1eÁaŽ˜\x18ô†ÜUîªÑ…Uî\x11îâ\x19…\x1c·9òDQU(‡3˜\x14œËtrÐ\x13\x0e„2~`‹B!ûհÃKX½*Ä\x16îl³À£	å\\e¥Äì1î0ºŒ\x0fN\b†+ó3Â�üP†Çã.\b7Œ\x0f†\x1bò3<¡\x10kÙ~ˆ”#®˜›Ö\x16³�c¶õàyGÔ"+"Hello.pdf","—(�\x11¦PU•asRÐë	WVUeTq\x1emr„\x1a~\x02\bú)\x10h\x03""dØàJ\x14ð÷`<\x1bãÁëÉ0\x00¯Çëá8CùìÛiÜš\x02ŽÔ\x13òónœŠ¹¯ä^ÎýœÁó³\x18Ýçóù‚Ï\x00SX\x1eEÝþm¿ÎðÙ´\x1féÁ”t“vágw;�\x14™ü¯/Vµz±Ü§ª\x18ê´ËÜó\x13Y„ëU\x11+—k:å¼u¸¹79\x0e7\x1fnî•ìô8}\x1e§§X§+‹�qå\x0bU\x1bcûîüBKwì0rÐGñ¿ �n6N\x15|osøÖq·:øXô\x1ewæÅqÆX–<êÜc\x18\x17,ǽÇo\x0bCAçná\x1eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\x04;\x19t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\x0e†\x17‘âI±¤æåöëŸb\x13^79\x1d”—›\x14ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\x1d¹\x14¶®}xÅ‹±Zõ\x14Ë\x17û\x06\f|-+K\f\x14ÉÂ*\x02ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\x11Q""ÅG#q¥^/R¼�»ôuzúz´\x03SC\x1fœyö\x15õ‘8!Öß¿ôñCoââ\x1a£æ\x1a­äœGqÎ	ÔŽ¼�dKu\x12U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì	>:Fu,Æ\x0brä„Éc§ŒÈ\x1a[4^©bÑœÅóf,$ú\x17 -\x06ä"+"Hello.pdf","endstream"+"Hello.pdf","endobj"+"Hello.pdf","14 0 obj"+"Hello.pdf","2734"+"Hello.pdf","endobj"+"Hello.pdf","15 0 obj"+"Hello.pdf","(Hello)"+"Hello.pdf","endobj"+"Hello.pdf","16 0 obj"+"Hello.pdf","(Mac OS X 10.12.6 Quartz PDFContext)"+"Hello.pdf","endobj"+"Hello.pdf","17 0 obj"+"Hello.pdf","(TextEdit)"+"Hello.pdf","endobj"+"Hello.pdf","18 0 obj"+"Hello.pdf","(D:20200124010711Z00'00')"+"Hello.pdf","endobj"+"Hello.pdf","19 0 obj"+"Hello.pdf","()"+"Hello.pdf","endobj"+"Hello.pdf","20 0 obj"+"Hello.pdf","[ ]"+"Hello.pdf","endobj"+"Hello.pdf","1 0 obj"+"Hello.pdf","<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate"+"Hello.pdf","18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>"+"Hello.pdf","endobj"+"Hello.pdf","xref"+"Hello.pdf","0 21"+"Hello.pdf","0000000000 65535 f "+"Hello.pdf","0000005392 00000 n "+"Hello.pdf","0000000238 00000 n "+"Hello.pdf","0000001714 00000 n "+"Hello.pdf","0000000022 00000 n "+"Hello.pdf","0000000219 00000 n "+"Hello.pdf","0000000342 00000 n "+"Hello.pdf","0000001679 00000 n "+"Hello.pdf","0000001847 00000 n "+"Hello.pdf","0000000439 00000 n "+"Hello.pdf","0000001658 00000 n "+"Hello.pdf","0000001797 00000 n "+"Hello.pdf","0000002110 00000 n "+"Hello.pdf","0000002362 00000 n "+"Hello.pdf","0000005186 00000 n "+"Hello.pdf","0000005207 00000 n "+"Hello.pdf","0000005231 00000 n "+"Hello.pdf","0000005284 00000 n "+"Hello.pdf","0000005311 00000 n "+"Hello.pdf","0000005353 00000 n "+"Hello.pdf","0000005372 00000 n "+"Hello.pdf","trailer"+"Hello.pdf","<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>"+"Hello.pdf","<8db88d3335070bd9583341583cf769a3> ] >>"+"Hello.pdf","startxref"+"Hello.pdf","5536"+"Hello.pdf","%%EOF"+"Hello.sh","#!/bin/sh"+"Hello.sh","echo ""Hello World!"""+"Hello.txt","Hello"

tests/out/Hello_--json-c.out

new file mode 100644@@ -0,0 +1,38 @@+[+  {+    "file": "Hello.bat",+    "matches": [,+      { "match": 2 }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [,+      { "match": 8 }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [,+      { "match": 6 }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [,+      { "match": 134 }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [,+      { "match": 2 }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": 1 }+    ]+  }+]

tests/out/Hello_--json-co.out

new file mode 100644@@ -0,0 +1,38 @@+[+  {+    "file": "Hello.bat",+    "matches": [,+      { "match": 2 }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [,+      { "match": 8 }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [,+      { "match": 6 }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [,+      { "match": 134 }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [,+      { "match": 2 }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": 1 }+    ]+  }+]

tests/out/Hello_--json-cv.out

new file mode 100644@@ -0,0 +1,38 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "match": 0 }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "match": 0 }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "match": 0 }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "match": 0 }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "match": 0 }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": 0 }+    ]+  }+]

tests/out/Hello_--json-l.out

new file mode 100644@@ -0,0 +1,38 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "match": true }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "match": true }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "match": true }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "match": true }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "match": true }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": true }+    ]+  }+]

tests/out/Hello_--json-lv.out

new file mode 100644@@ -0,0 +1,2 @@+[+]

tests/out/Hello_--json-n.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "match": "#!/bin/sh" },+      { "line": 2, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "match": "\u0000\u0000\u0000" },+      { "line": 8, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "match": "import java.lang.*;" },+      { "line": 2, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "match": "  }" },+      { "line": 6, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "match": "%PDF-1.3" },+      { "line": 2, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "match": "4 0 obj" },+      { "line": 4, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "match": "stream" },+      { "line": 6, "match": "x\u0001EŽ»" },+      { "line": 7, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "match": "endstream" },+      { "line": 10, "match": "endobj" },+      { "line": 11, "match": "5 0 obj" },+      { "line": 12, "match": "123" },+      { "line": 13, "match": "endobj" },+      { "line": 14, "match": "2 0 obj" },+      { "line": 15, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "match": ">>" },+      { "line": 17, "match": "endobj" },+      { "line": 18, "match": "6 0 obj" },+      { "line": 19, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "match": ">> >>" },+      { "line": 21, "match": "endobj" },+      { "line": 22, "match": "9 0 obj" },+      { "line": 23, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "match": "stream" },+      { "line": 25, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "match": "endstream" },+      { "line": 32, "match": "endobj" },+      { "line": 33, "match": "10 0 obj" },+      { "line": 34, "match": "1116" },+      { "line": 35, "match": "endobj" },+      { "line": 36, "match": "7 0 obj" },+      { "line": 37, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "match": "endobj" },+      { "line": 39, "match": "3 0 obj" },+      { "line": 40, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "match": "endobj" },+      { "line": 42, "match": "11 0 obj" },+      { "line": 43, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "match": "endobj" },+      { "line": 45, "match": "8 0 obj" },+      { "line": 46, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "match": "0 0 602 ] >>" },+      { "line": 50, "match": "endobj" },+      { "line": 51, "match": "12 0 obj" },+      { "line": 52, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "match": ">>" },+      { "line": 56, "match": "endobj" },+      { "line": 57, "match": "13 0 obj" },+      { "line": 58, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "match": "stream" },+      { "line": 60, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "match": "ïT`ŸÂÛ" },+      { "line": 64, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "match": "TtÄý" },+      { "line": 69, "match": "å6üBa‰Â=" },+      { "line": 70, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "match": "endstream" },+      { "line": 80, "match": "endobj" },+      { "line": 81, "match": "14 0 obj" },+      { "line": 82, "match": "2734" },+      { "line": 83, "match": "endobj" },+      { "line": 84, "match": "15 0 obj" },+      { "line": 85, "match": "(Hello)" },+      { "line": 86, "match": "endobj" },+      { "line": 87, "match": "16 0 obj" },+      { "line": 88, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "match": "endobj" },+      { "line": 90, "match": "17 0 obj" },+      { "line": 91, "match": "(TextEdit)" },+      { "line": 92, "match": "endobj" },+      { "line": 93, "match": "18 0 obj" },+      { "line": 94, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "match": "endobj" },+      { "line": 96, "match": "19 0 obj" },+      { "line": 97, "match": "()" },+      { "line": 98, "match": "endobj" },+      { "line": 99, "match": "20 0 obj" },+      { "line": 100, "match": "[ ]" },+      { "line": 101, "match": "endobj" },+      { "line": 102, "match": "1 0 obj" },+      { "line": 103, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "match": "endobj" },+      { "line": 106, "match": "xref" },+      { "line": 107, "match": "0 21" },+      { "line": 108, "match": "0000000000 65535 f " },+      { "line": 109, "match": "0000005392 00000 n " },+      { "line": 110, "match": "0000000238 00000 n " },+      { "line": 111, "match": "0000001714 00000 n " },+      { "line": 112, "match": "0000000022 00000 n " },+      { "line": 113, "match": "0000000219 00000 n " },+      { "line": 114, "match": "0000000342 00000 n " },+      { "line": 115, "match": "0000001679 00000 n " },+      { "line": 116, "match": "0000001847 00000 n " },+      { "line": 117, "match": "0000000439 00000 n " },+      { "line": 118, "match": "0000001658 00000 n " },+      { "line": 119, "match": "0000001797 00000 n " },+      { "line": 120, "match": "0000002110 00000 n " },+      { "line": 121, "match": "0000002362 00000 n " },+      { "line": 122, "match": "0000005186 00000 n " },+      { "line": 123, "match": "0000005207 00000 n " },+      { "line": 124, "match": "0000005231 00000 n " },+      { "line": 125, "match": "0000005284 00000 n " },+      { "line": 126, "match": "0000005311 00000 n " },+      { "line": 127, "match": "0000005353 00000 n " },+      { "line": 128, "match": "0000005372 00000 n " },+      { "line": 129, "match": "trailer" },+      { "line": 130, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "match": "startxref" },+      { "line": 133, "match": "5536" },+      { "line": 134, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "match": "#!/bin/sh" },+      { "line": 2, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-nkb.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "column": 1, "offset": 11, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "column": 1, "offset": 24, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "column": 1, "offset": 109, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "column": 1, "offset": 122, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "column": 1, "offset": 345, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "column": 1, "offset": 392, "match": "\u0000\u0000\u0000" },+      { "line": 8, "column": 1, "offset": 396, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "import java.lang.*;" },+      { "line": 2, "column": 1, "offset": 20, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "column": 1, "offset": 73, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "column": 1, "offset": 113, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "column": 1, "offset": 153, "match": "  }" },+      { "line": 6, "column": 1, "offset": 157, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "%PDF-1.3" },+      { "line": 2, "column": 1, "offset": 9, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "column": 1, "offset": 22, "match": "4 0 obj" },+      { "line": 4, "column": 1, "offset": 30, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "column": 1, "offset": 71, "match": "stream" },+      { "line": 6, "column": 1, "offset": 78, "match": "x\u0001EŽ»" },+      { "line": 7, "column": 1, "offset": 84, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "column": 1, "offset": 138, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "column": 1, "offset": 202, "match": "endstream" },+      { "line": 10, "column": 1, "offset": 212, "match": "endobj" },+      { "line": 11, "column": 1, "offset": 219, "match": "5 0 obj" },+      { "line": 12, "column": 1, "offset": 227, "match": "123" },+      { "line": 13, "column": 1, "offset": 231, "match": "endobj" },+      { "line": 14, "column": 1, "offset": 238, "match": "2 0 obj" },+      { "line": 15, "column": 1, "offset": 246, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "column": 1, "offset": 332, "match": ">>" },+      { "line": 17, "column": 1, "offset": 335, "match": "endobj" },+      { "line": 18, "column": 1, "offset": 342, "match": "6 0 obj" },+      { "line": 19, "column": 1, "offset": 350, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "column": 1, "offset": 426, "match": ">> >>" },+      { "line": 21, "column": 1, "offset": 432, "match": "endobj" },+      { "line": 22, "column": 1, "offset": 439, "match": "9 0 obj" },+      { "line": 23, "column": 1, "offset": 447, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "column": 1, "offset": 517, "match": "stream" },+      { "line": 25, "column": 1, "offset": 524, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "column": 1, "offset": 606, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "column": 1, "offset": 1019, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "column": 1, "offset": 1223, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "column": 1, "offset": 1377, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "column": 1, "offset": 1604, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "column": 1, "offset": 1641, "match": "endstream" },+      { "line": 32, "column": 1, "offset": 1651, "match": "endobj" },+      { "line": 33, "column": 1, "offset": 1658, "match": "10 0 obj" },+      { "line": 34, "column": 1, "offset": 1667, "match": "1116" },+      { "line": 35, "column": 1, "offset": 1672, "match": "endobj" },+      { "line": 36, "column": 1, "offset": 1679, "match": "7 0 obj" },+      { "line": 37, "column": 1, "offset": 1687, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "column": 1, "offset": 1707, "match": "endobj" },+      { "line": 39, "column": 1, "offset": 1714, "match": "3 0 obj" },+      { "line": 40, "column": 1, "offset": 1722, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "column": 1, "offset": 1790, "match": "endobj" },+      { "line": 42, "column": 1, "offset": 1797, "match": "11 0 obj" },+      { "line": 43, "column": 1, "offset": 1806, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "column": 1, "offset": 1840, "match": "endobj" },+      { "line": 45, "column": 1, "offset": 1847, "match": "8 0 obj" },+      { "line": 46, "column": 1, "offset": 1855, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "column": 1, "offset": 1937, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "column": 1, "offset": 2014, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "column": 1, "offset": 2090, "match": "0 0 602 ] >>" },+      { "line": 50, "column": 1, "offset": 2103, "match": "endobj" },+      { "line": 51, "column": 1, "offset": 2110, "match": "12 0 obj" },+      { "line": 52, "column": 1, "offset": 2119, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "column": 1, "offset": 2196, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "column": 1, "offset": 2273, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "column": 1, "offset": 2352, "match": ">>" },+      { "line": 56, "column": 1, "offset": 2355, "match": "endobj" },+      { "line": 57, "column": 1, "offset": 2362, "match": "13 0 obj" },+      { "line": 58, "column": 1, "offset": 2371, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "column": 1, "offset": 2427, "match": "stream" },+      { "line": 60, "column": 1, "offset": 2434, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "column": 1, "offset": 2511, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "column": 1, "offset": 2998, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "column": 1, "offset": 3045, "match": "ïT`ŸÂÛ" },+      { "line": 64, "column": 1, "offset": 3052, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "column": 1, "offset": 3143, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "column": 1, "offset": 3188, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "column": 1, "offset": 3303, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "column": 1, "offset": 3325, "match": "TtÄý" },+      { "line": 69, "column": 1, "offset": 3330, "match": "å6üBa‰Â=" },+      { "line": 70, "column": 1, "offset": 3339, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "column": 1, "offset": 3385, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "column": 1, "offset": 3577, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "column": 1, "offset": 3683, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "column": 1, "offset": 3695, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "column": 1, "offset": 3822, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "column": 1, "offset": 3833, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "column": 1, "offset": 3852, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "column": 1, "offset": 4532, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "column": 1, "offset": 5169, "match": "endstream" },+      { "line": 80, "column": 1, "offset": 5179, "match": "endobj" },+      { "line": 81, "column": 1, "offset": 5186, "match": "14 0 obj" },+      { "line": 82, "column": 1, "offset": 5195, "match": "2734" },+      { "line": 83, "column": 1, "offset": 5200, "match": "endobj" },+      { "line": 84, "column": 1, "offset": 5207, "match": "15 0 obj" },+      { "line": 85, "column": 1, "offset": 5216, "match": "(Hello)" },+      { "line": 86, "column": 1, "offset": 5224, "match": "endobj" },+      { "line": 87, "column": 1, "offset": 5231, "match": "16 0 obj" },+      { "line": 88, "column": 1, "offset": 5240, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "column": 1, "offset": 5277, "match": "endobj" },+      { "line": 90, "column": 1, "offset": 5284, "match": "17 0 obj" },+      { "line": 91, "column": 1, "offset": 5293, "match": "(TextEdit)" },+      { "line": 92, "column": 1, "offset": 5304, "match": "endobj" },+      { "line": 93, "column": 1, "offset": 5311, "match": "18 0 obj" },+      { "line": 94, "column": 1, "offset": 5320, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "column": 1, "offset": 5346, "match": "endobj" },+      { "line": 96, "column": 1, "offset": 5353, "match": "19 0 obj" },+      { "line": 97, "column": 1, "offset": 5362, "match": "()" },+      { "line": 98, "column": 1, "offset": 5365, "match": "endobj" },+      { "line": 99, "column": 1, "offset": 5372, "match": "20 0 obj" },+      { "line": 100, "column": 1, "offset": 5381, "match": "[ ]" },+      { "line": 101, "column": 1, "offset": 5385, "match": "endobj" },+      { "line": 102, "column": 1, "offset": 5392, "match": "1 0 obj" },+      { "line": 103, "column": 1, "offset": 5400, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "column": 1, "offset": 5480, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "column": 1, "offset": 5529, "match": "endobj" },+      { "line": 106, "column": 1, "offset": 5536, "match": "xref" },+      { "line": 107, "column": 1, "offset": 5541, "match": "0 21" },+      { "line": 108, "column": 1, "offset": 5546, "match": "0000000000 65535 f " },+      { "line": 109, "column": 1, "offset": 5566, "match": "0000005392 00000 n " },+      { "line": 110, "column": 1, "offset": 5586, "match": "0000000238 00000 n " },+      { "line": 111, "column": 1, "offset": 5606, "match": "0000001714 00000 n " },+      { "line": 112, "column": 1, "offset": 5626, "match": "0000000022 00000 n " },+      { "line": 113, "column": 1, "offset": 5646, "match": "0000000219 00000 n " },+      { "line": 114, "column": 1, "offset": 5666, "match": "0000000342 00000 n " },+      { "line": 115, "column": 1, "offset": 5686, "match": "0000001679 00000 n " },+      { "line": 116, "column": 1, "offset": 5706, "match": "0000001847 00000 n " },+      { "line": 117, "column": 1, "offset": 5726, "match": "0000000439 00000 n " },+      { "line": 118, "column": 1, "offset": 5746, "match": "0000001658 00000 n " },+      { "line": 119, "column": 1, "offset": 5766, "match": "0000001797 00000 n " },+      { "line": 120, "column": 1, "offset": 5786, "match": "0000002110 00000 n " },+      { "line": 121, "column": 1, "offset": 5806, "match": "0000002362 00000 n " },+      { "line": 122, "column": 1, "offset": 5826, "match": "0000005186 00000 n " },+      { "line": 123, "column": 1, "offset": 5846, "match": "0000005207 00000 n " },+      { "line": 124, "column": 1, "offset": 5866, "match": "0000005231 00000 n " },+      { "line": 125, "column": 1, "offset": 5886, "match": "0000005284 00000 n " },+      { "line": 126, "column": 1, "offset": 5906, "match": "0000005311 00000 n " },+      { "line": 127, "column": 1, "offset": 5926, "match": "0000005353 00000 n " },+      { "line": 128, "column": 1, "offset": 5946, "match": "0000005372 00000 n " },+      { "line": 129, "column": 1, "offset": 5966, "match": "trailer" },+      { "line": 130, "column": 1, "offset": 5974, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "column": 1, "offset": 6052, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "column": 1, "offset": 6092, "match": "startxref" },+      { "line": 133, "column": 1, "offset": 6102, "match": "5536" },+      { "line": 134, "column": 1, "offset": 6107, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-o.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "match": "#!/bin/sh" },+      { "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "match": "SourceFile\u0001\u0000" },+      { "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "match": "\u0000\u0000\u0000" },+      { "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "match": "import java.lang.*;" },+      { "match": "public class Hello // prints a Hello World! greeting" },+      { "match": "{ public static void main(String[] arg)" },+      { "match": "  { System.out.println(\"Hello World!\");" },+      { "match": "  }" },+      { "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "match": "%PDF-1.3" },+      { "match": "%Äåòåë§ó ÐÄÆ" },+      { "match": "4 0 obj" },+      { "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001EŽ»" },+      { "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "5 0 obj" },+      { "match": "123" },+      { "match": "endobj" },+      { "match": "2 0 obj" },+      { "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "match": ">>" },+      { "match": "endobj" },+      { "match": "6 0 obj" },+      { "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "match": ">> >>" },+      { "match": "endobj" },+      { "match": "9 0 obj" },+      { "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "10 0 obj" },+      { "match": "1116" },+      { "match": "endobj" },+      { "match": "7 0 obj" },+      { "match": "[ /ICCBased 9 0 R ]" },+      { "match": "endobj" },+      { "match": "3 0 obj" },+      { "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "match": "endobj" },+      { "match": "11 0 obj" },+      { "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "match": "endobj" },+      { "match": "8 0 obj" },+      { "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "match": "0 0 602 ] >>" },+      { "match": "endobj" },+      { "match": "12 0 obj" },+      { "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "match": ">>" },+      { "match": "endobj" },+      { "match": "13 0 obj" },+      { "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "match": "ïT`ŸÂÛ" },+      { "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "match": "TtÄý" },+      { "match": "å6üBa‰Â=" },+      { "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "match": "Ý\u0014º*t±Ã—:Lú" },+      { "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "match": "q©ˆu FÁ¦-" },+      { "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "14 0 obj" },+      { "match": "2734" },+      { "match": "endobj" },+      { "match": "15 0 obj" },+      { "match": "(Hello)" },+      { "match": "endobj" },+      { "match": "16 0 obj" },+      { "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "match": "endobj" },+      { "match": "17 0 obj" },+      { "match": "(TextEdit)" },+      { "match": "endobj" },+      { "match": "18 0 obj" },+      { "match": "(D:20200124010711Z00'00')" },+      { "match": "endobj" },+      { "match": "19 0 obj" },+      { "match": "()" },+      { "match": "endobj" },+      { "match": "20 0 obj" },+      { "match": "[ ]" },+      { "match": "endobj" },+      { "match": "1 0 obj" },+      { "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "match": "endobj" },+      { "match": "xref" },+      { "match": "0 21" },+      { "match": "0000000000 65535 f " },+      { "match": "0000005392 00000 n " },+      { "match": "0000000238 00000 n " },+      { "match": "0000001714 00000 n " },+      { "match": "0000000022 00000 n " },+      { "match": "0000000219 00000 n " },+      { "match": "0000000342 00000 n " },+      { "match": "0000001679 00000 n " },+      { "match": "0000001847 00000 n " },+      { "match": "0000000439 00000 n " },+      { "match": "0000001658 00000 n " },+      { "match": "0000001797 00000 n " },+      { "match": "0000002110 00000 n " },+      { "match": "0000002362 00000 n " },+      { "match": "0000005186 00000 n " },+      { "match": "0000005207 00000 n " },+      { "match": "0000005231 00000 n " },+      { "match": "0000005284 00000 n " },+      { "match": "0000005311 00000 n " },+      { "match": "0000005353 00000 n " },+      { "match": "0000005372 00000 n " },+      { "match": "trailer" },+      { "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "match": "startxref" },+      { "match": "5536" },+      { "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "match": "#!/bin/sh" },+      { "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-on.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "match": "#!/bin/sh" },+      { "line": 2, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "match": "\u0000\u0000\u0000" },+      { "line": 8, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "match": "import java.lang.*;" },+      { "line": 2, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "match": "  }" },+      { "line": 6, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "match": "%PDF-1.3" },+      { "line": 2, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "match": "4 0 obj" },+      { "line": 4, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "match": "stream" },+      { "line": 6, "match": "x\u0001EŽ»" },+      { "line": 7, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "match": "endstream" },+      { "line": 10, "match": "endobj" },+      { "line": 11, "match": "5 0 obj" },+      { "line": 12, "match": "123" },+      { "line": 13, "match": "endobj" },+      { "line": 14, "match": "2 0 obj" },+      { "line": 15, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "match": ">>" },+      { "line": 17, "match": "endobj" },+      { "line": 18, "match": "6 0 obj" },+      { "line": 19, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "match": ">> >>" },+      { "line": 21, "match": "endobj" },+      { "line": 22, "match": "9 0 obj" },+      { "line": 23, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "match": "stream" },+      { "line": 25, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "match": "endstream" },+      { "line": 32, "match": "endobj" },+      { "line": 33, "match": "10 0 obj" },+      { "line": 34, "match": "1116" },+      { "line": 35, "match": "endobj" },+      { "line": 36, "match": "7 0 obj" },+      { "line": 37, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "match": "endobj" },+      { "line": 39, "match": "3 0 obj" },+      { "line": 40, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "match": "endobj" },+      { "line": 42, "match": "11 0 obj" },+      { "line": 43, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "match": "endobj" },+      { "line": 45, "match": "8 0 obj" },+      { "line": 46, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "match": "0 0 602 ] >>" },+      { "line": 50, "match": "endobj" },+      { "line": 51, "match": "12 0 obj" },+      { "line": 52, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "match": ">>" },+      { "line": 56, "match": "endobj" },+      { "line": 57, "match": "13 0 obj" },+      { "line": 58, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "match": "stream" },+      { "line": 60, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "match": "ïT`ŸÂÛ" },+      { "line": 64, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "match": "TtÄý" },+      { "line": 69, "match": "å6üBa‰Â=" },+      { "line": 70, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "match": "endstream" },+      { "line": 80, "match": "endobj" },+      { "line": 81, "match": "14 0 obj" },+      { "line": 82, "match": "2734" },+      { "line": 83, "match": "endobj" },+      { "line": 84, "match": "15 0 obj" },+      { "line": 85, "match": "(Hello)" },+      { "line": 86, "match": "endobj" },+      { "line": 87, "match": "16 0 obj" },+      { "line": 88, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "match": "endobj" },+      { "line": 90, "match": "17 0 obj" },+      { "line": 91, "match": "(TextEdit)" },+      { "line": 92, "match": "endobj" },+      { "line": 93, "match": "18 0 obj" },+      { "line": 94, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "match": "endobj" },+      { "line": 96, "match": "19 0 obj" },+      { "line": 97, "match": "()" },+      { "line": 98, "match": "endobj" },+      { "line": 99, "match": "20 0 obj" },+      { "line": 100, "match": "[ ]" },+      { "line": 101, "match": "endobj" },+      { "line": 102, "match": "1 0 obj" },+      { "line": 103, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "match": "endobj" },+      { "line": 106, "match": "xref" },+      { "line": 107, "match": "0 21" },+      { "line": 108, "match": "0000000000 65535 f " },+      { "line": 109, "match": "0000005392 00000 n " },+      { "line": 110, "match": "0000000238 00000 n " },+      { "line": 111, "match": "0000001714 00000 n " },+      { "line": 112, "match": "0000000022 00000 n " },+      { "line": 113, "match": "0000000219 00000 n " },+      { "line": 114, "match": "0000000342 00000 n " },+      { "line": 115, "match": "0000001679 00000 n " },+      { "line": 116, "match": "0000001847 00000 n " },+      { "line": 117, "match": "0000000439 00000 n " },+      { "line": 118, "match": "0000001658 00000 n " },+      { "line": 119, "match": "0000001797 00000 n " },+      { "line": 120, "match": "0000002110 00000 n " },+      { "line": 121, "match": "0000002362 00000 n " },+      { "line": 122, "match": "0000005186 00000 n " },+      { "line": 123, "match": "0000005207 00000 n " },+      { "line": 124, "match": "0000005231 00000 n " },+      { "line": 125, "match": "0000005284 00000 n " },+      { "line": 126, "match": "0000005311 00000 n " },+      { "line": 127, "match": "0000005353 00000 n " },+      { "line": 128, "match": "0000005372 00000 n " },+      { "line": 129, "match": "trailer" },+      { "line": 130, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "match": "startxref" },+      { "line": 133, "match": "5536" },+      { "line": 134, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "match": "#!/bin/sh" },+      { "line": 2, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-onkb.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "column": 1, "offset": 11, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "column": 1, "offset": 24, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "column": 1, "offset": 109, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "column": 1, "offset": 122, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "column": 1, "offset": 345, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "column": 1, "offset": 392, "match": "\u0000\u0000\u0000" },+      { "line": 8, "column": 1, "offset": 396, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "import java.lang.*;" },+      { "line": 2, "column": 1, "offset": 20, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "column": 1, "offset": 73, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "column": 1, "offset": 113, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "column": 1, "offset": 153, "match": "  }" },+      { "line": 6, "column": 1, "offset": 157, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "%PDF-1.3" },+      { "line": 2, "column": 1, "offset": 9, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "column": 1, "offset": 22, "match": "4 0 obj" },+      { "line": 4, "column": 1, "offset": 30, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "column": 1, "offset": 71, "match": "stream" },+      { "line": 6, "column": 1, "offset": 78, "match": "x\u0001EŽ»" },+      { "line": 7, "column": 1, "offset": 84, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "column": 1, "offset": 138, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "column": 1, "offset": 202, "match": "endstream" },+      { "line": 10, "column": 1, "offset": 212, "match": "endobj" },+      { "line": 11, "column": 1, "offset": 219, "match": "5 0 obj" },+      { "line": 12, "column": 1, "offset": 227, "match": "123" },+      { "line": 13, "column": 1, "offset": 231, "match": "endobj" },+      { "line": 14, "column": 1, "offset": 238, "match": "2 0 obj" },+      { "line": 15, "column": 1, "offset": 246, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "column": 1, "offset": 332, "match": ">>" },+      { "line": 17, "column": 1, "offset": 335, "match": "endobj" },+      { "line": 18, "column": 1, "offset": 342, "match": "6 0 obj" },+      { "line": 19, "column": 1, "offset": 350, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "column": 1, "offset": 426, "match": ">> >>" },+      { "line": 21, "column": 1, "offset": 432, "match": "endobj" },+      { "line": 22, "column": 1, "offset": 439, "match": "9 0 obj" },+      { "line": 23, "column": 1, "offset": 447, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "column": 1, "offset": 517, "match": "stream" },+      { "line": 25, "column": 1, "offset": 524, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "column": 1, "offset": 606, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "column": 1, "offset": 1019, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "column": 1, "offset": 1223, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "column": 1, "offset": 1377, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "column": 1, "offset": 1604, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "column": 1, "offset": 1641, "match": "endstream" },+      { "line": 32, "column": 1, "offset": 1651, "match": "endobj" },+      { "line": 33, "column": 1, "offset": 1658, "match": "10 0 obj" },+      { "line": 34, "column": 1, "offset": 1667, "match": "1116" },+      { "line": 35, "column": 1, "offset": 1672, "match": "endobj" },+      { "line": 36, "column": 1, "offset": 1679, "match": "7 0 obj" },+      { "line": 37, "column": 1, "offset": 1687, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "column": 1, "offset": 1707, "match": "endobj" },+      { "line": 39, "column": 1, "offset": 1714, "match": "3 0 obj" },+      { "line": 40, "column": 1, "offset": 1722, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "column": 1, "offset": 1790, "match": "endobj" },+      { "line": 42, "column": 1, "offset": 1797, "match": "11 0 obj" },+      { "line": 43, "column": 1, "offset": 1806, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "column": 1, "offset": 1840, "match": "endobj" },+      { "line": 45, "column": 1, "offset": 1847, "match": "8 0 obj" },+      { "line": 46, "column": 1, "offset": 1855, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "column": 1, "offset": 1937, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "column": 1, "offset": 2014, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "column": 1, "offset": 2090, "match": "0 0 602 ] >>" },+      { "line": 50, "column": 1, "offset": 2103, "match": "endobj" },+      { "line": 51, "column": 1, "offset": 2110, "match": "12 0 obj" },+      { "line": 52, "column": 1, "offset": 2119, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "column": 1, "offset": 2196, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "column": 1, "offset": 2273, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "column": 1, "offset": 2352, "match": ">>" },+      { "line": 56, "column": 1, "offset": 2355, "match": "endobj" },+      { "line": 57, "column": 1, "offset": 2362, "match": "13 0 obj" },+      { "line": 58, "column": 1, "offset": 2371, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "column": 1, "offset": 2427, "match": "stream" },+      { "line": 60, "column": 1, "offset": 2434, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "column": 1, "offset": 2511, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "column": 1, "offset": 2998, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "column": 1, "offset": 3045, "match": "ïT`ŸÂÛ" },+      { "line": 64, "column": 1, "offset": 3052, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "column": 1, "offset": 3143, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "column": 1, "offset": 3188, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "column": 1, "offset": 3303, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "column": 1, "offset": 3325, "match": "TtÄý" },+      { "line": 69, "column": 1, "offset": 3330, "match": "å6üBa‰Â=" },+      { "line": 70, "column": 1, "offset": 3339, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "column": 1, "offset": 3385, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "column": 1, "offset": 3577, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "column": 1, "offset": 3683, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "column": 1, "offset": 3695, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "column": 1, "offset": 3822, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "column": 1, "offset": 3833, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "column": 1, "offset": 3852, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "column": 1, "offset": 4532, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "column": 1, "offset": 5169, "match": "endstream" },+      { "line": 80, "column": 1, "offset": 5179, "match": "endobj" },+      { "line": 81, "column": 1, "offset": 5186, "match": "14 0 obj" },+      { "line": 82, "column": 1, "offset": 5195, "match": "2734" },+      { "line": 83, "column": 1, "offset": 5200, "match": "endobj" },+      { "line": 84, "column": 1, "offset": 5207, "match": "15 0 obj" },+      { "line": 85, "column": 1, "offset": 5216, "match": "(Hello)" },+      { "line": 86, "column": 1, "offset": 5224, "match": "endobj" },+      { "line": 87, "column": 1, "offset": 5231, "match": "16 0 obj" },+      { "line": 88, "column": 1, "offset": 5240, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "column": 1, "offset": 5277, "match": "endobj" },+      { "line": 90, "column": 1, "offset": 5284, "match": "17 0 obj" },+      { "line": 91, "column": 1, "offset": 5293, "match": "(TextEdit)" },+      { "line": 92, "column": 1, "offset": 5304, "match": "endobj" },+      { "line": 93, "column": 1, "offset": 5311, "match": "18 0 obj" },+      { "line": 94, "column": 1, "offset": 5320, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "column": 1, "offset": 5346, "match": "endobj" },+      { "line": 96, "column": 1, "offset": 5353, "match": "19 0 obj" },+      { "line": 97, "column": 1, "offset": 5362, "match": "()" },+      { "line": 98, "column": 1, "offset": 5365, "match": "endobj" },+      { "line": 99, "column": 1, "offset": 5372, "match": "20 0 obj" },+      { "line": 100, "column": 1, "offset": 5381, "match": "[ ]" },+      { "line": 101, "column": 1, "offset": 5385, "match": "endobj" },+      { "line": 102, "column": 1, "offset": 5392, "match": "1 0 obj" },+      { "line": 103, "column": 1, "offset": 5400, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "column": 1, "offset": 5480, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "column": 1, "offset": 5529, "match": "endobj" },+      { "line": 106, "column": 1, "offset": 5536, "match": "xref" },+      { "line": 107, "column": 1, "offset": 5541, "match": "0 21" },+      { "line": 108, "column": 1, "offset": 5546, "match": "0000000000 65535 f " },+      { "line": 109, "column": 1, "offset": 5566, "match": "0000005392 00000 n " },+      { "line": 110, "column": 1, "offset": 5586, "match": "0000000238 00000 n " },+      { "line": 111, "column": 1, "offset": 5606, "match": "0000001714 00000 n " },+      { "line": 112, "column": 1, "offset": 5626, "match": "0000000022 00000 n " },+      { "line": 113, "column": 1, "offset": 5646, "match": "0000000219 00000 n " },+      { "line": 114, "column": 1, "offset": 5666, "match": "0000000342 00000 n " },+      { "line": 115, "column": 1, "offset": 5686, "match": "0000001679 00000 n " },+      { "line": 116, "column": 1, "offset": 5706, "match": "0000001847 00000 n " },+      { "line": 117, "column": 1, "offset": 5726, "match": "0000000439 00000 n " },+      { "line": 118, "column": 1, "offset": 5746, "match": "0000001658 00000 n " },+      { "line": 119, "column": 1, "offset": 5766, "match": "0000001797 00000 n " },+      { "line": 120, "column": 1, "offset": 5786, "match": "0000002110 00000 n " },+      { "line": 121, "column": 1, "offset": 5806, "match": "0000002362 00000 n " },+      { "line": 122, "column": 1, "offset": 5826, "match": "0000005186 00000 n " },+      { "line": 123, "column": 1, "offset": 5846, "match": "0000005207 00000 n " },+      { "line": 124, "column": 1, "offset": 5866, "match": "0000005231 00000 n " },+      { "line": 125, "column": 1, "offset": 5886, "match": "0000005284 00000 n " },+      { "line": 126, "column": 1, "offset": 5906, "match": "0000005311 00000 n " },+      { "line": 127, "column": 1, "offset": 5926, "match": "0000005353 00000 n " },+      { "line": 128, "column": 1, "offset": 5946, "match": "0000005372 00000 n " },+      { "line": 129, "column": 1, "offset": 5966, "match": "trailer" },+      { "line": 130, "column": 1, "offset": 5974, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "column": 1, "offset": 6052, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "column": 1, "offset": 6092, "match": "startxref" },+      { "line": 133, "column": 1, "offset": 6102, "match": "5536" },+      { "line": 134, "column": 1, "offset": 6107, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-ounkb.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "column": 1, "offset": 11, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "column": 1, "offset": 24, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "column": 1, "offset": 109, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "column": 1, "offset": 122, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "column": 1, "offset": 345, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "column": 1, "offset": 392, "match": "\u0000\u0000\u0000" },+      { "line": 8, "column": 1, "offset": 396, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "import java.lang.*;" },+      { "line": 2, "column": 1, "offset": 20, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "column": 1, "offset": 73, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "column": 1, "offset": 113, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "column": 1, "offset": 153, "match": "  }" },+      { "line": 6, "column": 1, "offset": 157, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "%PDF-1.3" },+      { "line": 2, "column": 1, "offset": 9, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "column": 1, "offset": 22, "match": "4 0 obj" },+      { "line": 4, "column": 1, "offset": 30, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "column": 1, "offset": 71, "match": "stream" },+      { "line": 6, "column": 1, "offset": 78, "match": "x\u0001EŽ»" },+      { "line": 7, "column": 1, "offset": 84, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "column": 1, "offset": 138, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "column": 1, "offset": 202, "match": "endstream" },+      { "line": 10, "column": 1, "offset": 212, "match": "endobj" },+      { "line": 11, "column": 1, "offset": 219, "match": "5 0 obj" },+      { "line": 12, "column": 1, "offset": 227, "match": "123" },+      { "line": 13, "column": 1, "offset": 231, "match": "endobj" },+      { "line": 14, "column": 1, "offset": 238, "match": "2 0 obj" },+      { "line": 15, "column": 1, "offset": 246, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "column": 1, "offset": 332, "match": ">>" },+      { "line": 17, "column": 1, "offset": 335, "match": "endobj" },+      { "line": 18, "column": 1, "offset": 342, "match": "6 0 obj" },+      { "line": 19, "column": 1, "offset": 350, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "column": 1, "offset": 426, "match": ">> >>" },+      { "line": 21, "column": 1, "offset": 432, "match": "endobj" },+      { "line": 22, "column": 1, "offset": 439, "match": "9 0 obj" },+      { "line": 23, "column": 1, "offset": 447, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "column": 1, "offset": 517, "match": "stream" },+      { "line": 25, "column": 1, "offset": 524, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "column": 1, "offset": 606, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "column": 1, "offset": 1019, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "column": 1, "offset": 1223, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "column": 1, "offset": 1377, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "column": 1, "offset": 1604, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "column": 1, "offset": 1641, "match": "endstream" },+      { "line": 32, "column": 1, "offset": 1651, "match": "endobj" },+      { "line": 33, "column": 1, "offset": 1658, "match": "10 0 obj" },+      { "line": 34, "column": 1, "offset": 1667, "match": "1116" },+      { "line": 35, "column": 1, "offset": 1672, "match": "endobj" },+      { "line": 36, "column": 1, "offset": 1679, "match": "7 0 obj" },+      { "line": 37, "column": 1, "offset": 1687, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "column": 1, "offset": 1707, "match": "endobj" },+      { "line": 39, "column": 1, "offset": 1714, "match": "3 0 obj" },+      { "line": 40, "column": 1, "offset": 1722, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "column": 1, "offset": 1790, "match": "endobj" },+      { "line": 42, "column": 1, "offset": 1797, "match": "11 0 obj" },+      { "line": 43, "column": 1, "offset": 1806, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "column": 1, "offset": 1840, "match": "endobj" },+      { "line": 45, "column": 1, "offset": 1847, "match": "8 0 obj" },+      { "line": 46, "column": 1, "offset": 1855, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "column": 1, "offset": 1937, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "column": 1, "offset": 2014, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "column": 1, "offset": 2090, "match": "0 0 602 ] >>" },+      { "line": 50, "column": 1, "offset": 2103, "match": "endobj" },+      { "line": 51, "column": 1, "offset": 2110, "match": "12 0 obj" },+      { "line": 52, "column": 1, "offset": 2119, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "column": 1, "offset": 2196, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "column": 1, "offset": 2273, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "column": 1, "offset": 2352, "match": ">>" },+      { "line": 56, "column": 1, "offset": 2355, "match": "endobj" },+      { "line": 57, "column": 1, "offset": 2362, "match": "13 0 obj" },+      { "line": 58, "column": 1, "offset": 2371, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "column": 1, "offset": 2427, "match": "stream" },+      { "line": 60, "column": 1, "offset": 2434, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "column": 1, "offset": 2511, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "column": 1, "offset": 2998, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "column": 1, "offset": 3045, "match": "ïT`ŸÂÛ" },+      { "line": 64, "column": 1, "offset": 3052, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "column": 1, "offset": 3143, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "column": 1, "offset": 3188, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "column": 1, "offset": 3303, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "column": 1, "offset": 3325, "match": "TtÄý" },+      { "line": 69, "column": 1, "offset": 3330, "match": "å6üBa‰Â=" },+      { "line": 70, "column": 1, "offset": 3339, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "column": 1, "offset": 3385, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "column": 1, "offset": 3577, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "column": 1, "offset": 3683, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "column": 1, "offset": 3695, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "column": 1, "offset": 3822, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "column": 1, "offset": 3833, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "column": 1, "offset": 3852, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "column": 1, "offset": 4532, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "column": 1, "offset": 5169, "match": "endstream" },+      { "line": 80, "column": 1, "offset": 5179, "match": "endobj" },+      { "line": 81, "column": 1, "offset": 5186, "match": "14 0 obj" },+      { "line": 82, "column": 1, "offset": 5195, "match": "2734" },+      { "line": 83, "column": 1, "offset": 5200, "match": "endobj" },+      { "line": 84, "column": 1, "offset": 5207, "match": "15 0 obj" },+      { "line": 85, "column": 1, "offset": 5216, "match": "(Hello)" },+      { "line": 86, "column": 1, "offset": 5224, "match": "endobj" },+      { "line": 87, "column": 1, "offset": 5231, "match": "16 0 obj" },+      { "line": 88, "column": 1, "offset": 5240, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "column": 1, "offset": 5277, "match": "endobj" },+      { "line": 90, "column": 1, "offset": 5284, "match": "17 0 obj" },+      { "line": 91, "column": 1, "offset": 5293, "match": "(TextEdit)" },+      { "line": 92, "column": 1, "offset": 5304, "match": "endobj" },+      { "line": 93, "column": 1, "offset": 5311, "match": "18 0 obj" },+      { "line": 94, "column": 1, "offset": 5320, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "column": 1, "offset": 5346, "match": "endobj" },+      { "line": 96, "column": 1, "offset": 5353, "match": "19 0 obj" },+      { "line": 97, "column": 1, "offset": 5362, "match": "()" },+      { "line": 98, "column": 1, "offset": 5365, "match": "endobj" },+      { "line": 99, "column": 1, "offset": 5372, "match": "20 0 obj" },+      { "line": 100, "column": 1, "offset": 5381, "match": "[ ]" },+      { "line": 101, "column": 1, "offset": 5385, "match": "endobj" },+      { "line": 102, "column": 1, "offset": 5392, "match": "1 0 obj" },+      { "line": 103, "column": 1, "offset": 5400, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "column": 1, "offset": 5480, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "column": 1, "offset": 5529, "match": "endobj" },+      { "line": 106, "column": 1, "offset": 5536, "match": "xref" },+      { "line": 107, "column": 1, "offset": 5541, "match": "0 21" },+      { "line": 108, "column": 1, "offset": 5546, "match": "0000000000 65535 f " },+      { "line": 109, "column": 1, "offset": 5566, "match": "0000005392 00000 n " },+      { "line": 110, "column": 1, "offset": 5586, "match": "0000000238 00000 n " },+      { "line": 111, "column": 1, "offset": 5606, "match": "0000001714 00000 n " },+      { "line": 112, "column": 1, "offset": 5626, "match": "0000000022 00000 n " },+      { "line": 113, "column": 1, "offset": 5646, "match": "0000000219 00000 n " },+      { "line": 114, "column": 1, "offset": 5666, "match": "0000000342 00000 n " },+      { "line": 115, "column": 1, "offset": 5686, "match": "0000001679 00000 n " },+      { "line": 116, "column": 1, "offset": 5706, "match": "0000001847 00000 n " },+      { "line": 117, "column": 1, "offset": 5726, "match": "0000000439 00000 n " },+      { "line": 118, "column": 1, "offset": 5746, "match": "0000001658 00000 n " },+      { "line": 119, "column": 1, "offset": 5766, "match": "0000001797 00000 n " },+      { "line": 120, "column": 1, "offset": 5786, "match": "0000002110 00000 n " },+      { "line": 121, "column": 1, "offset": 5806, "match": "0000002362 00000 n " },+      { "line": 122, "column": 1, "offset": 5826, "match": "0000005186 00000 n " },+      { "line": 123, "column": 1, "offset": 5846, "match": "0000005207 00000 n " },+      { "line": 124, "column": 1, "offset": 5866, "match": "0000005231 00000 n " },+      { "line": 125, "column": 1, "offset": 5886, "match": "0000005284 00000 n " },+      { "line": 126, "column": 1, "offset": 5906, "match": "0000005311 00000 n " },+      { "line": 127, "column": 1, "offset": 5926, "match": "0000005353 00000 n " },+      { "line": 128, "column": 1, "offset": 5946, "match": "0000005372 00000 n " },+      { "line": 129, "column": 1, "offset": 5966, "match": "trailer" },+      { "line": 130, "column": 1, "offset": 5974, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "column": 1, "offset": 6052, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "column": 1, "offset": 6092, "match": "startxref" },+      { "line": 133, "column": 1, "offset": 6102, "match": "5536" },+      { "line": 134, "column": 1, "offset": 6107, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json-unkb.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "line": 2, "column": 1, "offset": 11, "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "line": 3, "column": 1, "offset": 24, "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "line": 4, "column": 1, "offset": 109, "match": "SourceFile\u0001\u0000" },+      { "line": 5, "column": 1, "offset": 122, "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 6, "column": 1, "offset": 345, "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "line": 7, "column": 1, "offset": 392, "match": "\u0000\u0000\u0000" },+      { "line": 8, "column": 1, "offset": 396, "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "import java.lang.*;" },+      { "line": 2, "column": 1, "offset": 20, "match": "public class Hello // prints a Hello World! greeting" },+      { "line": 3, "column": 1, "offset": 73, "match": "{ public static void main(String[] arg)" },+      { "line": 4, "column": 1, "offset": 113, "match": "  { System.out.println(\"Hello World!\");" },+      { "line": 5, "column": 1, "offset": 153, "match": "  }" },+      { "line": 6, "column": 1, "offset": 157, "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "%PDF-1.3" },+      { "line": 2, "column": 1, "offset": 9, "match": "%Äåòåë§ó ÐÄÆ" },+      { "line": 3, "column": 1, "offset": 22, "match": "4 0 obj" },+      { "line": 4, "column": 1, "offset": 30, "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "line": 5, "column": 1, "offset": 71, "match": "stream" },+      { "line": 6, "column": 1, "offset": 78, "match": "x\u0001EŽ»" },+      { "line": 7, "column": 1, "offset": 84, "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "line": 8, "column": 1, "offset": 138, "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "line": 9, "column": 1, "offset": 202, "match": "endstream" },+      { "line": 10, "column": 1, "offset": 212, "match": "endobj" },+      { "line": 11, "column": 1, "offset": 219, "match": "5 0 obj" },+      { "line": 12, "column": 1, "offset": 227, "match": "123" },+      { "line": 13, "column": 1, "offset": 231, "match": "endobj" },+      { "line": 14, "column": 1, "offset": 238, "match": "2 0 obj" },+      { "line": 15, "column": 1, "offset": 246, "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "line": 16, "column": 1, "offset": 332, "match": ">>" },+      { "line": 17, "column": 1, "offset": 335, "match": "endobj" },+      { "line": 18, "column": 1, "offset": 342, "match": "6 0 obj" },+      { "line": 19, "column": 1, "offset": 350, "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "line": 20, "column": 1, "offset": 426, "match": ">> >>" },+      { "line": 21, "column": 1, "offset": 432, "match": "endobj" },+      { "line": 22, "column": 1, "offset": 439, "match": "9 0 obj" },+      { "line": 23, "column": 1, "offset": 447, "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "line": 24, "column": 1, "offset": 517, "match": "stream" },+      { "line": 25, "column": 1, "offset": 524, "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "line": 26, "column": 1, "offset": 606, "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "line": 27, "column": 1, "offset": 1019, "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "line": 28, "column": 1, "offset": 1223, "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "line": 29, "column": 1, "offset": 1377, "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "line": 30, "column": 1, "offset": 1604, "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "line": 31, "column": 1, "offset": 1641, "match": "endstream" },+      { "line": 32, "column": 1, "offset": 1651, "match": "endobj" },+      { "line": 33, "column": 1, "offset": 1658, "match": "10 0 obj" },+      { "line": 34, "column": 1, "offset": 1667, "match": "1116" },+      { "line": 35, "column": 1, "offset": 1672, "match": "endobj" },+      { "line": 36, "column": 1, "offset": 1679, "match": "7 0 obj" },+      { "line": 37, "column": 1, "offset": 1687, "match": "[ /ICCBased 9 0 R ]" },+      { "line": 38, "column": 1, "offset": 1707, "match": "endobj" },+      { "line": 39, "column": 1, "offset": 1714, "match": "3 0 obj" },+      { "line": 40, "column": 1, "offset": 1722, "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "line": 41, "column": 1, "offset": 1790, "match": "endobj" },+      { "line": 42, "column": 1, "offset": 1797, "match": "11 0 obj" },+      { "line": 43, "column": 1, "offset": 1806, "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "line": 44, "column": 1, "offset": 1840, "match": "endobj" },+      { "line": 45, "column": 1, "offset": 1847, "match": "8 0 obj" },+      { "line": 46, "column": 1, "offset": 1855, "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "line": 47, "column": 1, "offset": 1937, "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "line": 48, "column": 1, "offset": 2014, "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "line": 49, "column": 1, "offset": 2090, "match": "0 0 602 ] >>" },+      { "line": 50, "column": 1, "offset": 2103, "match": "endobj" },+      { "line": 51, "column": 1, "offset": 2110, "match": "12 0 obj" },+      { "line": 52, "column": 1, "offset": 2119, "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "line": 53, "column": 1, "offset": 2196, "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "line": 54, "column": 1, "offset": 2273, "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "line": 55, "column": 1, "offset": 2352, "match": ">>" },+      { "line": 56, "column": 1, "offset": 2355, "match": "endobj" },+      { "line": 57, "column": 1, "offset": 2362, "match": "13 0 obj" },+      { "line": 58, "column": 1, "offset": 2371, "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "line": 59, "column": 1, "offset": 2427, "match": "stream" },+      { "line": 60, "column": 1, "offset": 2434, "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "line": 61, "column": 1, "offset": 2511, "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "line": 62, "column": 1, "offset": 2998, "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "line": 63, "column": 1, "offset": 3045, "match": "ïT`ŸÂÛ" },+      { "line": 64, "column": 1, "offset": 3052, "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "line": 65, "column": 1, "offset": 3143, "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "line": 66, "column": 1, "offset": 3188, "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "line": 67, "column": 1, "offset": 3303, "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "line": 68, "column": 1, "offset": 3325, "match": "TtÄý" },+      { "line": 69, "column": 1, "offset": 3330, "match": "å6üBa‰Â=" },+      { "line": 70, "column": 1, "offset": 3339, "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "line": 71, "column": 1, "offset": 3385, "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "line": 72, "column": 1, "offset": 3577, "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "line": 73, "column": 1, "offset": 3683, "match": "Ý\u0014º*t±Ã—:Lú" },+      { "line": 74, "column": 1, "offset": 3695, "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "line": 75, "column": 1, "offset": 3822, "match": "q©ˆu FÁ¦-" },+      { "line": 76, "column": 1, "offset": 3833, "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "line": 77, "column": 1, "offset": 3852, "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "line": 78, "column": 1, "offset": 4532, "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "line": 79, "column": 1, "offset": 5169, "match": "endstream" },+      { "line": 80, "column": 1, "offset": 5179, "match": "endobj" },+      { "line": 81, "column": 1, "offset": 5186, "match": "14 0 obj" },+      { "line": 82, "column": 1, "offset": 5195, "match": "2734" },+      { "line": 83, "column": 1, "offset": 5200, "match": "endobj" },+      { "line": 84, "column": 1, "offset": 5207, "match": "15 0 obj" },+      { "line": 85, "column": 1, "offset": 5216, "match": "(Hello)" },+      { "line": 86, "column": 1, "offset": 5224, "match": "endobj" },+      { "line": 87, "column": 1, "offset": 5231, "match": "16 0 obj" },+      { "line": 88, "column": 1, "offset": 5240, "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "line": 89, "column": 1, "offset": 5277, "match": "endobj" },+      { "line": 90, "column": 1, "offset": 5284, "match": "17 0 obj" },+      { "line": 91, "column": 1, "offset": 5293, "match": "(TextEdit)" },+      { "line": 92, "column": 1, "offset": 5304, "match": "endobj" },+      { "line": 93, "column": 1, "offset": 5311, "match": "18 0 obj" },+      { "line": 94, "column": 1, "offset": 5320, "match": "(D:20200124010711Z00'00')" },+      { "line": 95, "column": 1, "offset": 5346, "match": "endobj" },+      { "line": 96, "column": 1, "offset": 5353, "match": "19 0 obj" },+      { "line": 97, "column": 1, "offset": 5362, "match": "()" },+      { "line": 98, "column": 1, "offset": 5365, "match": "endobj" },+      { "line": 99, "column": 1, "offset": 5372, "match": "20 0 obj" },+      { "line": 100, "column": 1, "offset": 5381, "match": "[ ]" },+      { "line": 101, "column": 1, "offset": 5385, "match": "endobj" },+      { "line": 102, "column": 1, "offset": 5392, "match": "1 0 obj" },+      { "line": 103, "column": 1, "offset": 5400, "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "line": 104, "column": 1, "offset": 5480, "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "line": 105, "column": 1, "offset": 5529, "match": "endobj" },+      { "line": 106, "column": 1, "offset": 5536, "match": "xref" },+      { "line": 107, "column": 1, "offset": 5541, "match": "0 21" },+      { "line": 108, "column": 1, "offset": 5546, "match": "0000000000 65535 f " },+      { "line": 109, "column": 1, "offset": 5566, "match": "0000005392 00000 n " },+      { "line": 110, "column": 1, "offset": 5586, "match": "0000000238 00000 n " },+      { "line": 111, "column": 1, "offset": 5606, "match": "0000001714 00000 n " },+      { "line": 112, "column": 1, "offset": 5626, "match": "0000000022 00000 n " },+      { "line": 113, "column": 1, "offset": 5646, "match": "0000000219 00000 n " },+      { "line": 114, "column": 1, "offset": 5666, "match": "0000000342 00000 n " },+      { "line": 115, "column": 1, "offset": 5686, "match": "0000001679 00000 n " },+      { "line": 116, "column": 1, "offset": 5706, "match": "0000001847 00000 n " },+      { "line": 117, "column": 1, "offset": 5726, "match": "0000000439 00000 n " },+      { "line": 118, "column": 1, "offset": 5746, "match": "0000001658 00000 n " },+      { "line": 119, "column": 1, "offset": 5766, "match": "0000001797 00000 n " },+      { "line": 120, "column": 1, "offset": 5786, "match": "0000002110 00000 n " },+      { "line": 121, "column": 1, "offset": 5806, "match": "0000002362 00000 n " },+      { "line": 122, "column": 1, "offset": 5826, "match": "0000005186 00000 n " },+      { "line": 123, "column": 1, "offset": 5846, "match": "0000005207 00000 n " },+      { "line": 124, "column": 1, "offset": 5866, "match": "0000005231 00000 n " },+      { "line": 125, "column": 1, "offset": 5886, "match": "0000005284 00000 n " },+      { "line": 126, "column": 1, "offset": 5906, "match": "0000005311 00000 n " },+      { "line": 127, "column": 1, "offset": 5926, "match": "0000005353 00000 n " },+      { "line": 128, "column": 1, "offset": 5946, "match": "0000005372 00000 n " },+      { "line": 129, "column": 1, "offset": 5966, "match": "trailer" },+      { "line": 130, "column": 1, "offset": 5974, "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "line": 131, "column": 1, "offset": 6052, "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "line": 132, "column": 1, "offset": 6092, "match": "startxref" },+      { "line": 133, "column": 1, "offset": 6102, "match": "5536" },+      { "line": 134, "column": 1, "offset": 6107, "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "#!/bin/sh" },+      { "line": 2, "column": 1, "offset": 10, "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "line": 1, "column": 1, "offset": 0, "match": "Hello" }+    ]+  }+]

tests/out/Hello_--json.out

new file mode 100644@@ -0,0 +1,185 @@+[+  {+    "file": "Hello.bat",+    "matches": [+      { "match": "#!/bin/sh" },+      { "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.class",+    "matches": [+      { "match": "Êþº¾\u0000\u0000\u00004\u0000\u001d" },+      { "match": "\u0000\u0006\u0000\u000f\t\u0000\u0010\u0000\u0011\b\u0000\u0012" },+      { "match": "\u0000\u0013\u0000\u0014\u0007\u0000\u0015\u0007\u0000\u0016\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u000fLineNumberTable\u0001\u0000\u0004main\u0001\u0000\u0016([Ljava/lang/String;)V\u0001\u0000" },+      { "match": "SourceFile\u0001\u0000" },+      { "match": "Hello.java\f\u0000\u0007\u0000\b\u0007\u0000\u0017\f\u0000\u0018\u0000\u0019\u0001\u0000\fHello World!\u0007\u0000\u001a\f\u0000\u001b\u0000\u001c\u0001\u0000\u0005Hello\u0001\u0000\u0010java/lang/Object\u0001\u0000\u0010java/lang/System\u0001\u0000\u0003out\u0001\u0000\u0015Ljava/io/PrintStream;\u0001\u0000\u0013java/io/PrintStream\u0001\u0000\u0007println\u0001\u0000\u0015(Ljava/lang/String;)V\u0000!\u0000\u0005\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0007\u0000\b\u0000\u0001\u0000\t\u0000\u0000\u0000\u001d\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*·\u0000\u0001±\u0000\u0000\u0000\u0001\u0000" },+      { "match": "\u0000\u0000\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0002\u0000\t\u0000\u000b\u0000\f\u0000\u0001\u0000\t\u0000\u0000\u0000%\u0000\u0002\u0000\u0001\u0000\u0000\u0000\t²\u0000\u0002\u0012\u0003¶\u0000\u0004±\u0000\u0000\u0000\u0001\u0000" },+      { "match": "\u0000\u0000\u0000" },+      { "match": "\u0000\u0002\u0000\u0000\u0000\u0004\u0000\b\u0000\u0005\u0000\u0001\u0000\r\u0000\u0000\u0000\u0002\u0000\u000e" }+    ]+  },+  {+    "file": "Hello.java",+    "matches": [+      { "match": "import java.lang.*;" },+      { "match": "public class Hello // prints a Hello World! greeting" },+      { "match": "{ public static void main(String[] arg)" },+      { "match": "  { System.out.println(\"Hello World!\");" },+      { "match": "  }" },+      { "match": "}" }+    ]+  },+  {+    "file": "Hello.pdf",+    "matches": [+      { "match": "%PDF-1.3" },+      { "match": "%Äåòåë§ó ÐÄÆ" },+      { "match": "4 0 obj" },+      { "match": "<< /Length 5 0 R /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001EŽ»" },+      { "match": "\u00021\u0014D{¿â”Z˜½‰y˜V\u0011l\u0017.ø\u0001a-d×eÍÿƒ\u0017,¬†™9\f³1²Q\u0002¹F—â©\u0012ó™�\\LY" },+      { "match": "Ÿ‰\u0007o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£\rï iÂ\u000bº0¨z¬|²¿Oó¼\u001eÐ\u00177µ7ã\u0017Nÿ ¥" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "5 0 obj" },+      { "match": "123" },+      { "match": "endobj" },+      { "match": "2 0 obj" },+      { "match": "<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]" },+      { "match": ">>" },+      { "match": "endobj" },+      { "match": "6 0 obj" },+      { "match": "<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R" },+      { "match": ">> >>" },+      { "match": "endobj" },+      { "match": "9 0 obj" },+      { "match": "<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001…U]h\u001cU\u0014>»sg\u0003\u0012\u0007\u001f´\r-´ƒ?m\té2‰V\u0013‹µÛMºI\u0013·ëfS›*Êtv6;Ídfœ™Ý&¡O¥à›\u0016\u0004é« >Æ‚\b¶*6/ö¥¥Å’J5\u000f" },+      { "match": "\u0011ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›>9}JíºMiR¨›ðèFàåJ¥\tÆŽë˜üo\u001eÞ¥\u0014Kîìg[íc[öäª\u0019\u0018к†æV\u0003cŽ(¥\u0011ej†ç‡D]— \u001f<\u001bzŒo\u0003?9[)ç�×€•Ö\\@zª`:¦o\u0019jÁ×\u0017Ô’ïÖ,;éëVãlcËgÎn°¯üìFë\u000ef'Çñï…Ï\u0017Lgj\u0012x\u001fð’¡�0î\u0003¾Û´N\u0014cœN{á‘r¬ŸÎ6f§r-ùÉštª%¿PoŒ2Î\u0012¥—\u0016ë•7€Ÿ\u0000^uN\u0017�·ô×gÝq¶ÓC$õ\u0018Aþ\u0014ð³ÀZÝ\u001cã<©À\u0015ß-³>Ëê9<\u0002ü2ð%+\u001c«\u0000þôCМd9° ÅzžýÄZ\"{F?V\u0002Þ\u0006|È´\u000b¼\u0016숊\u0017–Øæ ð¼c\u0017y-Ä..›A\u0014/b\u0017?…õÊh¬/§C¿ÂsŸ&’÷Ô¬£cÀàD\u001e­û£,‡?rèÙÑÞz\u0011xÉo”9ö=Àkº?R\u0000†ÍÌcU}˜y~\u0001x€N¤t2É¥Óø\u001aäпˆ7 ‹š\u0011òÈÇX\r}›" },+      { "match": "ÐpÐ|ô\fh\u0015€tZ\u0000*%´LôX'ž£R\u0015=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_\"É<ýJsèç!m`l¦Ãn\u001e^8´\b\u000fØ\u0013¶ù eÓ\u0015Û…&žG;(&Ä+bP\f‘*^\u0015‡Å!1\fé�8\u0018͉½OúÎ~>ذô.ÖMú¾\f\u000eB¬gÃ3\u0007¬p4\u0001<ø\u0007ëÎFš\t¶.îhìó¼�Þ?ï¿c\u0019·>ø³�½\u0000ú1'¿Á¢\u000bk&%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò" },+      { "match": "¾÷äÕ¤\rùgy\u0015ï½¶\\=Ê\u000bÿ“¹Í!F;’ÍAÎ<›Q´qÆ\u001bÀ!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË\tóÃ<·±Rs.îð¼·?c6Í÷Š\u000f‹t¾O»¬­kŸh?jh+ÚÇ@¿K\u001fJ_JßJW¤«Ò\rR¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì\u001b»\u0007~Æ{Öhí0f†³\u0014\u0010óÂÚÌ" },+      { "match": "K\u001fñw\u0006c›ù3¡Õ^\u0003�»c-刲SyF\u0019Vv+Ï)\u0013J¯r@9¬lW\u0006Ðú•Qe/Fvn°dc=΀…’g‹¦#®â<±Wu°çÃK\u001dï¦_\\ÃÖ†5ØI=\u000ežÙÚ¦\u000e¯\u0011W¿\u0015Uc¼;]œ\u0006:M!b‹Î\"r\u001f:œ\u001f'ªþÎÙ\\“85Roâ”°Ä.Ñ/ÆZ5˜\u0013\u0007P…ãmõ8ÈUš\u0019É\fgr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G\u0012Þ3Ë1ÿ›5Äg\u0018ï\u001dæ¨\tl£‡[+4çqß\u0011å]oÁ·fê¡: i/©9\\¯¦:æ\u0018Ù>U·m5\u001a" },+      { "match": "Tß\fL¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&Ñ·�“4" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "10 0 obj" },+      { "match": "1116" },+      { "match": "endobj" },+      { "match": "7 0 obj" },+      { "match": "[ /ICCBased 9 0 R ]" },+      { "match": "endobj" },+      { "match": "3 0 obj" },+      { "match": "<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>" },+      { "match": "endobj" },+      { "match": "11 0 obj" },+      { "match": "<< /Type /Catalog /Pages 3 0 R >>" },+      { "match": "endobj" },+      { "match": "8 0 obj" },+      { "match": "<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor" },+      { "match": "12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602" },+      { "match": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602" },+      { "match": "0 0 602 ] >>" },+      { "match": "endobj" },+      { "match": "12 0 obj" },+      { "match": "<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox" },+      { "match": "[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729" },+      { "match": "/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R" },+      { "match": ">>" },+      { "match": "endobj" },+      { "match": "13 0 obj" },+      { "match": "<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>" },+      { "match": "stream" },+      { "match": "x\u0001ÝW{xTÅ\u0015?sw6¯Í>’MHH€]Öå•,�„·R\u0016Hxˆ /ë.ˆòH (!\bA´1�JQ\tÁ@…\bH}\u0015Q©µ+E]\tÄT¤b#E„ \u0002" },+      { "match": "ø¢hŠ\u0014!Ø\u0000CϽ\u001bý>í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\\\DVª$P`VÉŒ\u0005d6ëI\u001eŠgÝSæ6Eн—HË�½`NITŽ‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T\u0016}x¼®¸¤Œí\u0018Íú.\u0013×¼ÒYmó‰£\f°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì\u0005\u000b‹ÚôE�(¦St®�\u001a–\u0005w©Y)‹î\"\u000biä �”ÄЭ¬+yÖ˜×b²–>}ö�;ì7\\¤N±æâ½eéy\u0006s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT\u0007\"ýàå•×’e½iɘù¾É\bÅf½®UŠ”íë¦É¡™\"…j\tL+I\u0017.RÌ'›4‰\u0003‚pš¼Ã¤vÚĈÍä\u0013·=R\u000eõ‰Dª`ÌJ>¦\t”Ë4Þ´\u0017gjÅ’�‘\u0018“·˜:Òäu\u0013‡‰h&\"\u0002!\u0005¥pµ\u0002W\u0014.+´æâŸuø®\u0002—Zªå%…K\rzËÅ�l©FK¥~ñB\u0017y1„‹\u0001ýB\u0017|{>G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\\;\u0018¸¦=\u0012_�)”_ÕâL!þ¦púË\fyZáË\f|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ\u0013…�\u0015Ž\u001fK‘Ç\u0015Ž¥àh->ú0E~¤ðáê\u0004ùa" },+      { "match": ">¨À‘Ahb¡i\u0010\u000e+\u001cz?^\u001eRx?\u001e\u0007\u0015ÞS8På”\u00072ñ×TìWx·\u0016�«|²Qá/" },+      { "match": "ïT`ŸÂÛ" },+      { "match": "VØ»)Q¾¥°GáM…?)4°½\u0006\u0017Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5\r»\u0002z�\u000f;\u0015^¯E¤f¨|MáU\u001e^mÅ+lk‡Â\u001f\u000b±½\u0010/Û\u0010NÂ\u001f\u0014^R�«ø½Â‹" },+      { "match": "¿KÂ6…\u0017ž·É\u0017rñ¼\rÏmuÊçºa«\u0013ÏnñËg+°Å�ß*<£ð´ÂSO¦Ë§" },+      { "match": "ñä\u0013\u000eùd:žpà7ñجð8;y\\aS\"6nè)7*lè‰ÇØÿcµ¨]_'k\u0015Öó³µ¾\u000eë+õuk|rÝ4¬\u000bè�*üZa-Ëkë°Æ‡\u001a.FÍP<ÂÙ>âÂê\u0004T3P]ˆU\\´U>T9±Ráa…‡\u0014\u001e\\á”\u000f*¬pâW" },+      { "match": "Ë\u0015\u001ep\u000e“\u000fLÂ/\u0015*ïŲ¥\u0015r™ÂÒ" },+      { "match": "TtÄý" },+      { "match": "å6üBa‰Â=" },+      { "match": "‹Ë¬r±\u001d‹#‚\u0002Gõ2+Ê\u001aôEIX\u0014Ð\u0017*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y" },+      { "match": "wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“\u001crfGÌP˜®p‡ÂíS\u0012äí6L+Ämû0•…©.LI\u0000?ÑA\u0017nUø¹Â-\u0019éò–\\LV˜¤0QaB\u0005Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4ycŒ\u001ež$G§aTAš\u001c¥0’¥‘…\u0018ÁÒˆ:\u0014¤!Ÿ�üþ\u0018>Ì)‡'axD\u000b\u0004âôaCír˜\u0013Ã\"\u001a±44`“Cí\u0018\u001a\u0011\r,\u0005†XeÀ†@DT²4Ä\u001a'‡X1$\"\u0002�Býg" },+      { "match": "ƒ9„Á­¸Aáún\u0018¤0�\u000b<°\u0010\u0003z·—\u0003Æ ¿B?¿KöSè;\u0006}zµ—}Æ �‡<…\\VÌUèÍÓ½Û£W{ä0—“†žq©²g\u001düÙÉÒï‚?¢\u0019n³\u001dN™�Œl#ÜZ=«‡Of)ô`Í\u001e>t×\u0006Éî" },+      { "match": "Ý\u0014º*t±Ã—:Lú" },+      { "match": "p�\u001d^…Îv»ì¬àqû¥§\u0002n?:�AGöÜQ¡ƒB&×6S!ƒïJF:Ú+¤+¤)´c\u000bíF 5Å/S‡!Åå�)~¸\u001cHf½d\u0017’x}’‚“3w\u000eƒƒ=8œpDkg·Y¥Ý\u000e{´v¶Äxi³Â\u0016­]\"×.1\u001e‰\\»\u001dº5\u000eVãÙê¯'(Äs&ñ" },+      { "match": "q©ˆu FÁ¦-" },+      { "match": "Ò\u0005prh…Æ€6\b‚\u0003\u0010~�\u0003\"\"" },+      { "match": "W¬\u0016Yÿ?�þÇSáOg„\u001a;M¬åÑØGDè!m\u0019¥¿¿\"´‡u4S/\"\u001aÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^\u001bÔ=ŒÖÐfsu\rNÓbì¢Cô\u000e\u001dcî´\u0018\b^+\u000e‘Gœ`?+ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm\"[Þ¯\u001fdt?=Ä×£´…J™72XÎñL;h\u0015] \rÚ\u0019šÂüNÚËñ(þüš¹ˆ&jaKÛ´ÁÚlÖÛËÖ6Ñ&±œšh‘Nü)WtJ6iYlu\u0007g@4“6Ë&¹Á¨\u0007�Mò\u001cÏ\u0010u°D,®\u0018/gaÔn«Ø%zkãè\u0010¯/§É¸\rwã˜X¡{õ%8C5\u001aa:ÝI\u0007d“ÅE51^ª±Ì\u0016÷éÓÍ«œ­•kKôéb\u001b�a›3ñ\u001dË\u001eŽl³™1Ñ\u000em¢\u001c'Çqγ\u0019ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢\rô\fÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ<m0mÖf‹U\u001cm\u000bW³\u0014ùÔŸ}t�gi…ØÁqSL\u0005-’M¼U$êAôZŒEêü÷¦l·#¬ùF\u0017†\u0003\u0013‚î}!�?û'¢Û\u0011ã\u000eÓøpâ}îȵkãƒz†\f…ef\u0018¾Ø°îóžúO“§üÙcÆ\u0007Ý\u0011Ñ® ¿ÍlÁô|\u0006'\u0005Ù\u0003ÿ\f˜Ý\u00150\u0016\u0005F‡¥�£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0\u0019\u001f|YˆGB\u0011qmE„ò;¼Î»HÜq;OÇe»Ý\u0005sóÃb:\u000bñÙ\fôð0—�í\u001eÁaŽ˜\u0018ô†ÜUîªÑ…Uî\u0011îâ\u0019…\u001c·9òDQU(‡3˜\u0014œËtrÐ\u0013\u000e„2~`‹B!ûհÃKX½*Ä\u0016îl³À£\tå\\e¥Äì1î0ºŒ\u000fN\b†+ó3Â�üP†Çã.\b7Œ\u000f†\u001bò3<¡\u0010kÙ~ˆ”#®˜›Ö\u0016³�c¶õàyGÔ" },+      { "match": "—(�\u0011¦PU•asRÐë\tWVUeTq\u001emr„\u001a~\u0002\bú)\u0010h\u0003\"dØàJ\u0014ð÷`<\u001bãÁëÉ0\u0000¯Çëá8CùìÛiÜš\u0002ŽÔ\u0013òónœŠ¹¯ä^ÎýœÁó³\u0018Ýçóù‚Ï\u0000SX\u001eEÝþm¿ÎðÙ´\u001féÁ”t“vágw;�\u0014™ü¯/Vµz±Ü§ª\u0018ê´ËÜó\u0013Y„ëU\u0011+—k:å¼u¸¹79\u000e7\u001fnî•ìô8}\u001e§§X§+‹�qå\u000bU\u001bcûîüBKwì0rÐGñ¿ �n6N\u0015|osøÖq·:øXô\u001ewæÅqÆX–<êÜc\u0018\u0017,ǽÇo\u000bCAçná\u001eŸ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF\u0004;\u0019t°�\biì!“=eæð;ÏB‰\fî¤dJ7G£\u000e†\u0017‘âI±¤æåöëŸb\u0013^79\u001d”—›\u0014ÓSx;[bôéW>‹}ã¥`CÉÜ=SÕeuT¸Ï\u001d¹\u0014¶®}xÅ‹±Zõ\u0014Ë\u0017û\u0006\f|-+K\f\u0014ÉÂ*\u0002ê“ÇÊ^\bÏ7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž\u0011Q\"ÅG#q¥^/R¼�»ôuzúz´\u0003SC\u001fœyö\u0015õ‘8!Öß¿ôñCoââ\u001a£æ\u001a­äœGqÎ\tÔŽ¼�dKu\u0012U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬>s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì\t>:Fu,Æ\u000brä„Éc§ŒÈ\u001a[4^©bÑœÅóf,$ú\u0017 -\u0006ä" },+      { "match": "endstream" },+      { "match": "endobj" },+      { "match": "14 0 obj" },+      { "match": "2734" },+      { "match": "endobj" },+      { "match": "15 0 obj" },+      { "match": "(Hello)" },+      { "match": "endobj" },+      { "match": "16 0 obj" },+      { "match": "(Mac OS X 10.12.6 Quartz PDFContext)" },+      { "match": "endobj" },+      { "match": "17 0 obj" },+      { "match": "(TextEdit)" },+      { "match": "endobj" },+      { "match": "18 0 obj" },+      { "match": "(D:20200124010711Z00'00')" },+      { "match": "endobj" },+      { "match": "19 0 obj" },+      { "match": "()" },+      { "match": "endobj" },+      { "match": "20 0 obj" },+      { "match": "[ ]" },+      { "match": "endobj" },+      { "match": "1 0 obj" },+      { "match": "<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate" },+      { "match": "18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>" },+      { "match": "endobj" },+      { "match": "xref" },+      { "match": "0 21" },+      { "match": "0000000000 65535 f " },+      { "match": "0000005392 00000 n " },+      { "match": "0000000238 00000 n " },+      { "match": "0000001714 00000 n " },+      { "match": "0000000022 00000 n " },+      { "match": "0000000219 00000 n " },+      { "match": "0000000342 00000 n " },+      { "match": "0000001679 00000 n " },+      { "match": "0000001847 00000 n " },+      { "match": "0000000439 00000 n " },+      { "match": "0000001658 00000 n " },+      { "match": "0000001797 00000 n " },+      { "match": "0000002110 00000 n " },+      { "match": "0000002362 00000 n " },+      { "match": "0000005186 00000 n " },+      { "match": "0000005207 00000 n " },+      { "match": "0000005231 00000 n " },+      { "match": "0000005284 00000 n " },+      { "match": "0000005311 00000 n " },+      { "match": "0000005353 00000 n " },+      { "match": "0000005372 00000 n " },+      { "match": "trailer" },+      { "match": "<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>" },+      { "match": "<8db88d3335070bd9583341583cf769a3> ] >>" },+      { "match": "startxref" },+      { "match": "5536" },+      { "match": "%%EOF" }+    ]+  },+  {+    "file": "Hello.sh",+    "matches": [+      { "match": "#!/bin/sh" },+      { "match": "echo \"Hello World!\"" }+    ]+  },+  {+    "file": "Hello.txt",+    "matches": [+      { "match": "Hello" }+    ]+  }+]

tests/out/Hello_--xml-c.out

new file mode 100644@@ -0,0 +1,20 @@+<grep>+  <file name="Hello.bat">+    <match>2</match>+  </file>+  <file name="Hello.class">+    <match>8</match>+  </file>+  <file name="Hello.java">+    <match>6</match>+  </file>+  <file name="Hello.pdf">+    <match>134</match>+  </file>+  <file name="Hello.sh">+    <match>2</match>+  </file>+  <file name="Hello.txt">+    <match>1</match>+  </file>+</grep>

tests/out/Hello_--xml-co.out

new file mode 100644@@ -0,0 +1,20 @@+<grep>+  <file name="Hello.bat">+    <match>2</match>+  </file>+  <file name="Hello.class">+    <match>8</match>+  </file>+  <file name="Hello.java">+    <match>6</match>+  </file>+  <file name="Hello.pdf">+    <match>134</match>+  </file>+  <file name="Hello.sh">+    <match>2</match>+  </file>+  <file name="Hello.txt">+    <match>1</match>+  </file>+</grep>

tests/out/Hello_--xml-cv.out

new file mode 100644@@ -0,0 +1,20 @@+<grep>+  <file name="Hello.bat">+    <match>0</match>+  </file>+  <file name="Hello.class">+    <match>0</match>+  </file>+  <file name="Hello.java">+    <match>0</match>+  </file>+  <file name="Hello.pdf">+    <match>0</match>+  </file>+  <file name="Hello.sh">+    <match>0</match>+  </file>+  <file name="Hello.txt">+    <match>0</match>+  </file>+</grep>

tests/out/Hello_--xml-l.out

new file mode 100644@@ -0,0 +1,20 @@+<grep>+  <file name="Hello.bat">+    <match>true</match>+  </file>+  <file name="Hello.class">+    <match>true</match>+  </file>+  <file name="Hello.java">+    <match>true</match>+  </file>+  <file name="Hello.pdf">+    <match>true</match>+  </file>+  <file name="Hello.sh">+    <match>true</match>+  </file>+  <file name="Hello.txt">+    <match>true</match>+  </file>+</grep>

tests/out/Hello_--xml-lv.out

new file mode 100644@@ -0,0 +1,2 @@+<grep>+</grep>

tests/out/Hello_--xml-n.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1">#!/bin/sh</match>+    <match line="2">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4">SourceFile&#1;&#0;</match>+    <match line="5">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7">&#0;&#0;&#0;</match>+    <match line="8">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1">import java.lang.*;</match>+    <match line="2">public class Hello // prints a Hello World! greeting</match>+    <match line="3">{ public static void main(String[] arg)</match>+    <match line="4">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5">  }</match>+    <match line="6">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1">%PDF-1.3</match>+    <match line="2">%Äåòåë§ó ÐÄÆ</match>+    <match line="3">4 0 obj</match>+    <match line="4">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5">stream</match>+    <match line="6">x&#1;EŽ»</match>+    <match line="7">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9">endstream</match>+    <match line="10">endobj</match>+    <match line="11">5 0 obj</match>+    <match line="12">123</match>+    <match line="13">endobj</match>+    <match line="14">2 0 obj</match>+    <match line="15">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16">&gt;&gt;</match>+    <match line="17">endobj</match>+    <match line="18">6 0 obj</match>+    <match line="19">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20">&gt;&gt; &gt;&gt;</match>+    <match line="21">endobj</match>+    <match line="22">9 0 obj</match>+    <match line="23">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24">stream</match>+    <match line="25">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31">endstream</match>+    <match line="32">endobj</match>+    <match line="33">10 0 obj</match>+    <match line="34">1116</match>+    <match line="35">endobj</match>+    <match line="36">7 0 obj</match>+    <match line="37">[ /ICCBased 9 0 R ]</match>+    <match line="38">endobj</match>+    <match line="39">3 0 obj</match>+    <match line="40">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41">endobj</match>+    <match line="42">11 0 obj</match>+    <match line="43">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44">endobj</match>+    <match line="45">8 0 obj</match>+    <match line="46">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49">0 0 602 ] &gt;&gt;</match>+    <match line="50">endobj</match>+    <match line="51">12 0 obj</match>+    <match line="52">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55">&gt;&gt;</match>+    <match line="56">endobj</match>+    <match line="57">13 0 obj</match>+    <match line="58">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59">stream</match>+    <match line="60">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63">ïT`ŸÂÛ</match>+    <match line="64">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68">TtÄý</match>+    <match line="69">å6üBa‰Â=</match>+    <match line="70">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75">q©ˆu FÁ¦-</match>+    <match line="76">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79">endstream</match>+    <match line="80">endobj</match>+    <match line="81">14 0 obj</match>+    <match line="82">2734</match>+    <match line="83">endobj</match>+    <match line="84">15 0 obj</match>+    <match line="85">(Hello)</match>+    <match line="86">endobj</match>+    <match line="87">16 0 obj</match>+    <match line="88">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89">endobj</match>+    <match line="90">17 0 obj</match>+    <match line="91">(TextEdit)</match>+    <match line="92">endobj</match>+    <match line="93">18 0 obj</match>+    <match line="94">(D:20200124010711Z00'00')</match>+    <match line="95">endobj</match>+    <match line="96">19 0 obj</match>+    <match line="97">()</match>+    <match line="98">endobj</match>+    <match line="99">20 0 obj</match>+    <match line="100">[ ]</match>+    <match line="101">endobj</match>+    <match line="102">1 0 obj</match>+    <match line="103">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105">endobj</match>+    <match line="106">xref</match>+    <match line="107">0 21</match>+    <match line="108">0000000000 65535 f </match>+    <match line="109">0000005392 00000 n </match>+    <match line="110">0000000238 00000 n </match>+    <match line="111">0000001714 00000 n </match>+    <match line="112">0000000022 00000 n </match>+    <match line="113">0000000219 00000 n </match>+    <match line="114">0000000342 00000 n </match>+    <match line="115">0000001679 00000 n </match>+    <match line="116">0000001847 00000 n </match>+    <match line="117">0000000439 00000 n </match>+    <match line="118">0000001658 00000 n </match>+    <match line="119">0000001797 00000 n </match>+    <match line="120">0000002110 00000 n </match>+    <match line="121">0000002362 00000 n </match>+    <match line="122">0000005186 00000 n </match>+    <match line="123">0000005207 00000 n </match>+    <match line="124">0000005231 00000 n </match>+    <match line="125">0000005284 00000 n </match>+    <match line="126">0000005311 00000 n </match>+    <match line="127">0000005353 00000 n </match>+    <match line="128">0000005372 00000 n </match>+    <match line="129">trailer</match>+    <match line="130">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132">startxref</match>+    <match line="133">5536</match>+    <match line="134">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1">#!/bin/sh</match>+    <match line="2">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-nkb.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1" column="1" offset="0">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2" column="1" offset="11">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3" column="1" offset="24">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4" column="1" offset="109">SourceFile&#1;&#0;</match>+    <match line="5" column="1" offset="122">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6" column="1" offset="345">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7" column="1" offset="392">&#0;&#0;&#0;</match>+    <match line="8" column="1" offset="396">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1" column="1" offset="0">import java.lang.*;</match>+    <match line="2" column="1" offset="20">public class Hello // prints a Hello World! greeting</match>+    <match line="3" column="1" offset="73">{ public static void main(String[] arg)</match>+    <match line="4" column="1" offset="113">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5" column="1" offset="153">  }</match>+    <match line="6" column="1" offset="157">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1" column="1" offset="0">%PDF-1.3</match>+    <match line="2" column="1" offset="9">%Äåòåë§ó ÐÄÆ</match>+    <match line="3" column="1" offset="22">4 0 obj</match>+    <match line="4" column="1" offset="30">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5" column="1" offset="71">stream</match>+    <match line="6" column="1" offset="78">x&#1;EŽ»</match>+    <match line="7" column="1" offset="84">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8" column="1" offset="138">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9" column="1" offset="202">endstream</match>+    <match line="10" column="1" offset="212">endobj</match>+    <match line="11" column="1" offset="219">5 0 obj</match>+    <match line="12" column="1" offset="227">123</match>+    <match line="13" column="1" offset="231">endobj</match>+    <match line="14" column="1" offset="238">2 0 obj</match>+    <match line="15" column="1" offset="246">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16" column="1" offset="332">&gt;&gt;</match>+    <match line="17" column="1" offset="335">endobj</match>+    <match line="18" column="1" offset="342">6 0 obj</match>+    <match line="19" column="1" offset="350">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20" column="1" offset="426">&gt;&gt; &gt;&gt;</match>+    <match line="21" column="1" offset="432">endobj</match>+    <match line="22" column="1" offset="439">9 0 obj</match>+    <match line="23" column="1" offset="447">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24" column="1" offset="517">stream</match>+    <match line="25" column="1" offset="524">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26" column="1" offset="606">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27" column="1" offset="1019">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28" column="1" offset="1223">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29" column="1" offset="1377">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30" column="1" offset="1604">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31" column="1" offset="1641">endstream</match>+    <match line="32" column="1" offset="1651">endobj</match>+    <match line="33" column="1" offset="1658">10 0 obj</match>+    <match line="34" column="1" offset="1667">1116</match>+    <match line="35" column="1" offset="1672">endobj</match>+    <match line="36" column="1" offset="1679">7 0 obj</match>+    <match line="37" column="1" offset="1687">[ /ICCBased 9 0 R ]</match>+    <match line="38" column="1" offset="1707">endobj</match>+    <match line="39" column="1" offset="1714">3 0 obj</match>+    <match line="40" column="1" offset="1722">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41" column="1" offset="1790">endobj</match>+    <match line="42" column="1" offset="1797">11 0 obj</match>+    <match line="43" column="1" offset="1806">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44" column="1" offset="1840">endobj</match>+    <match line="45" column="1" offset="1847">8 0 obj</match>+    <match line="46" column="1" offset="1855">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47" column="1" offset="1937">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48" column="1" offset="2014">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49" column="1" offset="2090">0 0 602 ] &gt;&gt;</match>+    <match line="50" column="1" offset="2103">endobj</match>+    <match line="51" column="1" offset="2110">12 0 obj</match>+    <match line="52" column="1" offset="2119">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53" column="1" offset="2196">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54" column="1" offset="2273">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55" column="1" offset="2352">&gt;&gt;</match>+    <match line="56" column="1" offset="2355">endobj</match>+    <match line="57" column="1" offset="2362">13 0 obj</match>+    <match line="58" column="1" offset="2371">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59" column="1" offset="2427">stream</match>+    <match line="60" column="1" offset="2434">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61" column="1" offset="2511">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62" column="1" offset="2998">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63" column="1" offset="3045">ïT`ŸÂÛ</match>+    <match line="64" column="1" offset="3052">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65" column="1" offset="3143">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66" column="1" offset="3188">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67" column="1" offset="3303">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68" column="1" offset="3325">TtÄý</match>+    <match line="69" column="1" offset="3330">å6üBa‰Â=</match>+    <match line="70" column="1" offset="3339">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71" column="1" offset="3385">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72" column="1" offset="3577">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73" column="1" offset="3683">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74" column="1" offset="3695">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75" column="1" offset="3822">q©ˆu FÁ¦-</match>+    <match line="76" column="1" offset="3833">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77" column="1" offset="3852">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78" column="1" offset="4532">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79" column="1" offset="5169">endstream</match>+    <match line="80" column="1" offset="5179">endobj</match>+    <match line="81" column="1" offset="5186">14 0 obj</match>+    <match line="82" column="1" offset="5195">2734</match>+    <match line="83" column="1" offset="5200">endobj</match>+    <match line="84" column="1" offset="5207">15 0 obj</match>+    <match line="85" column="1" offset="5216">(Hello)</match>+    <match line="86" column="1" offset="5224">endobj</match>+    <match line="87" column="1" offset="5231">16 0 obj</match>+    <match line="88" column="1" offset="5240">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89" column="1" offset="5277">endobj</match>+    <match line="90" column="1" offset="5284">17 0 obj</match>+    <match line="91" column="1" offset="5293">(TextEdit)</match>+    <match line="92" column="1" offset="5304">endobj</match>+    <match line="93" column="1" offset="5311">18 0 obj</match>+    <match line="94" column="1" offset="5320">(D:20200124010711Z00'00')</match>+    <match line="95" column="1" offset="5346">endobj</match>+    <match line="96" column="1" offset="5353">19 0 obj</match>+    <match line="97" column="1" offset="5362">()</match>+    <match line="98" column="1" offset="5365">endobj</match>+    <match line="99" column="1" offset="5372">20 0 obj</match>+    <match line="100" column="1" offset="5381">[ ]</match>+    <match line="101" column="1" offset="5385">endobj</match>+    <match line="102" column="1" offset="5392">1 0 obj</match>+    <match line="103" column="1" offset="5400">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104" column="1" offset="5480">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105" column="1" offset="5529">endobj</match>+    <match line="106" column="1" offset="5536">xref</match>+    <match line="107" column="1" offset="5541">0 21</match>+    <match line="108" column="1" offset="5546">0000000000 65535 f </match>+    <match line="109" column="1" offset="5566">0000005392 00000 n </match>+    <match line="110" column="1" offset="5586">0000000238 00000 n </match>+    <match line="111" column="1" offset="5606">0000001714 00000 n </match>+    <match line="112" column="1" offset="5626">0000000022 00000 n </match>+    <match line="113" column="1" offset="5646">0000000219 00000 n </match>+    <match line="114" column="1" offset="5666">0000000342 00000 n </match>+    <match line="115" column="1" offset="5686">0000001679 00000 n </match>+    <match line="116" column="1" offset="5706">0000001847 00000 n </match>+    <match line="117" column="1" offset="5726">0000000439 00000 n </match>+    <match line="118" column="1" offset="5746">0000001658 00000 n </match>+    <match line="119" column="1" offset="5766">0000001797 00000 n </match>+    <match line="120" column="1" offset="5786">0000002110 00000 n </match>+    <match line="121" column="1" offset="5806">0000002362 00000 n </match>+    <match line="122" column="1" offset="5826">0000005186 00000 n </match>+    <match line="123" column="1" offset="5846">0000005207 00000 n </match>+    <match line="124" column="1" offset="5866">0000005231 00000 n </match>+    <match line="125" column="1" offset="5886">0000005284 00000 n </match>+    <match line="126" column="1" offset="5906">0000005311 00000 n </match>+    <match line="127" column="1" offset="5926">0000005353 00000 n </match>+    <match line="128" column="1" offset="5946">0000005372 00000 n </match>+    <match line="129" column="1" offset="5966">trailer</match>+    <match line="130" column="1" offset="5974">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131" column="1" offset="6052">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132" column="1" offset="6092">startxref</match>+    <match line="133" column="1" offset="6102">5536</match>+    <match line="134" column="1" offset="6107">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1" column="1" offset="0">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-o.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match>#!/bin/sh</match>+    <match>echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match>Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match>&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match>&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match>SourceFile&#1;&#0;</match>+    <match>Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match>&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match>&#0;&#0;&#0;</match>+    <match>&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match>import java.lang.*;</match>+    <match>public class Hello // prints a Hello World! greeting</match>+    <match>{ public static void main(String[] arg)</match>+    <match>  { System.out.println(&quot;Hello World!&quot;);</match>+    <match>  }</match>+    <match>}</match>+  </file>+  <file name="Hello.pdf">+    <match>%PDF-1.3</match>+    <match>%Äåòåë§ó ÐÄÆ</match>+    <match>4 0 obj</match>+    <match>&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;EŽ»</match>+    <match>&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match>Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>5 0 obj</match>+    <match>123</match>+    <match>endobj</match>+    <match>2 0 obj</match>+    <match>&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match>&gt;&gt;</match>+    <match>endobj</match>+    <match>6 0 obj</match>+    <match>&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match>&gt;&gt; &gt;&gt;</match>+    <match>endobj</match>+    <match>9 0 obj</match>+    <match>&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match>&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match>ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match>¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match>K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match>Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>10 0 obj</match>+    <match>1116</match>+    <match>endobj</match>+    <match>7 0 obj</match>+    <match>[ /ICCBased 9 0 R ]</match>+    <match>endobj</match>+    <match>3 0 obj</match>+    <match>&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match>endobj</match>+    <match>11 0 obj</match>+    <match>&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match>endobj</match>+    <match>8 0 obj</match>+    <match>&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match>12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match>0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match>0 0 602 ] &gt;&gt;</match>+    <match>endobj</match>+    <match>12 0 obj</match>+    <match>&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match>[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match>/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match>&gt;&gt;</match>+    <match>endobj</match>+    <match>13 0 obj</match>+    <match>&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match>ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match>&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match>ïT`ŸÂÛ</match>+    <match>&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match>¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match>ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match>Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match>TtÄý</match>+    <match>å6üBa‰Â=</match>+    <match>‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match>wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match>ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match>Ý&#20;º*t±Ã—:Lú</match>+    <match>p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match>q©ˆu FÁ¦-</match>+    <match>Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match>W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match>—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>14 0 obj</match>+    <match>2734</match>+    <match>endobj</match>+    <match>15 0 obj</match>+    <match>(Hello)</match>+    <match>endobj</match>+    <match>16 0 obj</match>+    <match>(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match>endobj</match>+    <match>17 0 obj</match>+    <match>(TextEdit)</match>+    <match>endobj</match>+    <match>18 0 obj</match>+    <match>(D:20200124010711Z00'00')</match>+    <match>endobj</match>+    <match>19 0 obj</match>+    <match>()</match>+    <match>endobj</match>+    <match>20 0 obj</match>+    <match>[ ]</match>+    <match>endobj</match>+    <match>1 0 obj</match>+    <match>&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match>18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match>endobj</match>+    <match>xref</match>+    <match>0 21</match>+    <match>0000000000 65535 f </match>+    <match>0000005392 00000 n </match>+    <match>0000000238 00000 n </match>+    <match>0000001714 00000 n </match>+    <match>0000000022 00000 n </match>+    <match>0000000219 00000 n </match>+    <match>0000000342 00000 n </match>+    <match>0000001679 00000 n </match>+    <match>0000001847 00000 n </match>+    <match>0000000439 00000 n </match>+    <match>0000001658 00000 n </match>+    <match>0000001797 00000 n </match>+    <match>0000002110 00000 n </match>+    <match>0000002362 00000 n </match>+    <match>0000005186 00000 n </match>+    <match>0000005207 00000 n </match>+    <match>0000005231 00000 n </match>+    <match>0000005284 00000 n </match>+    <match>0000005311 00000 n </match>+    <match>0000005353 00000 n </match>+    <match>0000005372 00000 n </match>+    <match>trailer</match>+    <match>&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match>&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match>startxref</match>+    <match>5536</match>+    <match>%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match>#!/bin/sh</match>+    <match>echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match>Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-on.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1">#!/bin/sh</match>+    <match line="2">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4">SourceFile&#1;&#0;</match>+    <match line="5">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7">&#0;&#0;&#0;</match>+    <match line="8">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1">import java.lang.*;</match>+    <match line="2">public class Hello // prints a Hello World! greeting</match>+    <match line="3">{ public static void main(String[] arg)</match>+    <match line="4">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5">  }</match>+    <match line="6">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1">%PDF-1.3</match>+    <match line="2">%Äåòåë§ó ÐÄÆ</match>+    <match line="3">4 0 obj</match>+    <match line="4">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5">stream</match>+    <match line="6">x&#1;EŽ»</match>+    <match line="7">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9">endstream</match>+    <match line="10">endobj</match>+    <match line="11">5 0 obj</match>+    <match line="12">123</match>+    <match line="13">endobj</match>+    <match line="14">2 0 obj</match>+    <match line="15">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16">&gt;&gt;</match>+    <match line="17">endobj</match>+    <match line="18">6 0 obj</match>+    <match line="19">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20">&gt;&gt; &gt;&gt;</match>+    <match line="21">endobj</match>+    <match line="22">9 0 obj</match>+    <match line="23">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24">stream</match>+    <match line="25">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31">endstream</match>+    <match line="32">endobj</match>+    <match line="33">10 0 obj</match>+    <match line="34">1116</match>+    <match line="35">endobj</match>+    <match line="36">7 0 obj</match>+    <match line="37">[ /ICCBased 9 0 R ]</match>+    <match line="38">endobj</match>+    <match line="39">3 0 obj</match>+    <match line="40">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41">endobj</match>+    <match line="42">11 0 obj</match>+    <match line="43">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44">endobj</match>+    <match line="45">8 0 obj</match>+    <match line="46">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49">0 0 602 ] &gt;&gt;</match>+    <match line="50">endobj</match>+    <match line="51">12 0 obj</match>+    <match line="52">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55">&gt;&gt;</match>+    <match line="56">endobj</match>+    <match line="57">13 0 obj</match>+    <match line="58">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59">stream</match>+    <match line="60">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63">ïT`ŸÂÛ</match>+    <match line="64">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68">TtÄý</match>+    <match line="69">å6üBa‰Â=</match>+    <match line="70">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75">q©ˆu FÁ¦-</match>+    <match line="76">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79">endstream</match>+    <match line="80">endobj</match>+    <match line="81">14 0 obj</match>+    <match line="82">2734</match>+    <match line="83">endobj</match>+    <match line="84">15 0 obj</match>+    <match line="85">(Hello)</match>+    <match line="86">endobj</match>+    <match line="87">16 0 obj</match>+    <match line="88">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89">endobj</match>+    <match line="90">17 0 obj</match>+    <match line="91">(TextEdit)</match>+    <match line="92">endobj</match>+    <match line="93">18 0 obj</match>+    <match line="94">(D:20200124010711Z00'00')</match>+    <match line="95">endobj</match>+    <match line="96">19 0 obj</match>+    <match line="97">()</match>+    <match line="98">endobj</match>+    <match line="99">20 0 obj</match>+    <match line="100">[ ]</match>+    <match line="101">endobj</match>+    <match line="102">1 0 obj</match>+    <match line="103">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105">endobj</match>+    <match line="106">xref</match>+    <match line="107">0 21</match>+    <match line="108">0000000000 65535 f </match>+    <match line="109">0000005392 00000 n </match>+    <match line="110">0000000238 00000 n </match>+    <match line="111">0000001714 00000 n </match>+    <match line="112">0000000022 00000 n </match>+    <match line="113">0000000219 00000 n </match>+    <match line="114">0000000342 00000 n </match>+    <match line="115">0000001679 00000 n </match>+    <match line="116">0000001847 00000 n </match>+    <match line="117">0000000439 00000 n </match>+    <match line="118">0000001658 00000 n </match>+    <match line="119">0000001797 00000 n </match>+    <match line="120">0000002110 00000 n </match>+    <match line="121">0000002362 00000 n </match>+    <match line="122">0000005186 00000 n </match>+    <match line="123">0000005207 00000 n </match>+    <match line="124">0000005231 00000 n </match>+    <match line="125">0000005284 00000 n </match>+    <match line="126">0000005311 00000 n </match>+    <match line="127">0000005353 00000 n </match>+    <match line="128">0000005372 00000 n </match>+    <match line="129">trailer</match>+    <match line="130">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132">startxref</match>+    <match line="133">5536</match>+    <match line="134">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1">#!/bin/sh</match>+    <match line="2">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-onkb.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1" column="1" offset="0">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2" column="1" offset="11">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3" column="1" offset="24">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4" column="1" offset="109">SourceFile&#1;&#0;</match>+    <match line="5" column="1" offset="122">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6" column="1" offset="345">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7" column="1" offset="392">&#0;&#0;&#0;</match>+    <match line="8" column="1" offset="396">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1" column="1" offset="0">import java.lang.*;</match>+    <match line="2" column="1" offset="20">public class Hello // prints a Hello World! greeting</match>+    <match line="3" column="1" offset="73">{ public static void main(String[] arg)</match>+    <match line="4" column="1" offset="113">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5" column="1" offset="153">  }</match>+    <match line="6" column="1" offset="157">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1" column="1" offset="0">%PDF-1.3</match>+    <match line="2" column="1" offset="9">%Äåòåë§ó ÐÄÆ</match>+    <match line="3" column="1" offset="22">4 0 obj</match>+    <match line="4" column="1" offset="30">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5" column="1" offset="71">stream</match>+    <match line="6" column="1" offset="78">x&#1;EŽ»</match>+    <match line="7" column="1" offset="84">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8" column="1" offset="138">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9" column="1" offset="202">endstream</match>+    <match line="10" column="1" offset="212">endobj</match>+    <match line="11" column="1" offset="219">5 0 obj</match>+    <match line="12" column="1" offset="227">123</match>+    <match line="13" column="1" offset="231">endobj</match>+    <match line="14" column="1" offset="238">2 0 obj</match>+    <match line="15" column="1" offset="246">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16" column="1" offset="332">&gt;&gt;</match>+    <match line="17" column="1" offset="335">endobj</match>+    <match line="18" column="1" offset="342">6 0 obj</match>+    <match line="19" column="1" offset="350">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20" column="1" offset="426">&gt;&gt; &gt;&gt;</match>+    <match line="21" column="1" offset="432">endobj</match>+    <match line="22" column="1" offset="439">9 0 obj</match>+    <match line="23" column="1" offset="447">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24" column="1" offset="517">stream</match>+    <match line="25" column="1" offset="524">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26" column="1" offset="606">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27" column="1" offset="1019">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28" column="1" offset="1223">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29" column="1" offset="1377">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30" column="1" offset="1604">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31" column="1" offset="1641">endstream</match>+    <match line="32" column="1" offset="1651">endobj</match>+    <match line="33" column="1" offset="1658">10 0 obj</match>+    <match line="34" column="1" offset="1667">1116</match>+    <match line="35" column="1" offset="1672">endobj</match>+    <match line="36" column="1" offset="1679">7 0 obj</match>+    <match line="37" column="1" offset="1687">[ /ICCBased 9 0 R ]</match>+    <match line="38" column="1" offset="1707">endobj</match>+    <match line="39" column="1" offset="1714">3 0 obj</match>+    <match line="40" column="1" offset="1722">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41" column="1" offset="1790">endobj</match>+    <match line="42" column="1" offset="1797">11 0 obj</match>+    <match line="43" column="1" offset="1806">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44" column="1" offset="1840">endobj</match>+    <match line="45" column="1" offset="1847">8 0 obj</match>+    <match line="46" column="1" offset="1855">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47" column="1" offset="1937">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48" column="1" offset="2014">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49" column="1" offset="2090">0 0 602 ] &gt;&gt;</match>+    <match line="50" column="1" offset="2103">endobj</match>+    <match line="51" column="1" offset="2110">12 0 obj</match>+    <match line="52" column="1" offset="2119">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53" column="1" offset="2196">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54" column="1" offset="2273">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55" column="1" offset="2352">&gt;&gt;</match>+    <match line="56" column="1" offset="2355">endobj</match>+    <match line="57" column="1" offset="2362">13 0 obj</match>+    <match line="58" column="1" offset="2371">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59" column="1" offset="2427">stream</match>+    <match line="60" column="1" offset="2434">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61" column="1" offset="2511">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62" column="1" offset="2998">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63" column="1" offset="3045">ïT`ŸÂÛ</match>+    <match line="64" column="1" offset="3052">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65" column="1" offset="3143">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66" column="1" offset="3188">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67" column="1" offset="3303">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68" column="1" offset="3325">TtÄý</match>+    <match line="69" column="1" offset="3330">å6üBa‰Â=</match>+    <match line="70" column="1" offset="3339">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71" column="1" offset="3385">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72" column="1" offset="3577">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73" column="1" offset="3683">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74" column="1" offset="3695">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75" column="1" offset="3822">q©ˆu FÁ¦-</match>+    <match line="76" column="1" offset="3833">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77" column="1" offset="3852">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78" column="1" offset="4532">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79" column="1" offset="5169">endstream</match>+    <match line="80" column="1" offset="5179">endobj</match>+    <match line="81" column="1" offset="5186">14 0 obj</match>+    <match line="82" column="1" offset="5195">2734</match>+    <match line="83" column="1" offset="5200">endobj</match>+    <match line="84" column="1" offset="5207">15 0 obj</match>+    <match line="85" column="1" offset="5216">(Hello)</match>+    <match line="86" column="1" offset="5224">endobj</match>+    <match line="87" column="1" offset="5231">16 0 obj</match>+    <match line="88" column="1" offset="5240">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89" column="1" offset="5277">endobj</match>+    <match line="90" column="1" offset="5284">17 0 obj</match>+    <match line="91" column="1" offset="5293">(TextEdit)</match>+    <match line="92" column="1" offset="5304">endobj</match>+    <match line="93" column="1" offset="5311">18 0 obj</match>+    <match line="94" column="1" offset="5320">(D:20200124010711Z00'00')</match>+    <match line="95" column="1" offset="5346">endobj</match>+    <match line="96" column="1" offset="5353">19 0 obj</match>+    <match line="97" column="1" offset="5362">()</match>+    <match line="98" column="1" offset="5365">endobj</match>+    <match line="99" column="1" offset="5372">20 0 obj</match>+    <match line="100" column="1" offset="5381">[ ]</match>+    <match line="101" column="1" offset="5385">endobj</match>+    <match line="102" column="1" offset="5392">1 0 obj</match>+    <match line="103" column="1" offset="5400">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104" column="1" offset="5480">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105" column="1" offset="5529">endobj</match>+    <match line="106" column="1" offset="5536">xref</match>+    <match line="107" column="1" offset="5541">0 21</match>+    <match line="108" column="1" offset="5546">0000000000 65535 f </match>+    <match line="109" column="1" offset="5566">0000005392 00000 n </match>+    <match line="110" column="1" offset="5586">0000000238 00000 n </match>+    <match line="111" column="1" offset="5606">0000001714 00000 n </match>+    <match line="112" column="1" offset="5626">0000000022 00000 n </match>+    <match line="113" column="1" offset="5646">0000000219 00000 n </match>+    <match line="114" column="1" offset="5666">0000000342 00000 n </match>+    <match line="115" column="1" offset="5686">0000001679 00000 n </match>+    <match line="116" column="1" offset="5706">0000001847 00000 n </match>+    <match line="117" column="1" offset="5726">0000000439 00000 n </match>+    <match line="118" column="1" offset="5746">0000001658 00000 n </match>+    <match line="119" column="1" offset="5766">0000001797 00000 n </match>+    <match line="120" column="1" offset="5786">0000002110 00000 n </match>+    <match line="121" column="1" offset="5806">0000002362 00000 n </match>+    <match line="122" column="1" offset="5826">0000005186 00000 n </match>+    <match line="123" column="1" offset="5846">0000005207 00000 n </match>+    <match line="124" column="1" offset="5866">0000005231 00000 n </match>+    <match line="125" column="1" offset="5886">0000005284 00000 n </match>+    <match line="126" column="1" offset="5906">0000005311 00000 n </match>+    <match line="127" column="1" offset="5926">0000005353 00000 n </match>+    <match line="128" column="1" offset="5946">0000005372 00000 n </match>+    <match line="129" column="1" offset="5966">trailer</match>+    <match line="130" column="1" offset="5974">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131" column="1" offset="6052">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132" column="1" offset="6092">startxref</match>+    <match line="133" column="1" offset="6102">5536</match>+    <match line="134" column="1" offset="6107">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1" column="1" offset="0">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-ounkb.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1" column="1" offset="0">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2" column="1" offset="11">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3" column="1" offset="24">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4" column="1" offset="109">SourceFile&#1;&#0;</match>+    <match line="5" column="1" offset="122">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6" column="1" offset="345">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7" column="1" offset="392">&#0;&#0;&#0;</match>+    <match line="8" column="1" offset="396">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1" column="1" offset="0">import java.lang.*;</match>+    <match line="2" column="1" offset="20">public class Hello // prints a Hello World! greeting</match>+    <match line="3" column="1" offset="73">{ public static void main(String[] arg)</match>+    <match line="4" column="1" offset="113">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5" column="1" offset="153">  }</match>+    <match line="6" column="1" offset="157">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1" column="1" offset="0">%PDF-1.3</match>+    <match line="2" column="1" offset="9">%Äåòåë§ó ÐÄÆ</match>+    <match line="3" column="1" offset="22">4 0 obj</match>+    <match line="4" column="1" offset="30">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5" column="1" offset="71">stream</match>+    <match line="6" column="1" offset="78">x&#1;EŽ»</match>+    <match line="7" column="1" offset="84">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8" column="1" offset="138">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9" column="1" offset="202">endstream</match>+    <match line="10" column="1" offset="212">endobj</match>+    <match line="11" column="1" offset="219">5 0 obj</match>+    <match line="12" column="1" offset="227">123</match>+    <match line="13" column="1" offset="231">endobj</match>+    <match line="14" column="1" offset="238">2 0 obj</match>+    <match line="15" column="1" offset="246">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16" column="1" offset="332">&gt;&gt;</match>+    <match line="17" column="1" offset="335">endobj</match>+    <match line="18" column="1" offset="342">6 0 obj</match>+    <match line="19" column="1" offset="350">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20" column="1" offset="426">&gt;&gt; &gt;&gt;</match>+    <match line="21" column="1" offset="432">endobj</match>+    <match line="22" column="1" offset="439">9 0 obj</match>+    <match line="23" column="1" offset="447">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24" column="1" offset="517">stream</match>+    <match line="25" column="1" offset="524">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26" column="1" offset="606">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27" column="1" offset="1019">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28" column="1" offset="1223">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29" column="1" offset="1377">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30" column="1" offset="1604">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31" column="1" offset="1641">endstream</match>+    <match line="32" column="1" offset="1651">endobj</match>+    <match line="33" column="1" offset="1658">10 0 obj</match>+    <match line="34" column="1" offset="1667">1116</match>+    <match line="35" column="1" offset="1672">endobj</match>+    <match line="36" column="1" offset="1679">7 0 obj</match>+    <match line="37" column="1" offset="1687">[ /ICCBased 9 0 R ]</match>+    <match line="38" column="1" offset="1707">endobj</match>+    <match line="39" column="1" offset="1714">3 0 obj</match>+    <match line="40" column="1" offset="1722">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41" column="1" offset="1790">endobj</match>+    <match line="42" column="1" offset="1797">11 0 obj</match>+    <match line="43" column="1" offset="1806">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44" column="1" offset="1840">endobj</match>+    <match line="45" column="1" offset="1847">8 0 obj</match>+    <match line="46" column="1" offset="1855">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47" column="1" offset="1937">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48" column="1" offset="2014">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49" column="1" offset="2090">0 0 602 ] &gt;&gt;</match>+    <match line="50" column="1" offset="2103">endobj</match>+    <match line="51" column="1" offset="2110">12 0 obj</match>+    <match line="52" column="1" offset="2119">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53" column="1" offset="2196">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54" column="1" offset="2273">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55" column="1" offset="2352">&gt;&gt;</match>+    <match line="56" column="1" offset="2355">endobj</match>+    <match line="57" column="1" offset="2362">13 0 obj</match>+    <match line="58" column="1" offset="2371">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59" column="1" offset="2427">stream</match>+    <match line="60" column="1" offset="2434">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61" column="1" offset="2511">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62" column="1" offset="2998">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63" column="1" offset="3045">ïT`ŸÂÛ</match>+    <match line="64" column="1" offset="3052">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65" column="1" offset="3143">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66" column="1" offset="3188">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67" column="1" offset="3303">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68" column="1" offset="3325">TtÄý</match>+    <match line="69" column="1" offset="3330">å6üBa‰Â=</match>+    <match line="70" column="1" offset="3339">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71" column="1" offset="3385">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72" column="1" offset="3577">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73" column="1" offset="3683">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74" column="1" offset="3695">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75" column="1" offset="3822">q©ˆu FÁ¦-</match>+    <match line="76" column="1" offset="3833">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77" column="1" offset="3852">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78" column="1" offset="4532">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79" column="1" offset="5169">endstream</match>+    <match line="80" column="1" offset="5179">endobj</match>+    <match line="81" column="1" offset="5186">14 0 obj</match>+    <match line="82" column="1" offset="5195">2734</match>+    <match line="83" column="1" offset="5200">endobj</match>+    <match line="84" column="1" offset="5207">15 0 obj</match>+    <match line="85" column="1" offset="5216">(Hello)</match>+    <match line="86" column="1" offset="5224">endobj</match>+    <match line="87" column="1" offset="5231">16 0 obj</match>+    <match line="88" column="1" offset="5240">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89" column="1" offset="5277">endobj</match>+    <match line="90" column="1" offset="5284">17 0 obj</match>+    <match line="91" column="1" offset="5293">(TextEdit)</match>+    <match line="92" column="1" offset="5304">endobj</match>+    <match line="93" column="1" offset="5311">18 0 obj</match>+    <match line="94" column="1" offset="5320">(D:20200124010711Z00'00')</match>+    <match line="95" column="1" offset="5346">endobj</match>+    <match line="96" column="1" offset="5353">19 0 obj</match>+    <match line="97" column="1" offset="5362">()</match>+    <match line="98" column="1" offset="5365">endobj</match>+    <match line="99" column="1" offset="5372">20 0 obj</match>+    <match line="100" column="1" offset="5381">[ ]</match>+    <match line="101" column="1" offset="5385">endobj</match>+    <match line="102" column="1" offset="5392">1 0 obj</match>+    <match line="103" column="1" offset="5400">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104" column="1" offset="5480">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105" column="1" offset="5529">endobj</match>+    <match line="106" column="1" offset="5536">xref</match>+    <match line="107" column="1" offset="5541">0 21</match>+    <match line="108" column="1" offset="5546">0000000000 65535 f </match>+    <match line="109" column="1" offset="5566">0000005392 00000 n </match>+    <match line="110" column="1" offset="5586">0000000238 00000 n </match>+    <match line="111" column="1" offset="5606">0000001714 00000 n </match>+    <match line="112" column="1" offset="5626">0000000022 00000 n </match>+    <match line="113" column="1" offset="5646">0000000219 00000 n </match>+    <match line="114" column="1" offset="5666">0000000342 00000 n </match>+    <match line="115" column="1" offset="5686">0000001679 00000 n </match>+    <match line="116" column="1" offset="5706">0000001847 00000 n </match>+    <match line="117" column="1" offset="5726">0000000439 00000 n </match>+    <match line="118" column="1" offset="5746">0000001658 00000 n </match>+    <match line="119" column="1" offset="5766">0000001797 00000 n </match>+    <match line="120" column="1" offset="5786">0000002110 00000 n </match>+    <match line="121" column="1" offset="5806">0000002362 00000 n </match>+    <match line="122" column="1" offset="5826">0000005186 00000 n </match>+    <match line="123" column="1" offset="5846">0000005207 00000 n </match>+    <match line="124" column="1" offset="5866">0000005231 00000 n </match>+    <match line="125" column="1" offset="5886">0000005284 00000 n </match>+    <match line="126" column="1" offset="5906">0000005311 00000 n </match>+    <match line="127" column="1" offset="5926">0000005353 00000 n </match>+    <match line="128" column="1" offset="5946">0000005372 00000 n </match>+    <match line="129" column="1" offset="5966">trailer</match>+    <match line="130" column="1" offset="5974">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131" column="1" offset="6052">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132" column="1" offset="6092">startxref</match>+    <match line="133" column="1" offset="6102">5536</match>+    <match line="134" column="1" offset="6107">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1" column="1" offset="0">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml-unkb.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match line="1" column="1" offset="0">Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match line="2" column="1" offset="11">&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match line="3" column="1" offset="24">&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match line="4" column="1" offset="109">SourceFile&#1;&#0;</match>+    <match line="5" column="1" offset="122">Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="6" column="1" offset="345">&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match line="7" column="1" offset="392">&#0;&#0;&#0;</match>+    <match line="8" column="1" offset="396">&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match line="1" column="1" offset="0">import java.lang.*;</match>+    <match line="2" column="1" offset="20">public class Hello // prints a Hello World! greeting</match>+    <match line="3" column="1" offset="73">{ public static void main(String[] arg)</match>+    <match line="4" column="1" offset="113">  { System.out.println(&quot;Hello World!&quot;);</match>+    <match line="5" column="1" offset="153">  }</match>+    <match line="6" column="1" offset="157">}</match>+  </file>+  <file name="Hello.pdf">+    <match line="1" column="1" offset="0">%PDF-1.3</match>+    <match line="2" column="1" offset="9">%Äåòåë§ó ÐÄÆ</match>+    <match line="3" column="1" offset="22">4 0 obj</match>+    <match line="4" column="1" offset="30">&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match line="5" column="1" offset="71">stream</match>+    <match line="6" column="1" offset="78">x&#1;EŽ»</match>+    <match line="7" column="1" offset="84">&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match line="8" column="1" offset="138">Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match line="9" column="1" offset="202">endstream</match>+    <match line="10" column="1" offset="212">endobj</match>+    <match line="11" column="1" offset="219">5 0 obj</match>+    <match line="12" column="1" offset="227">123</match>+    <match line="13" column="1" offset="231">endobj</match>+    <match line="14" column="1" offset="238">2 0 obj</match>+    <match line="15" column="1" offset="246">&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match line="16" column="1" offset="332">&gt;&gt;</match>+    <match line="17" column="1" offset="335">endobj</match>+    <match line="18" column="1" offset="342">6 0 obj</match>+    <match line="19" column="1" offset="350">&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match line="20" column="1" offset="426">&gt;&gt; &gt;&gt;</match>+    <match line="21" column="1" offset="432">endobj</match>+    <match line="22" column="1" offset="439">9 0 obj</match>+    <match line="23" column="1" offset="447">&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match line="24" column="1" offset="517">stream</match>+    <match line="25" column="1" offset="524">x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match line="26" column="1" offset="606">&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match line="27" column="1" offset="1019">ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match line="28" column="1" offset="1223">¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match line="29" column="1" offset="1377">K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match line="30" column="1" offset="1604">Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match line="31" column="1" offset="1641">endstream</match>+    <match line="32" column="1" offset="1651">endobj</match>+    <match line="33" column="1" offset="1658">10 0 obj</match>+    <match line="34" column="1" offset="1667">1116</match>+    <match line="35" column="1" offset="1672">endobj</match>+    <match line="36" column="1" offset="1679">7 0 obj</match>+    <match line="37" column="1" offset="1687">[ /ICCBased 9 0 R ]</match>+    <match line="38" column="1" offset="1707">endobj</match>+    <match line="39" column="1" offset="1714">3 0 obj</match>+    <match line="40" column="1" offset="1722">&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match line="41" column="1" offset="1790">endobj</match>+    <match line="42" column="1" offset="1797">11 0 obj</match>+    <match line="43" column="1" offset="1806">&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match line="44" column="1" offset="1840">endobj</match>+    <match line="45" column="1" offset="1847">8 0 obj</match>+    <match line="46" column="1" offset="1855">&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match line="47" column="1" offset="1937">12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match line="48" column="1" offset="2014">0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match line="49" column="1" offset="2090">0 0 602 ] &gt;&gt;</match>+    <match line="50" column="1" offset="2103">endobj</match>+    <match line="51" column="1" offset="2110">12 0 obj</match>+    <match line="52" column="1" offset="2119">&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match line="53" column="1" offset="2196">[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match line="54" column="1" offset="2273">/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match line="55" column="1" offset="2352">&gt;&gt;</match>+    <match line="56" column="1" offset="2355">endobj</match>+    <match line="57" column="1" offset="2362">13 0 obj</match>+    <match line="58" column="1" offset="2371">&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match line="59" column="1" offset="2427">stream</match>+    <match line="60" column="1" offset="2434">x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match line="61" column="1" offset="2511">ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match line="62" column="1" offset="2998">&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match line="63" column="1" offset="3045">ïT`ŸÂÛ</match>+    <match line="64" column="1" offset="3052">&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match line="65" column="1" offset="3143">¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match line="66" column="1" offset="3188">ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match line="67" column="1" offset="3303">Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match line="68" column="1" offset="3325">TtÄý</match>+    <match line="69" column="1" offset="3330">å6üBa‰Â=</match>+    <match line="70" column="1" offset="3339">‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match line="71" column="1" offset="3385">wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match line="72" column="1" offset="3577">ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match line="73" column="1" offset="3683">Ý&#20;º*t±Ã—:Lú</match>+    <match line="74" column="1" offset="3695">p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match line="75" column="1" offset="3822">q©ˆu FÁ¦-</match>+    <match line="76" column="1" offset="3833">Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match line="77" column="1" offset="3852">W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match line="78" column="1" offset="4532">—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match line="79" column="1" offset="5169">endstream</match>+    <match line="80" column="1" offset="5179">endobj</match>+    <match line="81" column="1" offset="5186">14 0 obj</match>+    <match line="82" column="1" offset="5195">2734</match>+    <match line="83" column="1" offset="5200">endobj</match>+    <match line="84" column="1" offset="5207">15 0 obj</match>+    <match line="85" column="1" offset="5216">(Hello)</match>+    <match line="86" column="1" offset="5224">endobj</match>+    <match line="87" column="1" offset="5231">16 0 obj</match>+    <match line="88" column="1" offset="5240">(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match line="89" column="1" offset="5277">endobj</match>+    <match line="90" column="1" offset="5284">17 0 obj</match>+    <match line="91" column="1" offset="5293">(TextEdit)</match>+    <match line="92" column="1" offset="5304">endobj</match>+    <match line="93" column="1" offset="5311">18 0 obj</match>+    <match line="94" column="1" offset="5320">(D:20200124010711Z00'00')</match>+    <match line="95" column="1" offset="5346">endobj</match>+    <match line="96" column="1" offset="5353">19 0 obj</match>+    <match line="97" column="1" offset="5362">()</match>+    <match line="98" column="1" offset="5365">endobj</match>+    <match line="99" column="1" offset="5372">20 0 obj</match>+    <match line="100" column="1" offset="5381">[ ]</match>+    <match line="101" column="1" offset="5385">endobj</match>+    <match line="102" column="1" offset="5392">1 0 obj</match>+    <match line="103" column="1" offset="5400">&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match line="104" column="1" offset="5480">18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match line="105" column="1" offset="5529">endobj</match>+    <match line="106" column="1" offset="5536">xref</match>+    <match line="107" column="1" offset="5541">0 21</match>+    <match line="108" column="1" offset="5546">0000000000 65535 f </match>+    <match line="109" column="1" offset="5566">0000005392 00000 n </match>+    <match line="110" column="1" offset="5586">0000000238 00000 n </match>+    <match line="111" column="1" offset="5606">0000001714 00000 n </match>+    <match line="112" column="1" offset="5626">0000000022 00000 n </match>+    <match line="113" column="1" offset="5646">0000000219 00000 n </match>+    <match line="114" column="1" offset="5666">0000000342 00000 n </match>+    <match line="115" column="1" offset="5686">0000001679 00000 n </match>+    <match line="116" column="1" offset="5706">0000001847 00000 n </match>+    <match line="117" column="1" offset="5726">0000000439 00000 n </match>+    <match line="118" column="1" offset="5746">0000001658 00000 n </match>+    <match line="119" column="1" offset="5766">0000001797 00000 n </match>+    <match line="120" column="1" offset="5786">0000002110 00000 n </match>+    <match line="121" column="1" offset="5806">0000002362 00000 n </match>+    <match line="122" column="1" offset="5826">0000005186 00000 n </match>+    <match line="123" column="1" offset="5846">0000005207 00000 n </match>+    <match line="124" column="1" offset="5866">0000005231 00000 n </match>+    <match line="125" column="1" offset="5886">0000005284 00000 n </match>+    <match line="126" column="1" offset="5906">0000005311 00000 n </match>+    <match line="127" column="1" offset="5926">0000005353 00000 n </match>+    <match line="128" column="1" offset="5946">0000005372 00000 n </match>+    <match line="129" column="1" offset="5966">trailer</match>+    <match line="130" column="1" offset="5974">&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match line="131" column="1" offset="6052">&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match line="132" column="1" offset="6092">startxref</match>+    <match line="133" column="1" offset="6102">5536</match>+    <match line="134" column="1" offset="6107">%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match line="1" column="1" offset="0">#!/bin/sh</match>+    <match line="2" column="1" offset="10">echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match line="1" column="1" offset="0">Hello</match>+  </file>+</grep>

tests/out/Hello_--xml.out

new file mode 100644@@ -0,0 +1,167 @@+<grep>+  <file name="Hello.bat">+    <match>#!/bin/sh</match>+    <match>echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.class">+    <match>Êþº¾&#0;&#0;&#0;4&#0;&#29;</match>+    <match>&#0;&#6;&#0;&#15;&#9;&#0;&#16;&#0;&#17;&#8;&#0;&#18;</match>+    <match>&#0;&#19;&#0;&#20;&#7;&#0;&#21;&#7;&#0;&#22;&#1;&#0;&#6;&lt;init&gt;&#1;&#0;&#3;()V&#1;&#0;&#4;Code&#1;&#0;&#15;LineNumberTable&#1;&#0;&#4;main&#1;&#0;&#22;([Ljava/lang/String;)V&#1;&#0;</match>+    <match>SourceFile&#1;&#0;</match>+    <match>Hello.java&#12;&#0;&#7;&#0;&#8;&#7;&#0;&#23;&#12;&#0;&#24;&#0;&#25;&#1;&#0;&#12;Hello World!&#7;&#0;&#26;&#12;&#0;&#27;&#0;&#28;&#1;&#0;&#5;Hello&#1;&#0;&#16;java/lang/Object&#1;&#0;&#16;java/lang/System&#1;&#0;&#3;out&#1;&#0;&#21;Ljava/io/PrintStream;&#1;&#0;&#19;java/io/PrintStream&#1;&#0;&#7;println&#1;&#0;&#21;(Ljava/lang/String;)V&#0;!&#0;&#5;&#0;&#6;&#0;&#0;&#0;&#0;&#0;&#2;&#0;&#1;&#0;&#7;&#0;&#8;&#0;&#1;&#0;&#9;&#0;&#0;&#0;&#29;&#0;&#1;&#0;&#1;&#0;&#0;&#0;&#5;*·&#0;&#1;±&#0;&#0;&#0;&#1;&#0;</match>+    <match>&#0;&#0;&#0;&#6;&#0;&#1;&#0;&#0;&#0;&#2;&#0;&#9;&#0;&#11;&#0;&#12;&#0;&#1;&#0;&#9;&#0;&#0;&#0;%&#0;&#2;&#0;&#1;&#0;&#0;&#0;&#9;²&#0;&#2;&#18;&#3;¶&#0;&#4;±&#0;&#0;&#0;&#1;&#0;</match>+    <match>&#0;&#0;&#0;</match>+    <match>&#0;&#2;&#0;&#0;&#0;&#4;&#0;&#8;&#0;&#5;&#0;&#1;&#0;&#13;&#0;&#0;&#0;&#2;&#0;&#14;</match>+  </file>+  <file name="Hello.java">+    <match>import java.lang.*;</match>+    <match>public class Hello // prints a Hello World! greeting</match>+    <match>{ public static void main(String[] arg)</match>+    <match>  { System.out.println(&quot;Hello World!&quot;);</match>+    <match>  }</match>+    <match>}</match>+  </file>+  <file name="Hello.pdf">+    <match>%PDF-1.3</match>+    <match>%Äåòåë§ó ÐÄÆ</match>+    <match>4 0 obj</match>+    <match>&lt;&lt; /Length 5 0 R /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;EŽ»</match>+    <match>&#2;1&#20;D{¿â”Z˜½‰y˜V&#17;l&#23;.ø&#1;a-d×eÍÿƒ&#23;,¬†™9&#12;³1²Q&#2;¹F—â©&#18;ó™�\LY</match>+    <match>Ÿ‰&#7;o†k÷´ŽÐ›áâj©Rj²@8þ­í” »¶pQ£DÄ£&#13;ï&#x7f; iÂ&#11;º0¨z¬|²¿Oó¼&#30;Ð&#23;7µ7ã&#23;Nÿ ¥</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>5 0 obj</match>+    <match>123</match>+    <match>endobj</match>+    <match>2 0 obj</match>+    <match>&lt;&lt; /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]</match>+    <match>&gt;&gt;</match>+    <match>endobj</match>+    <match>6 0 obj</match>+    <match>&lt;&lt; /ProcSet [ /PDF /Text ] /ColorSpace &lt;&lt; /Cs1 7 0 R &gt;&gt; /Font &lt;&lt; /TT1 8 0 R</match>+    <match>&gt;&gt; &gt;&gt;</match>+    <match>endobj</match>+    <match>9 0 obj</match>+    <match>&lt;&lt; /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;…U]h&#28;U&#20;&gt;»sg&#3;&#18;&#7;&#31;´&#13;-´ƒ?m&#9;é2‰V&#19;‹µÛMºI&#19;·ëfS›*Êtv6;Ídfœ™Ý&amp;¡O¥à›&#22;&#4;é« &gt;Æ‚&#8;¶*6/ö¥¥Å’J5&#15;</match>+    <match>&#17;ZŒ (}Rð;3ÛdvA2Ã�ùî¹çž{Îwî¹—¨ëoÝóì´J4ç„~¡œ›&gt;9}JíºMiR¨›ðèFàåJ¥&#9;ÆŽë˜üo&#x7f;&#30;Þ¥&#20;Kîìg[íc[öäª&#25;&#24;к†æV&#3;cŽ(¥&#17;ej†ç‡D]— &#31;&lt;&#27;zŒo&#3;?9[)ç�×€•Ö\@zª`:¦o&#25;jÁ×&#23;Ô’ïÖ,;éëVãlcËgÎn°¯üìFë&#14;f'Çñï…Ï&#23;Lgj&#18;x&#31;ð’¡�0î&#3;¾Û´N&#20;cœN{á‘r¬ŸÎ6f§r-ùÉš&#x7f;tª%¿PoŒ2Î&#18;¥—&#22;ë•7€Ÿ&#0;^uN&#23;�·ô×gÝq¶ÓC$õ&#24;Aþ&#20;ð³ÀZÝ&#28;ã&lt;©À&#21;ß-³&gt;Ëê9&lt;&#2;ü2ð%+&#28;«&#0;þôCМd9° ÅzžýÄZ&quot;{F?V&#2;Þ&#6;|È´&#11;¼&#22;숊&#23;–Øæ ð¼c&#23;y-Ä..›A&#20;/b&#23;?…õÊh¬/§C¿ÂsŸ&amp;’÷Ô¬£cÀàD&#30;­û£,‡?rèÙÑÞz&#17;xÉo”9ö=Àkº?R&#0;†ÍÌcU}˜y~&#1;x€N¤t2É¥Óø&#26;äпˆ7 ‹š&#17;òÈÇX&#13;}›</match>+    <match>ÐpÐ|ô&#12;h&#21;€tZ&#0;*%´LôX'ž£R&#21;=•f¢YA„ØÊý¨oP~×§Ô€´Në�Ö�^£_&quot;É&lt;ýJsèç!m`l¦Ãn&#30;^8´&#8;&#15;Ø&#19;¶ù eÓ&#21;Û…&amp;žG;(&amp;Ä+bP&#12;‘*^&#21;‡Å!1&#12;é�8&#24;͉½OúÎ~&gt;ذô.ÖMú¾&#12;&#14;B¬gÃ3&#7;¬p4&#1;&lt;ø&#7;ëÎFš&#9;¶.îhìó¼�Þ?ï¿c&#25;·&gt;ø³�½&#0;ú1'¿Á¢&#11;k&amp;%æ^?÷MOÂCuE|õÖ�îëçèx2KQÞª�Y’×äûò</match>+    <match>¾÷äÕ¤&#13;ùgy&#21;ï½¶\=Ê&#11;ÿ“¹Í!F;’ÍAÎ&lt;›Q´qÆ&#27;À!¸©Esö·YL²é¶b´`ÉB”�«¸ÿË&#9;óÃ&lt;·±Rs.îð¼·?c6Í÷Š&#15;‹t¾O»¬­kŸh?j&#x7f;h+ÚÇ@¿K&#31;J_JßJW¤«Ò&#13;R¥kÒ²ô�ô½ô¹ô5z_@º,]éØIqì&#27;»&#7;~Æ{Öhí0f†³&#20;&#16;óÂÚÌ</match>+    <match>K&#31;ñw&#6;c›ù3¡Õ^&#3;�»&#x7f;c-刲SyF&#25;Vv+Ï)&#19;J¯r@9¬lW&#6;Ðú•Qe/Fvn°dc=΀…&#x7f;’g‹¦#®â&lt;±Wu°çÃK&#29;ï¦_\ÃÖ†5ØI=&#14;žÙÚ¦&#14;¯&#17;W¿&#21;Uc¼;]œ&#6;:M!b‹Î&quot;r&#31;:œ&#31;'ªþÎÙ\“85Roâ”°Ä.Ñ/ÆZ5˜&#19;&#7;P…ãmõ8ÈUš&#25;É&#12;gr¤fz3C™þÌ1ÆQ¬Ñù’Ù‹Ñ!|G&#18;Þ3Ë1ÿ›5Äg&#24;ï&#29;æ¨&#9;l£‡[+4çqß&#17;å]oÁ·fê¡: i/©9\¯¦:æ&#24;Ù&gt;U·m5&#26;</match>+    <match>Tß&#12;L¿iV³Äw7Ï#úëõèNNm»a4üf,£Tê&amp;Ñ&#x7f;·�“4</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>10 0 obj</match>+    <match>1116</match>+    <match>endobj</match>+    <match>7 0 obj</match>+    <match>[ /ICCBased 9 0 R ]</match>+    <match>endobj</match>+    <match>3 0 obj</match>+    <match>&lt;&lt; /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] &gt;&gt;</match>+    <match>endobj</match>+    <match>11 0 obj</match>+    <match>&lt;&lt; /Type /Catalog /Pages 3 0 R &gt;&gt;</match>+    <match>endobj</match>+    <match>8 0 obj</match>+    <match>&lt;&lt; /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor</match>+    <match>12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602</match>+    <match>0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602</match>+    <match>0 0 602 ] &gt;&gt;</match>+    <match>endobj</match>+    <match>12 0 obj</match>+    <match>&lt;&lt; /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox</match>+    <match>[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729</match>+    <match>/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R</match>+    <match>&gt;&gt;</match>+    <match>endobj</match>+    <match>13 0 obj</match>+    <match>&lt;&lt; /Length 14 0 R /Length1 4064 /Filter /FlateDecode &gt;&gt;</match>+    <match>stream</match>+    <match>x&#1;ÝW{xTÅ&#21;?s&#x7f;w6¯Í&gt;’MHH€]Öå•,�„·R&#22;Hxˆ /ë.ˆòH (!&#8;A´1�JQ&#9;Á@…&#8;H}&#21;Q©µ+E]&#9;ÄT¤b#E„ &#2;</match>+    <match>ø¢hŠ&#20;!Ø&#0;CϽ&#27;ý&gt;í×ïë¿íÜ�3çüæÌyÝ»÷Δ-\\DVª$P`VÉŒ&#5;d6ëI&#30;ŠgÝSæ6Eн—HË�½`NITŽ&#x7f;‘åNsæÝ7;*'Nfy@qь¨LWxìWÌ@T&#22;}x¼®¸¤Œí&#24;Íú.&#19;×¼ÒYmó‰£&#12;°dƽmþé8Ëîù3JŠxäf�0é¶ tQ™)’½šÇì&#5;&#11;‹ÚôE�(¦St®�&#26;–&#5;w©Y)‹î&quot;&#11;iä �”ÄЭ¬+yÖ˜×b²–&gt;}ö�;ì7\¤N±æâ½eéy&#6;s(¸¤ßå•W…¬�½…Åè¤1ÁëbJT&#7;&quot;ýàå•×’e½iɘù¾É&#8;Åf½®UŠ”íë¦É¡™&quot;…j&#9;L+I&#23;.RÌ'›4‰&#3;‚pš¼Ã¤vÚĈÍä&#19;·&#x7f;=R&#14;õ‰Dª`ÌJ&gt;¦&#9;”Ë4Þ´&#23;gjÅ’�‘&#24;“·˜:Òäu&#19;‡‰h&amp;&quot;&#2;!&#5;¥pµ&#2;W&#20;.+´æâŸuø®&#2;—Zªå%…K&#13;zËÅ�l©FK¥~ñB&#23;y1„‹&#1;ýB&#23;|{&gt;G~ÛŠó9ø‡Â9…orqÖ…¿×¢™ClVhŽ\;&#24;¸¦&#x7f;=&#18;_�)”_ÕâL!þ¦púË&#12;yZáË&#12;|¡ðù]øLáÓ:œ:™.Oµâd:NÔâ&#19;…�&#21;Ž&#31;K‘Ç&#21;Ž¥àh-&gt;ú0E~¤ðáê&#4;ùa</match>+    <match>&gt;¨À‘Ahb¡i&#16;&#14;+&#28;z?^&#30;Rx?&#30;&#7;&#21;ÞS8På”&#7;2ñ×TìWx·&#22;�«|²Qá/</match>+    <match>ïT`ŸÂÛ</match>+    <match>&#x7f;VØ»)Q¾¥°GáM…?)4°½&#6;&#23;Þ°¢~w�¬WؽkšÜ]‡Ý•ú®:ŸÜ5&#13;»&#2;z�&#15;;&#21;^¯E¤f¨|MáU&#30;^mÅ+lk‡Â&#31;&#11;±½&#16;/Û&#16;NÂ&#31;&#20;^R�«ø½Â‹</match>+    <match>¿KÂ6…&#23;ž·É&#23;rñ¼&#13;ÏmuÊçºa«&#19;ÏnñËg+°Å�ß*&lt;£ð´ÂSO¦Ë§</match>+    <match>ñä&#19;&#14;ùd:žpà7ñجð8;y\aS&quot;6nè)7*lè‰ÇØÿcµ¨]_'k&#21;Öó³µ¾&#14;ë+õuk|rÝ4¬&#11;è�*üZa-Ëkë°Æ‡&#26;.FÍP&lt;ÂÙ&gt;âÂê&#4;T3P]ˆU\´U&gt;T9±Ráa…‡&#20;&#30;\á”&#15;*¬pâW</match>+    <match>Ë&#21;&#30;p&#14;“&#15;LÂ/&#21;*ïŲ¥&#21;r™ÂÒ</match>+    <match>TtÄý</match>+    <match>å6üBa‰Â=</match>+    <match>‹Ë¬r±&#29;‹#‚&#2;Gõ2+Ê&#26;ôEIX&#20;Ð&#23;*Ü­°@¡tþ$YZ‹ù%ÝäüI(é†y</match>+    <match>wåâN…¹¹(nÅœ:ÌV(R(T˜5³£œ¥0“&#28;rfGÌP˜®p‡ÂíS&#18;äí6L+Ämû0•…©.LI&#0;?ÑA&#23;nUø¹Â-&#25;éò–\LV˜¤0QaB&#5;Æ+ÜìÂ8…±Â/Ç*ÜT‡1Ýpãè4yc&#x7f;Œ&#30;ž$G§aTAš&#28;¥0’¥‘…&#24;ÁÒˆ:&#20;¤!Ÿ�üþ&#24;&gt;Ì)‡'axD&#11;&#4;âôaCír˜&#19;Ã&quot;&#26;±44`“Cí&#24;&#26;&#17;&#13;,&#5;†XeÀ†@DT²4Ä&#26;'‡X1$&quot;&#2;�Býg</match>+    <match>ƒ9„Á­¸Aáún&#24;¤0�&#11;&lt;°&#16;&#3;z·—&#3;Æ ¿B?¿KöSè;&#6;}zµ—}Æ �‡&lt;…\VÌUèÍÓ½Û£W{ä0—“†žq©²g&#29;üÙÉÒï‚?¢&#25;n³&#29;N™�Œl#ÜZ=«‡Of)ô`Í&#30;&gt;t×&#6;Éî</match>+    <match>Ý&#20;º*t±Ã—:Lú</match>+    <match>p�&#29;^…Îv»ì¬àqû¥§&#2;n?:�AGöÜQ¡ƒB&amp;×6S!ƒïJF:Ú+¤+¤)´c&#11;íF 5Å/S‡!Åå�)~¸&#28;Hf½d&#23;’x}’‚“3w&#14;ƒƒ=8œpDkg·Y¥Ý&#14;{´v¶Äxi³Â&#22;­]&quot;×.1&#30;‰\»&#29;º5&#14;VãÙê¯'(Äs&amp;ñ</match>+    <match>q©ˆu FÁ¦-</match>+    <match>Ò&#5;prh…Æ€6&#8;‚&#3;&#16;~�&#3;&quot;&quot;</match>+    <match>W¬&#22;Yÿ?�þÇSáOg„&#26;;M¬åÑØGDè!m&#25;&#x7f;¥¿¿&quot;´‡u4S/&quot;&#26;ÅJ±“ù­¼·h¤åt^ÄãmÑŸ¹z^&#27;Ô=ŒÖÐfsu&#13;NÓbì¢Cô&#14;&#29;cî´&#24;&#8;^+&#14;‘Gœ`?+&#x7f;ð¡¡ž¥=LËQ� è$Jh‹x‰-–SD”Ò2�Gm&quot;[Þ¯&#31;dt?=Ä×£´…J™72XÎñ&#x7f;L;h&#21;] &#13;Ú&#25;šÂüNÚËñ(þüš¹ˆ&amp;jaKÛ´ÁÚlÖÛËÖ6Ñ&amp;±œšh‘Nü)WtJ6iYlu&#7;g@4“6Ë&amp;¹Á¨&#7;�Mò&#28;Ï&#16;u°D,®&#24;/gaÔn«Ø%zkãè&#16;¯/§É¸&#13;wã˜X¡{õ%8C5&#26;a:ÝI&#7;d“ÅE51^ª±Ì&#22;÷éÓÍ«œ­•kKôéb&#27;�a›3ñ&#29;Ë&#30;Žl³™1Ñ&#14;m¢&#28;'Çqγ&#25;ÛlÒš(µ8h?Z¹îk5%Fé#0„ó)×o¢&#13;ô&#12;ÛíÊ•!*E_ö^Jåruô¢m|ùåjÔrEÍjˆ&lt;m0mÖf‹U&#28;m&#11;W³&#20;ùÔŸ}t�gi…ØÁqSL&#5;-’M¼U$êAôZŒEêü÷¦l·#¬ùF&#23;†&#3;&#19;‚î}!�?û'¢Û&#17;ã&#14;Óøpâ}îȵkãƒz†&#12;…ef&#24;¾Ø°îóžúO“§üÙcÆ&#7;Ý&#17;Ñ® ¿ÍlÁô|&#6;'&#5;Ù&#3;ÿ&#12;˜Ý&#21;0&#22;&#5;F‡¥�&#x7f;£§‡Ý³ŠÝUŽ*ï *GÑ ?ïÿ²Ç0&#25;&#31;|YˆGB&#17;qmE„ò;¼Î»HÜq;OÇe»Ý&#5;sóÃb:&#11;ñÙ&#12;ôð0—�í&#30;ÁaŽ˜&#24;ô†ÜUîªÑ…Uî&#17;îâ&#25;…&#28;·9òDQU(‡3˜&#20;œËtrÐ&#19;&#14;„2~`‹B!ûհÃKX½*Ä&#22;îl³À£&#9;å\e¥Äì1î0ºŒ&#15;N&#8;†+ó3Â�üP†Çã.&#8;7Œ&#15;†&#27;ò3&lt;¡&#16;kÙ~ˆ”#®˜›Ö&#22;³�c¶õàyGÔ</match>+    <match>—(�&#17;¦PU•asRÐë&#9;WVUeTq&#30;mr„&#26;~&#2;&#8;ú)&#16;h&#3;&quot;dØàJ&#20;ð÷`&lt;&#27;ãÁëÉ0&#0;¯Çëá8CùìÛiÜš&#2;ŽÔ&#19;òónœŠ¹¯ä^ÎýœÁó³&#24;Ýçóù‚Ï&#0;SX&#30;EÝþm¿Îð&#x7f;Ù´&#31;éÁ”t“vágw;�&#20;™ü¯/Vµz±Ü§ª&#24;ê´ËÜó&#19;Y„ëU&#17;+—k:å¼u¸¹79&#14;7&#31;nî•ìô8}&#30;§§X§+‹�qå&#11;U&#27;cûîüBKwì0rÐGñ¿ �n6N&#21;|osøÖq·:øXô&#30;wæÅqÆX–&lt;êÜc&#24;&#23;,ǽÇo&#11;CAçná&#30;Ÿ³“£Š¥„¬^½“óØužÓËÔ»²QëÞØxõƒFÙtõ-í†Ö,훫Nö¯QùµÏø­QN)”IyF&#4;;&#25;t°�&#8;iì!“=eæð;ÏB‰&#12;î¤dJ7G£&#14;†&#23;‘âI±¤æåöëŸb&#19;^79&#29;”—›&#20;ÓSx;[bôéW&gt;‹}ã¥`CÉÜ=SÕeuT¸Ï&#29;¹&#20;¶®}xÅ‹±Zõ&#20;Ë&#23;û&#6;&#12;|-+K&#12;&#20;ÉÂ*&#2;ê“ÇÊ^&#8;Ï7êrŽë2ÅÒž½v�F•ȷ؈ʨCÜqŽHçSž&#17;Q&quot;ÅG#q¥^/R¼�»ôuzúz´&#3;SC&#31;œyö&#21;õ‘8!Öß¿ôñCoââ&#26;£æ&#26;­äœGqÎ&#9;ÔŽ¼�dKu&#18;U[ë“6¦Å%Ùó‘”ò³4Ç…æ+Æ-üüB³ãl/ÑÙ’â2rìÛ§K×Ü$§CóvÖœŽ$­¸zÍšêÕkÖ¬&gt;s©å«3--8qôHÓ±cMGŽnVï«OÕ)uHøù³ÓQô4üšíÚRó95N§?n’Å,~~o¦‰Ì&#9;&gt;:Fu,Æ&#11;rä„Éc§ŒÈ&#26;[4&#x7f;^©&#x7f;bÑœÅóf,$ú&#23; -&#6;ä</match>+    <match>endstream</match>+    <match>endobj</match>+    <match>14 0 obj</match>+    <match>2734</match>+    <match>endobj</match>+    <match>15 0 obj</match>+    <match>(Hello)</match>+    <match>endobj</match>+    <match>16 0 obj</match>+    <match>(Mac OS X 10.12.6 Quartz PDFContext)</match>+    <match>endobj</match>+    <match>17 0 obj</match>+    <match>(TextEdit)</match>+    <match>endobj</match>+    <match>18 0 obj</match>+    <match>(D:20200124010711Z00'00')</match>+    <match>endobj</match>+    <match>19 0 obj</match>+    <match>()</match>+    <match>endobj</match>+    <match>20 0 obj</match>+    <match>[ ]</match>+    <match>endobj</match>+    <match>1 0 obj</match>+    <match>&lt;&lt; /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate</match>+    <match>18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R &gt;&gt;</match>+    <match>endobj</match>+    <match>xref</match>+    <match>0 21</match>+    <match>0000000000 65535 f </match>+    <match>0000005392 00000 n </match>+    <match>0000000238 00000 n </match>+    <match>0000001714 00000 n </match>+    <match>0000000022 00000 n </match>+    <match>0000000219 00000 n </match>+    <match>0000000342 00000 n </match>+    <match>0000001679 00000 n </match>+    <match>0000001847 00000 n </match>+    <match>0000000439 00000 n </match>+    <match>0000001658 00000 n </match>+    <match>0000001797 00000 n </match>+    <match>0000002110 00000 n </match>+    <match>0000002362 00000 n </match>+    <match>0000005186 00000 n </match>+    <match>0000005207 00000 n </match>+    <match>0000005231 00000 n </match>+    <match>0000005284 00000 n </match>+    <match>0000005311 00000 n </match>+    <match>0000005353 00000 n </match>+    <match>0000005372 00000 n </match>+    <match>trailer</match>+    <match>&lt;&lt; /Size 21 /Root 11 0 R /Info 1 0 R /ID [ &lt;8db88d3335070bd9583341583cf769a3&gt;</match>+    <match>&lt;8db88d3335070bd9583341583cf769a3&gt; ] &gt;&gt;</match>+    <match>startxref</match>+    <match>5536</match>+    <match>%%EOF</match>+  </file>+  <file name="Hello.sh">+    <match>#!/bin/sh</match>+    <match>echo &quot;Hello World!&quot;</match>+  </file>+  <file name="Hello.txt">+    <match>Hello</match>+  </file>+</grep>

tests/out/Hello_-I-c.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:2+Hello.class:0+Hello.java:6+Hello.pdf:134+Hello.sh:2+Hello.txt:1

tests/out/Hello_-I-co.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:2+Hello.class:0+Hello.java:6+Hello.pdf:134+Hello.sh:2+Hello.txt:1

tests/out/Hello_-I-cv.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:0+Hello.class:0+Hello.java:0+Hello.pdf:0+Hello.sh:0+Hello.txt:0

tests/out/Hello_-I-l.out

new file mode 100644@@ -0,0 +1,5 @@+Hello.bat+Hello.java+Hello.pdf+Hello.sh+Hello.txt

tests/out/Hello_-I-lv.out

new file mode 100644

tests/out/Hello_-I-n.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello

tests/out/Hello_-I-nC1.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello\ No newline at end of file

tests/out/Hello_-I-nkbT.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:     1:  1:      0:	#!/bin/sh+Hello.bat:     2:  1:     10:	echo "Hello World!"+Hello.java:     1:  1:      0:	import java.lang.*;+Hello.java:     2:  1:     20:	public class Hello // prints a Hello World! greeting+Hello.java:     3:  1:     73:	{ public static void main(String[] arg)+Hello.java:     4:  1:    113:	  { System.out.println("Hello World!");+Hello.java:     5:  1:    153:	  }+Hello.java:     6:  1:    157:	}+Hello.pdf:     1:  1:      0:	%PDF-1.3+Hello.sh:     1:  1:      0:	#!/bin/sh+Hello.sh:     2:  1:     10:	echo "Hello World!"+Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-nv.out

new file mode 100644

tests/out/Hello_-I-nvC1.out

new file mode 100644

tests/out/Hello_-I-nvy.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat-1-#!/bin/sh+Hello.bat-2-echo "Hello World!"+Hello.java-1-import java.lang.*;+Hello.java-2-public class Hello // prints a Hello World! greeting+Hello.java-3-{ public static void main(String[] arg)+Hello.java-4-  { System.out.println("Hello World!");+Hello.java-5-  }+Hello.java-6-}+Hello.pdf-1-%PDF-1.3+Hello.sh-1-#!/bin/sh+Hello.sh-2-echo "Hello World!"+Hello.txt-1-Hello\ No newline at end of file

tests/out/Hello_-I-ny.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello\ No newline at end of file

tests/out/Hello_-I-o.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:#!/bin/sh+Hello.bat:echo "Hello World!"+Hello.java:import java.lang.*;+Hello.java:public class Hello // prints a Hello World! greeting+Hello.java:{ public static void main(String[] arg)+Hello.java:  { System.out.println("Hello World!");+Hello.java:  }+Hello.java:}+Hello.pdf:%PDF-1.3+Hello.sh:#!/bin/sh+Hello.sh:echo "Hello World!"+Hello.txt:Hello

tests/out/Hello_-I-on.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello

tests/out/Hello_-I-onkbT.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:     1:  1:      0:	#!/bin/sh+Hello.bat:     2:  1:     10:	echo "Hello World!"+Hello.java:     1:  1:      0:	import java.lang.*;+Hello.java:     2:  1:     20:	public class Hello // prints a Hello World! greeting+Hello.java:     3:  1:     73:	{ public static void main(String[] arg)+Hello.java:     4:  1:    113:	  { System.out.println("Hello World!");+Hello.java:     5:  1:    153:	  }+Hello.java:     6:  1:    157:	}+Hello.pdf:     1:  1:      0:	%PDF-1.3+Hello.sh:     1:  1:      0:	#!/bin/sh+Hello.sh:     2:  1:     10:	echo "Hello World!"+Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-ounkbT.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:     1:  1:      0:	#!/bin/sh+Hello.bat:     2:  1:     10:	echo "Hello World!"+Hello.java:     1:  1:      0:	import java.lang.*;+Hello.java:     2:  1:     20:	public class Hello // prints a Hello World! greeting+Hello.java:     3:  1:     73:	{ public static void main(String[] arg)+Hello.java:     4:  1:    113:	  { System.out.println("Hello World!");+Hello.java:     5:  1:    153:	  }+Hello.java:     6:  1:    157:	}+Hello.pdf:     1:  1:      0:	%PDF-1.3+Hello.sh:     1:  1:      0:	#!/bin/sh+Hello.sh:     2:  1:     10:	echo "Hello World!"+Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I-unkbT.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:     1:  1:      0:	#!/bin/sh+Hello.bat:     2:  1:     10:	echo "Hello World!"+Hello.java:     1:  1:      0:	import java.lang.*;+Hello.java:     2:  1:     20:	public class Hello // prints a Hello World! greeting+Hello.java:     3:  1:     73:	{ public static void main(String[] arg)+Hello.java:     4:  1:    113:	  { System.out.println("Hello World!");+Hello.java:     5:  1:    153:	  }+Hello.java:     6:  1:    157:	}+Hello.pdf:     1:  1:      0:	%PDF-1.3+Hello.sh:     1:  1:      0:	#!/bin/sh+Hello.sh:     2:  1:     10:	echo "Hello World!"+Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-I.out

new file mode 100644@@ -0,0 +1,12 @@+Hello.bat:#!/bin/sh+Hello.bat:echo "Hello World!"+Hello.java:import java.lang.*;+Hello.java:public class Hello // prints a Hello World! greeting+Hello.java:{ public static void main(String[] arg)+Hello.java:  { System.out.println("Hello World!");+Hello.java:  }+Hello.java:}+Hello.pdf:%PDF-1.3+Hello.sh:#!/bin/sh+Hello.sh:echo "Hello World!"+Hello.txt:Hello

tests/out/Hello_-W-c.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:2+Hello.class:8+Hello.java:6+Hello.pdf:134+Hello.sh:2+Hello.txt:1

tests/out/Hello_-W-co.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:2+Hello.class:8+Hello.java:6+Hello.pdf:134+Hello.sh:2+Hello.txt:1

tests/out/Hello_-W-cv.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat:0+Hello.class:0+Hello.java:0+Hello.pdf:0+Hello.sh:0+Hello.txt:0

tests/out/Hello_-W-l.out

new file mode 100644@@ -0,0 +1,6 @@+Hello.bat+Hello.class+Hello.java+Hello.pdf+Hello.sh+Hello.txt

tests/out/Hello_-W-lv.out

new file mode 100644

tests/out/Hello_-W-n.out

new file mode 100644@@ -0,0 +1,465 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.class:1:+00000000:  ca fe ba be 00 00 00 34  00 1d 0a -- -- -- -- --  |....@@@4@]J-----|+Hello.class:2:+00000000:  -- -- -- -- -- -- -- --  -- -- -- 00 06 00 0f 09  |-----------@F@OI|+00000010:  00 10 00 11 08 00 12 0a  -- -- -- -- -- -- -- --  |@P@QH@RJ--------|+Hello.class:3:+00000010:  -- -- -- -- -- -- -- --  00 13 00 14 07 00 15 07  |--------@S@TG@UG|+00000020:  00 16 01 00 06 3c 69 6e  69 74 3e 01 00 03 28 29  |@VA@F<init>A@C()|+00000030:  56 01 00 04 43 6f 64 65  01 00 0f 4c 69 6e 65 4e  |VA@DCodeA@OLineN|+00000040:  75 6d 62 65 72 54 61 62  6c 65 01 00 04 6d 61 69  |umberTableA@Dmai|+00000050:  6e 01 00 16 28 5b 4c 6a  61 76 61 2f 6c 61 6e 67  |nA@V([Ljava/lang|+00000060:  2f 53 74 72 69 6e 67 3b  29 56 01 00 0a -- -- --  |/String;)VA@J---|+Hello.class:4:+00000060:  -- -- -- -- -- -- -- --  -- -- -- -- -- 53 6f 75  |-------------Sou|+00000070:  72 63 65 46 69 6c 65 01  00 0a -- -- -- -- -- --  |rceFileA@J------|+Hello.class:5:+00000070:  -- -- -- -- -- -- -- --  -- -- 48 65 6c 6c 6f 2e  |----------Hello.|+00000080:  6a 61 76 61 0c 00 07 00  08 07 00 17 0c 00 18 00  |javaL@G@HG@WL@X@|+00000090:  19 01 00 0c 48 65 6c 6c  6f 20 57 6f 72 6c 64 21  |YA@LHello World!|+000000a0:  07 00 1a 0c 00 1b 00 1c  01 00 05 48 65 6c 6c 6f  |G@ZL@[@\A@EHello|+000000b0:  01 00 10 6a 61 76 61 2f  6c 61 6e 67 2f 4f 62 6a  |A@Pjava/lang/Obj|+000000c0:  65 63 74 01 00 10 6a 61  76 61 2f 6c 61 6e 67 2f  |ectA@Pjava/lang/|+000000d0:  53 79 73 74 65 6d 01 00  03 6f 75 74 01 00 15 4c  |SystemA@CoutA@UL|+000000e0:  6a 61 76 61 2f 69 6f 2f  50 72 69 6e 74 53 74 72  |java/io/PrintStr|+000000f0:  65 61 6d 3b 01 00 13 6a  61 76 61 2f 69 6f 2f 50  |eam;A@Sjava/io/P|+00000100:  72 69 6e 74 53 74 72 65  61 6d 01 00 07 70 72 69  |rintStreamA@Gpri|+00000110:  6e 74 6c 6e 01 00 15 28  4c 6a 61 76 61 2f 6c 61  |ntlnA@U(Ljava/la|+00000120:  6e 67 2f 53 74 72 69 6e  67 3b 29 56 00 21 00 05  |ng/String;)V@!@E|+00000130:  00 06 00 00 00 00 00 02  00 01 00 07 00 08 00 01  |@F@@@@@B@A@G@H@A|+00000140:  00 09 00 00 00 1d 00 01  00 01 00 00 00 05 2a b7  |@I@@@]@A@A@@@E*.|+00000150:  00 01 b1 00 00 00 01 00  0a -- -- -- -- -- -- --  |@A.@@@A@J-------|+Hello.class:6:+00000150:  -- -- -- -- -- -- -- --  -- 00 00 00 06 00 01 00  |---------@@@F@A@|+00000160:  00 00 02 00 09 00 0b 00  0c 00 01 00 09 00 00 00  |@@B@I@K@L@A@I@@@|+00000170:  25 00 02 00 01 00 00 00  09 b2 00 02 12 03 b6 00  |%@B@A@@@I.@BRC.@|+00000180:  04 b1 00 00 00 01 00 0a  -- -- -- -- -- -- -- --  |D.@@@A@J--------|+Hello.class:7:+00000180:  -- -- -- -- -- -- -- --  00 00 00 0a -- -- -- --  |--------@@@J----|+Hello.class:8:+00000180:  -- -- -- -- -- -- -- --  -- -- -- -- 00 02 00 00  |------------@B@@|+00000190:  00 04 00 08 00 05 00 01  00 0d 00 00 00 02 00 0e  |@D@H@E@A@M@@@B@N|+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.pdf:2:+00000000:  -- -- -- -- -- -- -- --  -- 25 c4 e5 f2 e5 eb a7  |---------%......|+00000010:  f3 a0 d0 c4 c6 0a -- --  -- -- -- -- -- -- -- --  |.....J----------|+Hello.pdf:3:4 0 obj+Hello.pdf:4:<< /Length 5 0 R /Filter /FlateDecode >>+Hello.pdf:5:stream+Hello.pdf:6:+00000040:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 78 01  |--------------xA|+00000050:  45 8e bb 0a -- -- -- --  -- -- -- -- -- -- -- --  |E..J------------|+Hello.pdf:7:+00000050:  -- -- -- -- 02 31 14 44  7b bf e2 94 5a 98 bd 89  |----B1TD{...Z...|+00000060:  79 98 56 11 6c 17 2e f8  01 61 2d 64 d7 65 cd ff  |y.VQlW..Aa-d.e..|+00000070:  83 17 2c ac 86 99 39 0c  b3 31 b2 51 02 b9 46 97  |.W,...9L.1.QB.F.|+00000080:  e2 a9 12 f3 99 90 5c 4c  59 0a -- -- -- -- -- --  |..R...\LYJ------|+Hello.pdf:8:+00000080:  -- -- -- -- -- -- -- --  -- -- 9f 89 07 6f 86 6b  |----------..Go.k|+00000090:  f7 b4 8e d0 9b e1 e2 6a  a9 52 6a b2 40 38 fe ad  |.......j.Rj.@8..|+000000a0:  ed 94 20 bb b6 70 51 a3  44 c4 a3 0d ef 7f a0 69  |.. ..pQ.D..M.~.i|+000000b0:  c2 0b ba 30 a8 7a ac 7c  b2 bf 4f f3 bc 1e d0 17  |.K.0.z.|..O..^.W|+000000c0:  37 b5 37 e3 17 4e ff 20  a5 0a -- -- -- -- -- --  |7.7.WN. .J------|+Hello.pdf:9:endstream+Hello.pdf:10:endobj+Hello.pdf:11:5 0 obj+Hello.pdf:12:123+Hello.pdf:13:endobj+Hello.pdf:14:2 0 obj+Hello.pdf:15:<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]+Hello.pdf:16:>>+Hello.pdf:17:endobj+Hello.pdf:18:6 0 obj+Hello.pdf:19:<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R+Hello.pdf:20:>> >>+Hello.pdf:21:endobj+Hello.pdf:22:9 0 obj+Hello.pdf:23:<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>+Hello.pdf:24:stream+Hello.pdf:25:+00000200:  -- -- -- -- -- -- -- --  -- -- -- -- 78 01 85 55  |------------xA.U|+00000210:  5d 68 1c 55 14 3e bb 73  67 03 12 07 1f b4 0d 2d  |]h\UT>.sgCRG_.M-|+00000220:  b4 83 3f 6d 09 e9 32 89  56 13 8b b5 db 4d ba 49  |..?mI.2.VS...M.I|+00000230:  13 b7 eb 66 53 9b 2a ca  74 76 36 3b cd 64 66 9c  |S..fS.*.tv6;.df.|+00000240:  99 dd 26 a1 4f a5 e0 9b  16 04 e9 ab a0 3e c6 82  |..&.O...VD...>..|+00000250:  08 b6 2a 36 2f f6 a5 a5  c5 92 4a 35 0f 0a -- --  |H.*6/.....J5OJ--|+Hello.pdf:26:+00000250:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 11 5a  |--------------QZ|+00000260:  8c 20 28 7d 52 f0 3b 33  db 64 76 41 32 c3 9d f9  |. (}R.;3.dvA2...|+00000270:  ee b9 e7 9e 7b ce 77 ee  b9 97 a8 eb 6f dd f3 ec  |....{.w.....o...|+00000280:  b4 4a 34 e7 84 7e a1 9c  9b 3e 39 7d 4a ed ba 4d  |.J4..~...>9}J..M|+00000290:  69 52 a8 9b f0 e8 46 e0  e5 4a a5 09 c6 8e eb 98  |iR....F..J.I....|+000002a0:  fc 6f 7f 1e de a5 14 4b  ee ec 67 5b ed 63 5b f6  |.o~^..TK..g[.c[.|+000002b0:  e4 aa 19 18 d0 ba 86 e6  56 03 63 8e 28 a5 11 65  |..YX....VCc.(.Qe|+000002c0:  6a 86 e7 87 44 5d 97 20  1f 3c 1b 7a 8c 6f 03 3f  |j...D]. _<[z.oC?|+000002d0:  39 5b 29 e7 81 d7 80 95  d6 5c 40 7a aa 60 3a a6  |9[)......\@z.`:.|+000002e0:  6f 19 6a c1 d7 17 d4 92  ef d6 2c 3b e9 eb 56 e3  |oYj..W....,;..V.|+000002f0:  6c 63 cb 67 ce 6e b0 af  fc ec 46 eb 0e 66 27 c7  |lc.g.n....F.Nf'.|+00000300:  f1 ef 85 cf 17 4c 67 6a  12 78 1f f0 92 a1 8f 30  |....WLgjRx_....0|+00000310:  ee 03 be db b4 4e 14 63  9c 4e 7b e1 91 72 ac 9f  |.C...NTc.N{..r..|+00000320:  ce 36 66 a7 72 2d f9 c9  9a 7f 74 aa 25 bf 50 6f  |.6f.r-...~t.%.Po|+00000330:  8c 32 ce 12 a5 97 16 eb  95 37 80 9f 00 5e 75 4e  |.2.R..V..7..@^uN|+00000340:  17 8f b7 f4 d7 67 dd 71  b6 d3 43 24 f5 18 41 fe  |W....g.q..C$.XA.|+00000350:  14 f0 b3 c0 5a dd 1c e3  3c a9 c0 15 df 2d b3 3e  |T...Z.\.<..U.-.>|+00000360:  cb c3 aa 39 3c 02 fc 32  f0 25 2b 1c ab 00 c3 be  |...9<B.2.%+\.@..|+00000370:  f4 43 d0 9c 64 39 b0 a0  c5 7a 9e fd c4 5a 22 7b  |.C..d9...z...Z"{|+00000380:  46 3f 56 02 de 06 7c c8  b4 0b bc 16 ec 88 8a 17  |F?VB.F|..K.V...W|+00000390:  96 d8 e6 20 f0 bc 63 17  79 2d c4 2e 2e 9b 41 14  |... ..cWy-....AT|+000003a0:  2f 62 17 3f 85 f5 ca 68  ac 2f a7 43 bf c2 73 9f  |/bW?...h./.C..s.|+000003b0:  26 92 f7 d4 ac a3 63 c0  e0 44 1e ad fb a3 2c 87  |&.....c..D^...,.|+000003c0:  3f 72 e8 d9 d1 de 7a 11  78 c9 6f 94 39 f6 3d c0  |?r....zQx.o.9.=.|+000003d0:  6b ba 3f 52 00 86 cd cc  63 55 7d 98 79 7e 01 78  |k.?R@...cU}.y~Ax|+000003e0:  80 4e a4 74 32 c9 a5 d3  f8 1a e4 d0 bf 88 37 20  |.N.t2....Z....7 |+000003f0:  8b 9a 11 f2 c8 c7 58 0d  7d 9b 0a -- -- -- -- --  |..Q...XM}.J-----|+Hello.pdf:27:+000003f0:  -- -- -- -- -- -- -- --  -- -- -- d0 70 d0 7c f4  |-----------.p.|.|+00000400:  0c 68 15 80 74 5a 00 2a  25 b4 4c f4 58 27 9e a3  |LhU.tZ@*%.L.X'..|+00000410:  52 15 3d 95 66 a2 59 41  84 d8 ca fd a8 6f 50 7e  |RU=.f.YA.....oP~|+00000420:  d7 a7 d4 80 b4 4e eb 90  d6 81 5e a3 5f 22 c9 3c  |.....N....^._".<|+00000430:  fd 4a 73 e8 e7 21 6d 60  6c a6 c3 6e 1e 5e 38 b4  |.Js..!m`l..n^^8.|+00000440:  08 0f d8 13 b6 f9 a0 65  d3 15 db 85 26 9e 47 3b  |HO.S...e.U..&.G;|+00000450:  28 26 c4 2b 62 50 0c 91  2a 5e 15 87 c5 21 31 0c  |(&.+bPL.*^U..!1L|+00000460:  e9 90 38 18 cd 89 bd 4f  fa ce 7e 3e d8 b0 f4 2e  |..8X...O..~>....|+00000470:  d6 4d fa be 0c 0e 42 ac  67 c3 33 07 ac 70 34 01  |.M..LNB.g.3G.p4A|+00000480:  3c f8 07 eb ce 46 9a 09  b6 2e ee 68 ec f3 bc 8f  |<.G..F.I...h....|+00000490:  de 3f ef bf 63 19 b7 3e  f8 b3 8d bd 00 fa 31 27  |.?..cY.>....@.1'|+000004a0:  bf c1 a2 0b 6b 26 25 e6  5e 3f f7 4d 4f c2 43 75  |...Kk&%.^?.MO.Cu|+000004b0:  45 7c f5 d6 9d ee eb e7  e8 78 32 4b 51 de aa 9d  |E|.......x2KQ...|+000004c0:  59 92 d7 e4 fb f2 0a --  -- -- -- -- -- -- -- --  |Y.....J---------|+Hello.pdf:28:+000004c0:  -- -- -- -- -- -- -- be  f7 e4 d5 a4 0d f9 67 79  |-------.....M.gy|+000004d0:  15 ef bd b6 5c 3d ca 0b  ff 93 b9 cd 21 46 3b 92  |U...\=.K....!F;.|+000004e0:  cd 41 ce 3c 9b 51 b4 71  c6 1b c0 21 b8 a9 45 73  |.A.<.Q.q.[.!..Es|+000004f0:  f6 b7 59 4c b2 e9 b6 62  b4 60 c9 42 94 9d ab b8  |..YL...b.`.B....|+00000500:  ff cb 09 f3 c3 3c b7 b1  52 73 2e ee f0 bc b7 3f  |..I..<..Rs.....?|+00000510:  63 36 cd f7 8a 0f 8b 74  be 4f bb ac ad 6b 9f 68  |c6...O.t.O...k.h|+00000520:  3f 6a 7f 68 2b da c7 40  bf 4b 1f 4a 5f 4a df 4a  |?j~h+..@.K_J_J.J|+00000530:  57 a4 ab d2 0d 52 a5 6b  d2 b2 f4 9d f4 bd f4 b9  |W...MR.k........|+00000540:  f4 35 7a 5f 40 ba 2c 5d  e9 d8 49 71 ec 1b bb 07  |.5z_@.,]..Iq.[.G|+00000550:  7e c6 7b d6 68 ed 30 66  86 b3 14 10 f3 c2 da cc  |~.{.h.0f..TP....|+00000560:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:29:+00000560:  -- 4b 1f f1 77 06 63 9b  f9 33 a1 d5 5e 03 9d bb  |-K_.wFc..3..^C..|+00000570:  7f 63 2d e5 88 b2 53 79  46 19 56 76 2b cf 29 13  |~c-...SyFYVv+.)S|+00000580:  4a af 72 40 39 ac 6c 57  06 d0 fa 95 51 65 2f 46  |J.r@9.lWF...Qe/F|+00000590:  76 6e b0 64 63 3d ce 80  85 7f 92 67 8b a6 23 ae  |vn.dc=...~.g..#.|+000005a0:  e2 3c b1 57 75 b0 e7 c3  4b 1d ef a6 5f 5c c3 d6  |.<.Wu...K].._\..|+000005b0:  86 35 d8 49 3d 0e 9e d9  da a6 0e af 11 57 bf 15  |.5.I=N....N.QW.U|+000005c0:  55 63 bc 3b 5d 9c 06 3a  4d 21 62 8b ce 22 72 1f  |Uc.;].F:M!b.."r_|+000005d0:  3a 9c 1f 27 aa fe ce d9  5c 93 38 35 52 6f e2 94  |:._'....\.85Ro..|+000005e0:  b0 c4 2e d1 2f c6 5a 35  98 13 07 50 85 e3 6d f5  |..../.Z5.SGP..m.|+000005f0:  38 c8 55 9a 19 c9 0c 67  72 a4 66 7a 33 43 99 fe  |8.U.Y.Lgr.fz3C..|+00000600:  cc 31 c6 51 ac d1 f9 92  d9 8b d1 21 7c 47 12 de  |.1.Q.......!|GR.|+00000610:  33 cb 31 ff 9b 35 c4 67  18 ef 1d e6 a8 09 6c a3  |3.1..5.gX.]..Il.|+00000620:  87 5b 2b 34 e7 71 df 11  e5 5d 6f c1 b7 66 ea a1  |.[+4.q.Q.]o..f..|+00000630:  3a a0 69 2f a9 39 5c af  a6 3a e6 18 d9 3e 55 b7  |:.i/.9\..:.X.>U.|+00000640:  6d 35 1a 0a -- -- -- --  -- -- -- -- -- -- -- --  |m5ZJ------------|+Hello.pdf:30:+00000640:  -- -- -- -- 54 df 0c 4c  bf 69 56 b3 c4 77 37 cf  |----T.LL.iV..w7.|+00000650:  23 fa eb f5 e8 4e 4e 6d  bb 61 34 fc 66 2c a3 54  |#....NNm.a4.f,.T|+00000660:  ea 26 d1 7f b7 8f 93 34  0a -- -- -- -- -- -- --  |.&.~...4J-------|+Hello.pdf:31:endstream+Hello.pdf:32:endobj+Hello.pdf:33:10 0 obj+Hello.pdf:34:1116+Hello.pdf:35:endobj+Hello.pdf:36:7 0 obj+Hello.pdf:37:[ /ICCBased 9 0 R ]+Hello.pdf:38:endobj+Hello.pdf:39:3 0 obj+Hello.pdf:40:<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>+Hello.pdf:41:endobj+Hello.pdf:42:11 0 obj+Hello.pdf:43:<< /Type /Catalog /Pages 3 0 R >>+Hello.pdf:44:endobj+Hello.pdf:45:8 0 obj+Hello.pdf:46:<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor+Hello.pdf:47:12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602+Hello.pdf:48:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602+Hello.pdf:49:0 0 602 ] >>+Hello.pdf:50:endobj+Hello.pdf:51:12 0 obj+Hello.pdf:52:<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox+Hello.pdf:53:[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729+Hello.pdf:54:/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R+Hello.pdf:55:>>+Hello.pdf:56:endobj+Hello.pdf:57:13 0 obj+Hello.pdf:58:<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>+Hello.pdf:59:stream+Hello.pdf:60:+00000980:  -- -- 78 01 dd 57 7b 78  54 c5 15 3f 73 7f 77 36  |--xA.W{xT.U?s~w6|+00000990:  af cd 3e 92 4d 48 48 80  5d d6 e5 95 2c 81 84 b7  |..>.MHH.]...,...|+000009a0:  52 16 48 78 88 20 2f eb  2e 88 f2 48 20 28 21 08  |RVHx. /....H (!H|+000009b0:  41 b4 31 90 4a 51 09 c1  40 85 08 48 7d 15 51 a9  |A.1.JQI.@.HH}UQ.|+000009c0:  b5 2b 45 5d 09 c4 54 a4  62 23 45 84 a0 02 0a --  |.+E]I.T.b#E..BJ-|+Hello.pdf:61:+000009c0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- f8  |---------------.|+000009d0:  a2 68 8a 14 21 d8 00 43  cf bd 1b fd 3e ed d7 ef  |.h.T!.@C..[.>...|+000009e0:  eb bf ed dc 9d 33 e7 fc  e6 cc 79 dd bb f7 ce 94  |.....3....y.....|+000009f0:  2d 5c 5c 44 56 aa 24 50  60 56 c9 8c 05 64 36 eb  |-\\DV.$P`V..Ed6.|+00000a00:  49 1e 8a 67 dd 53 e6 36  45 8a bd 97 48 cb 9d bd  |I^.g.S.6E...H...|+00000a10:  60 4e 49 54 8e 7f 91 e5  4e 73 e6 dd 37 3b 2a 27  |`NIT.~..Ns..7;*'|+00000a20:  4e 66 79 40 71 d1 8c c2  a8 4c 57 78 ec 57 cc 40  |Nfy@q....LWx.W.@|+00000a30:  54 16 7d 78 bc ae b8 a4  8c ed 18 cd fa 2e 13 d7  |TV}x......X...S.|+00000a40:  bc d2 59 6d f3 89 a3 0c  b0 64 c6 bd 6d fe e9 38  |..Ym...L.d..m..8|+00000a50:  cb ee f9 33 4a 8a 78 e4  66 8f 30 e9 b6 a0 74 51  |...3J.x.f.0...tQ|+00000a60:  99 29 92 bd 9a c7 ec 05  0b 8b da f4 45 90 28 a6  |.).....EK...E.(.|+00000a70:  53 74 ae 8d 1a 96 05 77  a9 59 29 8b ee 22 0b 69  |St..Z.Ew.Y).."Ki|+00000a80:  e4 a0 8d 94 c4 d0 ad ac  2b 79 d6 98 d7 62 b2 96  |........+y...b..|+00000a90:  3e 7d f6 8d 3b ec 37 5c  a4 4e b1 e6 e2 bd 65 e9  |>}..;.7\.N....e.|+00000aa0:  79 06 73 28 b8 a4 df e5  95 57 85 ac 8f bd 85 c5  |yFs(.....W......|+00000ab0:  e8 a4 31 c1 eb 62 4a 54  07 22 fd e0 e5 95 d7 92  |..1..bJTG"......|+00000ac0:  65 bd 69 c9 98 f9 be c9  08 c5 66 bd ae 55 8a 94  |e.i.....H.f..U..|+00000ad0:  ed eb a6 c9 a1 99 22 85  6a 09 4c 2b 49 17 2e 52  |......".jIL+IW.R|+00000ae0:  cc 27 9b 34 89 03 82 70  9a bc c3 a4 76 da c4 88  |.'.4.C.p....v...|+00000af0:  cd e4 13 b7 7f 3d 52 0e  f5 89 44 aa 60 cc 4a 3e  |..S.~=RN..D.`.J>|+00000b00:  a6 09 94 cb 34 de b4 17  67 6a c5 92 8d 91 18 93  |.I..4..Wgj....X.|+00000b10:  b7 98 3a d2 e4 75 13 87  89 68 26 22 02 21 05 a5  |..:..uS..h&"B!E.|+00000b20:  70 b5 02 57 14 2e 2b b4  e6 e2 9f 75 f8 ae 02 97  |p.BWT.+....u..B.|+00000b30:  5a aa e5 25 85 4b 0d 7a  cb c5 90 6c a9 46 4b a5  |Z..%.KMz...l.FK.|+00000b40:  7e f1 42 17 79 31 84 8b  01 fd 42 17 7c 7b 3e 47  |~.BWy1..A.BW|{>G|+00000b50:  7e db 8a f3 39 f8 87 c2  39 85 6f 72 71 d6 85 bf  |~...9...9.orq...|+00000b60:  d7 a2 99 43 6c 56 68 8e  5c 3b 18 b8 a6 7f 3d 12  |...ClVh.\;X..~=R|+00000b70:  5f 9d 29 94 5f d5 e2 4c  21 fe a6 70 fa cb 0c 79  |_.)._..L!..p..Ly|+00000b80:  5a e1 cb 0c 7c a1 f0 f9  5d f8 4c e1 d3 3a 9c 3a  |Z..L|...].L..:.:|+00000b90:  99 2e 4f b5 e2 64 3a 4e  d4 e2 13 85 8f 15 8e 1f  |..O..d:N..S..U._|+00000ba0:  4b 91 c7 15 8e a5 e0 68  2d 3e fa 30 45 7e a4 f0  |K..U...h->.0E~..|+00000bb0:  e1 ea 04 f9 61 0a -- --  -- -- -- -- -- -- -- --  |..D.aJ----------|+Hello.pdf:62:+00000bb0:  -- -- -- -- -- -- 3e a8  c0 91 41 68 62 a1 69 10  |------>...Ahb.iP|+00000bc0:  0e 2b 1c 7a 3f 5e 1e 52  78 3f 1e 07 15 de 53 38  |N+\z?^^Rx?^GU.S8|+00000bd0:  50 e5 94 07 32 f1 d7 54  ec 57 78 b7 16 8d ab 7c  |P..G2..T.Wx.V..||+00000be0:  b2 51 e1 2f 0a -- -- --  -- -- -- -- -- -- -- --  |.Q./J-----------|+Hello.pdf:63:+00000be0:  -- -- -- -- -- ef 54 60  9f c2 db 0a -- -- -- --  |-----.T`...J----|+Hello.pdf:64:+00000be0:  -- -- -- -- -- -- -- --  -- -- -- -- 7f 56 d8 bb  |------------~V..|+00000bf0:  29 51 be a5 b0 47 e1 4d  85 3f 29 34 b0 bd 06 17  |)Q...G.M.?)4..FW|+00000c00:  de b0 a2 7e 77 9d ac 57  d8 bd 6b 9a dc 5d 87 dd  |...~w..W..k..]..|+00000c10:  95 fa ae 3a 9f dc 35 0d  bb 02 7a 9d 0f 3b 15 5e  |...:..5M.Bz.O;U^|+00000c20:  af 45 a4 66 a8 7c 4d e1  55 1e 5e 6d c5 2b 6c 6b  |.E.f.|M.U^^m.+lk|+00000c30:  87 c2 1f 0b b1 bd 10 2f  db 10 4e c2 1f 14 5e 52  |.._K..P/.PN._T^R|+00000c40:  81 ab f8 bd c2 8b 0a --  -- -- -- -- -- -- -- --  |......J---------|+Hello.pdf:65:+00000c40:  -- -- -- -- -- -- -- bf  4b c2 36 85 17 9e b7 c9  |-------.K.6.W...|+00000c50:  17 72 f1 bc 0d cf 6d 75  ca e7 ba 61 ab 13 cf 6e  |Wr..M.mu...a.S.n|+00000c60:  f1 cb 67 2b b0 c5 8f df  2a 3c a3 f0 b4 c2 53 4f  |..g+....*<....SO|+00000c70:  a6 cb a7 0a -- -- -- --  -- -- -- -- -- -- -- --  |...J------------|+Hello.pdf:66:+00000c70:  -- -- -- -- f1 e4 13 0e  f9 64 3a 9e 70 e0 37 f1  |----..SN.d:.p.7.|+00000c80:  d8 ac f0 38 3b 79 5c 61  53 22 36 6e e8 29 37 2a  |...8;y\aS"6n.)7*|+00000c90:  6c e8 89 c7 d8 ff 63 b5  a8 5d 5f 27 6b 15 d6 f3  |l.....c..]_'kU..|+00000ca0:  b3 b5 be 0e eb 2b f5 75  6b 7c 72 dd 34 ac 0b e8  |...N.+.uk|r.4.K.|+00000cb0:  8f 2a fc 5a 61 2d cb 6b  eb b0 c6 87 1a 2e 46 cd  |.*.Za-.k....Z.F.|+00000cc0:  50 3c c2 d9 3e e2 c2 ea  04 54 33 50 5d 88 55 5c  |P<..>...DT3P].U\|+00000cd0:  b4 55 3e 54 39 b1 52 e1  61 85 87 14 1e 5c e1 94  |.U>T9.R.a..T^\..|+00000ce0:  0f 2a ac 70 e2 57 0a --  -- -- -- -- -- -- -- --  |O*.p.WJ---------|+Hello.pdf:67:+00000ce0:  -- -- -- -- -- -- -- cb  15 1e 70 0e 93 0f 4c c2  |-------.U^pN.OL.|+00000cf0:  2f 15 2a ef c5 b2 a5 15  72 99 c2 d2 0a -- -- --  |/U*....Ur...J---|+Hello.pdf:68:+00000cf0:  -- -- -- -- -- -- -- --  -- -- -- -- -- 54 74 c4  |-------------Tt.|+00000d00:  fd 0a -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.J--------------|+Hello.pdf:69:+00000d00:  -- -- e5 36 fc 42 61 89  c2 3d 0a -- -- -- -- --  |--.6.Ba..=J-----|+Hello.pdf:70:+00000d00:  -- -- -- -- -- -- -- --  -- -- -- 8b cb ac 72 b1  |-----------...r.|+00000d10:  1d 8b 23 82 02 47 f5 32  2b ca 1a f4 45 49 58 14  |].#.BG.2+.Z.EIXT|+00000d20:  d0 17 2a dc ad b0 40 a1  74 fe 24 59 5a 8b f9 25  |.W*...@.t.$YZ..%|+00000d30:  dd e4 fc 49 28 e9 86 79  0a -- -- -- -- -- -- --  |...I(..yJ-------|+Hello.pdf:71:+00000d30:  -- -- -- -- -- -- -- --  -- 77 e5 e2 4e 85 b9 b9  |---------w..N...|+00000d40:  28 6e c5 9c 3a cc 56 28  52 28 54 98 35 b3 a3 9c  |(n..:.V(R(T.5...|+00000d50:  a5 30 93 1c 72 66 47 cc  50 98 ae 70 87 c2 ed 53  |.0.\rfG.P..p...S|+00000d60:  12 e4 ed 36 4c 2b c4 6d  fb 30 95 85 a9 2e 4c 49  |R..6L+.m.0....LI|+00000d70:  00 3f d1 41 17 6e 55 f8  b9 c2 2d 19 e9 f2 96 5c  |@?.AWnU...-Y...\|+00000d80:  4c 56 98 a4 30 51 61 42  05 c6 2b dc ec c2 38 85  |LV..0QaBE.+...8.|+00000d90:  b1 c2 2f c7 2a dc 54 87  31 dd 70 e3 e8 34 79 63  |../.*.T.1.p..4yc|+00000da0:  7f 8c 1e 9e 24 47 a7 61  54 41 9a 1c a5 30 92 a5  |~.^.$G.aTA.\.0..|+00000db0:  91 85 18 c1 d2 88 3a 14  a4 21 9f 81 fc fe 18 3e  |..X...:T.!....X>|+00000dc0:  cc 29 87 27 61 78 44 0b  04 e2 f4 61 43 ed 72 98  |.).'axDKD..aC.r.|+00000dd0:  13 c3 22 1a b1 34 34 60  93 43 ed 18 1a 11 0d 2c  |S."Z.44`.C.XZQM,|+00000de0:  05 86 58 65 c0 86 40 44  54 b2 34 c4 1a 27 87 58  |E.Xe..@DT.4.Z'.X|+00000df0:  31 24 22 02 81 42 fd 67  0a -- -- -- -- -- -- --  |1$"B.B.gJ-------|+Hello.pdf:72:+00000df0:  -- -- -- -- -- -- -- --  -- 83 39 84 c1 ad b8 41  |---------.9....A|+00000e00:  e1 fa 6e 18 a4 30 90 0b  3c b0 10 03 7a b7 97 03  |..nX.0.K<.PCz..C|+00000e10:  c6 a0 bf 42 3f bf 4b f6  53 e8 3b 06 7d 7a b5 97  |...B?.K.S.;F}z..|+00000e20:  7d c6 20 8f 87 3c 85 5c  56 cc 55 e8 cd d3 bd db  |}. ..<.\V.U.....|+00000e30:  a3 57 7b e4 30 97 93 86  9e 71 a9 b2 67 1d fc d9  |.W{.0....q..g]..|+00000e40:  c9 d2 ef 82 3f a2 19 6e  b3 1d 4e 99 9d 8c 6c 23  |....?.Yn.]N...l#|+00000e50:  dc 5a 3d ab 87 4f 66 29  f4 60 cd 1e 3e 74 d7 06  |.Z=..Of).`.^>t.F|+00000e60:  c9 ee 0a -- -- -- -- --  -- -- -- -- -- -- -- --  |..J-------------|+Hello.pdf:73:+00000e60:  -- -- -- dd 14 ba 2a 74  b1 c3 97 3a 4c fa 0a --  |---.T.*t...:L.J-|+Hello.pdf:74:+00000e60:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- 70  |---------------p|+00000e70:  9d 1d 5e 85 ce 76 bb ec  ac e0 71 fb a5 a7 02 6e  |.]^..v....q...Bn|+00000e80:  3f 3a 8d 41 47 f6 dc 51  a1 83 42 26 d7 36 53 21  |?:.AG..Q..B&.6S!|+00000e90:  83 ef 4a 46 3a da 2b a4  2b a4 29 b4 63 0b ed 46  |..JF:.+.+.).cK.F|+00000ea0:  20 35 c5 2f 53 87 21 c5  e5 90 29 7e b8 1c 48 66  | 5./S.!...)~.\Hf|+00000eb0:  bd 64 17 92 78 7d 92 82  93 33 77 0e 83 83 3d 38  |.dW.x}...3wN..=8|+00000ec0:  9c 70 44 6b 67 b7 59 a5  dd 0e 7b b4 76 b6 c4 78  |.pDkg.Y..N{.v..x|+00000ed0:  69 b3 c2 16 ad 5d 22 d7  2e 31 1e 89 5c bb 1d ba  |i..V.]"..1^.\.].|+00000ee0:  35 0e 56 e3 d9 ea af 27  28 c4 73 26 f1 0a -- --  |5NV....'(.s&.J--|+Hello.pdf:75:+00000ee0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 71 a9  |--------------q.|+00000ef0:  88 75 20 46 c1 c2 a6 2d  0a -- -- -- -- -- -- --  |.u F...-J-------|+Hello.pdf:76:+00000ef0:  -- -- -- -- -- -- -- --  -- d2 05 70 72 68 85 c6  |---------.Eprh..|+00000f00:  80 36 08 82 03 10 7e 90  03 22 22 0a -- -- -- --  |.6H.CP~.C""J----|+Hello.pdf:77:+00000f00:  -- -- -- -- -- -- -- --  -- -- -- -- 57 ac 16 59  |------------W.VY|+00000f10:  ff 3f 8d fe c7 53 e1 4f  67 84 1a cd be 4d ac e5  |.?...S.Og.Z..M..|+00000f20:  d1 d8 47 44 e8 21 6d 19  7f a5 bf bf 22 b4 87 75  |..GD.!mY~..."..u|+00000f30:  34 53 2f 22 1a c5 4a b1  93 f9 ad bc b7 68 a4 e5  |4S/"Z.J......h..|+00000f40:  74 5e c4 e3 6d d1 9f b9  7a 5e 1b d4 3d 8c d6 d0  |t^..m...z^[.=...|+00000f50:  66 73 75 0d 4e d3 62 ec  a2 43 f4 0e 1d 63 ee b4  |fsuMN.b..C.N]c..|+00000f60:  18 08 5e 2b 0e 91 47 9c  60 3f 2b 7f f0 a1 a1 9e  |XH^+N.G.`?+~....|+00000f70:  a5 3d 4c cb 51 8f a0 e8  24 4a 68 8b 78 89 2d 96  |.=L.Q...$Jh.x.-.|+00000f80:  53 44 94 d2 32 8d 47 6d  22 5b de af 1f 64 74 3f  |SD..2.Gm"[.._dt?|+00000f90:  3d c4 d7 a3 b4 85 4a 99  37 32 58 ce f1 7f 4c 3b  |=.....J.72X..~L;|+00000fa0:  68 15 5d a0 0d da 19 9a  c2 fc 4e da cb f1 28 fe  |hU].M.Y...N...(.|+00000fb0:  fc 9a b9 88 26 6a 61 4b  db b4 c1 da 6c d6 db cb  |....&jaK....l...|+00000fc0:  d6 36 d1 26 b1 9c 9a 68  91 4e fc 29 57 74 4a 36  |.6.&...h.N.)WtJ6|+00000fd0:  69 59 6c 75 07 67 40 34  93 36 cb 26 b9 c1 a8 07  |iYluGg@4.6.&...G|+00000fe0:  8f 4d f2 1c cf 10 75 b0  44 2c ae 18 2f 67 61 d4  |.M.\.Pu.D,.X/ga.|+00000ff0:  6e ab d8 25 7a 6b e3 e8  10 af 2f a7 c9 b8 0d 77  |n..%zk..P./...Mw|+00001000:  e3 98 58 a1 7b f5 25 38  43 35 1a 61 3a dd 49 07  |..X.{.%8C5Za:.IG|+00001010:  64 93 c5 45 35 31 5e aa  b1 cc 16 f7 e9 d3 cd ab  |d..E51^...V.....|+00001020:  9c ad 95 6b 4b f4 e9 62  1b 9d 61 9b 33 f1 1d cb  |...kK..b[.a.3.].|+00001030:  1e 8e 6c b3 99 31 d1 0e  6d a2 1c 27 c7 71 ce b3  |^.l..1.Nm.\'.q..|+00001040:  19 db 6c d2 9a 28 b5 38  68 3f 5a b9 ee 6b 35 25  |Y.l..(.8h?Z..k5%|+00001050:  46 e9 23 30 84 f3 29 d7  6f a2 0d f4 0c db ed ca  |F.#0..).o.M.L...|+00001060:  95 21 2a 45 5f f6 5e 4a  e5 72 75 f4 a2 6d 7c f9  |.!*E_.^J.ru..m|.|+00001070:  e5 6a d4 72 45 cd 6a 88  3c 6d 30 6d d6 66 8b 55  |.j.rE.j.<m0m.f.U|+00001080:  1c 6d 0b 57 b3 14 f9 d4  9f 7d 74 90 67 69 85 d8  |\mKW.T...}t.gi..|+00001090:  c1 71 53 4c 05 2d 92 4d  bc 55 24 ea 41 f4 5a 8c  |.qSLE-.M.U$.A.Z.|+000010a0:  45 ea fc f7 a6 6c b7 23  ac f9 46 17 86 03 13 82  |E....l.#..FW.CS.|+000010b0:  ee 7d 21 8f 3f fb 27 a2  db 11 e3 0e d3 f8 70 e2  |.}!.?.'..Q.N..p.|+000010c0:  7d ee c8 b5 6b e3 83 7a  86 0c 85 65 66 18 be d8  |}...k..z.L.efX..|+000010d0:  b0 ee f3 9e fa 4f 93 a7  fc d9 63 c6 07 dd 11 d1  |.....O....c.G.Q.|+000010e0:  ae 20 bf cd 6c c1 f4 7c  06 27 05 d9 03 ff 0c 98  |. ..l..|F'E.C.L.|+000010f0:  dd 15 30 16 05 46 87 a5  8f 7f a3 a7 87 dd b3 8a  |.U0VEF...~......|+00001100:  dd 55 8e 2a ef a0 2a 47  d1 20 3f ef ff b2 c7 30  |.U.*..*G. ?....0|+00001110:  19 1f 7c 59 88 47 42 11  71 6d 45 84 f2 3b bc ce  |Y_|Y.GBQqmE..;..|+00001120:  bb 48 dc 71 3b 4f c7 65  bb dd 05 73 f3 c3 62 3a  |.H.q;O.e..Es..b:|+00001130:  0b f1 d9 0c f4 f0 30 97  90 ed 1e c1 61 8e 98 18  |K..L..0...^.a..X|+00001140:  f4 86 dc 55 ee aa d1 85  55 ee 11 ee e2 19 85 1c  |...U....U.Q..Y.\|+00001150:  b7 39 f2 44 51 55 28 87  33 98 14 9c cb 74 72 d0  |.9.DQU(.3.T..tr.|+00001160:  13 0e 84 32 7e 60 8b 42  21 c3 bb d5 b0 c3 4b 58  |SN.2~`.B!.....KX|+00001170:  bd 2a c4 16 ee 6c b3 c0  a3 09 e5 5c 65 a5 c4 ec  |.*.V.l...I.\e...|+00001180:  31 ee 30 ba 8c 0f 4e 08  86 2b f3 33 c2 81 fc 50  |1.0..ONH.+.3...P|+00001190:  86 c7 e3 2e 08 37 8c 0f  86 1b f2 33 3c a1 10 6b  |....H7.O.[.3<.Pk|+000011a0:  d9 7e 88 94 23 ae 98 9b  d6 16 b3 9d 63 b6 f5 e0  |.~..#....V..c...|+000011b0:  79 47 d4 0a -- -- -- --  -- -- -- -- -- -- -- --  |yG.J------------|+Hello.pdf:78:+000011b0:  -- -- -- -- 97 28 90 11  a6 50 55 95 61 73 52 d0  |----.(.Q.PU.asR.|+000011c0:  eb 09 57 56 55 65 54 71  1e 6d 72 84 1a 7e 02 08  |.IWVUeTq^mr.Z~BH|+000011d0:  fa 29 10 68 03 22 64 d8  e0 4a 14 f0 f7 60 3c 1b  |.)PhC"d..JT..`<[|+000011e0:  e3 c1 eb c9 30 00 af c7  eb e1 38 43 f9 ec db 69  |....0@....8C...i|+000011f0:  dc 9a 02 8e d4 13 f2 f3  6e 9c 8a b9 af e4 5e ce  |..B..S..n.....^.|+00001200:  fd 9c c1 f3 b3 18 dd e7  f3 f9 82 cf 00 53 58 1e  |.....X......@SX^|+00001210:  45 dd fe 6d bf ce f0 7f  d9 b4 1f e9 c1 94 74 93  |E..m...~.._...t.|+00001220:  76 e1 67 77 3b 9d 14 99  fc af 2f 56 b5 7a b1 dc  |v.gw;.T.../V.z..|+00001230:  c2 a7 aa 18 ea b4 cb dc  f3 13 59 84 eb 55 11 2b  |...X.....SY..UQ+|+00001240:  97 6b 3a e5 bc 75 b8 b9  37 39 0e 37 1f 6e ee 95  |.k:..u..79N7_n..|+00001250:  ec f4 38 7d 1e a7 a7 58  a7 2b 8b 90 71 e5 0b 55  |..8}^..X.+..q.KU|+00001260:  1b 63 fb ee fc 42 4b 77  c3 ac 30 72 d0 47 f1 bf  |[c...BKw..0r.G..|+00001270:  20 81 6e 36 4e 15 7c 6f  73 f8 d6 71 b7 3a f8 58  | .n6NU|os..q.:.X|+00001280:  f4 1e 77 e6 c5 71 c6 58  96 3c ea dc 63 18 17 2c  |.^w..q.X.<..cXW,|+00001290:  c7 bd c7 6f 0b 43 41 e7  6e e1 1e 9f b3 93 a3 8a  |...oKCA.n.^.....|+000012a0:  a5 84 ac 5e bd 93 f3 d8  75 9e d3 cb d4 bb b2 51  |...^....u......Q|+000012b0:  eb de d8 78 f5 83 46 d9  74 f5 2d ed 86 d6 2c ed  |...x..F.t.-...,.|+000012c0:  9b ab 4e f6 af 51 f9 b5  cf f8 ad 51 4e 29 94 49  |..N..Q.....QN).I|+000012d0:  79 46 04 3b 19 74 b0 81  08 69 ec 21 93 3d 65 e6  |yFD;Yt..Hi.!.=e.|+000012e0:  f0 3b cf 42 89 0c ee a4  64 4a 37 47 a3 0e 86 17  |.;.B.L..dJ7G.N.W|+000012f0:  91 e2 49 b1 a4 e6 e5 f6  eb 9f 62 13 5e 37 39 1d  |..I.......bS^79]|+00001300:  94 97 9b 14 d3 53 78 3b  5b 62 f4 e9 57 3e 8b 7d  |...T.Sx;[b..W>.}|+00001310:  e3 a5 60 43 c9 dc 3d 53  d5 65 75 54 b8 cf 1d b9  |..`C..=S.euT..].|+00001320:  14 b6 ae 7d 78 c5 8b b1  5a f5 14 cb 17 fb 06 0c  |T..}x...Z.T.W.FL|+00001330:  7c 2d 2b 4b 0c 14 c9 c2  2a 02 ea 93 c7 ca 5e 08  ||-+KLT..*B....^H|+00001340:  cf 37 ea 72 8e eb 32 c5  d2 9e bd 76 8d 46 95 c8  |.7.r..2....v.F..|+00001350:  b7 d8 88 ca a8 43 dc 71  8e 48 e7 53 9e 11 51 22  |.....C.q.H.S.QQ"|+00001360:  c5 47 23 71 a5 5e 2f 52  bc 9d bb f4 75 7a fa 7a  |.G#q.^/R....uz.z|+00001370:  b4 03 53 43 1f 9c 79 f6  15 f5 91 38 21 d6 df bf  |.CSC_.y.U..8!...|+00001380:  f4 f1 43 6f e2 e2 1a a3  e6 1a ad e4 9c 47 71 ce  |..Co..Z..Z...Gq.|+00001390:  09 d4 8e bc 81 64 4b 75  12 55 5b eb 93 36 a6 c5  |I....dKuRU[..6..|+000013a0:  25 d9 f3 91 94 f2 b3 34  c7 85 e6 2b c6 2d fc fc  |%......4...+.-..|+000013b0:  42 b3 e3 6c 2f d1 d9 92  e2 32 72 ec db a7 4b d7  |B..l/....2r...K.|+000013c0:  dc 24 a7 43 f3 76 d6 9c  8e 24 ad b8 7a cd 9a ea  |.$.C.v...$..z...|+000013d0:  d5 6b d6 ac 3e 73 a9 e5  ab 33 2d 2d 38 71 f4 48  |.k..>s...3--8q.H|+000013e0:  d3 b1 63 4d 47 8e 6e 56  ef ab 4f d5 29 75 48 f8  |..cMG.nV..O.)uH.|+000013f0:  f9 b3 d3 51 f4 34 fc 9a  ed da 52 f3 39 35 4e a7  |...Q.4....R.95N.|+00001400:  3f 6e 92 c5 2c 7e 7e 6f  a6 89 cc 09 3e 3a 46 75  |?n..,~~o...I>:Fu|+00001410:  2c c6 0b 72 e4 84 c9 63  a7 8c c8 1a 5b 34 7f 5e  |,.Kr...c...Z[4~^|+00001420:  a9 7f 62 d1 9c c5 f3 66  2c 24 fa 17 20 2d 06 e4  |.~b....f,$.W -F.|+00001430:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:79:endstream+Hello.pdf:80:endobj+Hello.pdf:81:14 0 obj+Hello.pdf:82:2734+Hello.pdf:83:endobj+Hello.pdf:84:15 0 obj+Hello.pdf:85:(Hello)+Hello.pdf:86:endobj+Hello.pdf:87:16 0 obj+Hello.pdf:88:(Mac OS X 10.12.6 Quartz PDFContext)+Hello.pdf:89:endobj+Hello.pdf:90:17 0 obj+Hello.pdf:91:(TextEdit)+Hello.pdf:92:endobj+Hello.pdf:93:18 0 obj+Hello.pdf:94:(D:20200124010711Z00'00')+Hello.pdf:95:endobj+Hello.pdf:96:19 0 obj+Hello.pdf:97:()+Hello.pdf:98:endobj+Hello.pdf:99:20 0 obj+Hello.pdf:100:[ ]+Hello.pdf:101:endobj+Hello.pdf:102:1 0 obj+Hello.pdf:103:<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate+Hello.pdf:104:18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>+Hello.pdf:105:endobj+Hello.pdf:106:xref+Hello.pdf:107:0 21+Hello.pdf:108:0000000000 65535 f +Hello.pdf:109:0000005392 00000 n +Hello.pdf:110:0000000238 00000 n +Hello.pdf:111:0000001714 00000 n +Hello.pdf:112:0000000022 00000 n +Hello.pdf:113:0000000219 00000 n +Hello.pdf:114:0000000342 00000 n +Hello.pdf:115:0000001679 00000 n +Hello.pdf:116:0000001847 00000 n +Hello.pdf:117:0000000439 00000 n +Hello.pdf:118:0000001658 00000 n +Hello.pdf:119:0000001797 00000 n +Hello.pdf:120:0000002110 00000 n +Hello.pdf:121:0000002362 00000 n +Hello.pdf:122:0000005186 00000 n +Hello.pdf:123:0000005207 00000 n +Hello.pdf:124:0000005231 00000 n +Hello.pdf:125:0000005284 00000 n +Hello.pdf:126:0000005311 00000 n +Hello.pdf:127:0000005353 00000 n +Hello.pdf:128:0000005372 00000 n +Hello.pdf:129:trailer+Hello.pdf:130:<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>+Hello.pdf:131:<8db88d3335070bd9583341583cf769a3> ] >>+Hello.pdf:132:startxref+Hello.pdf:133:5536+Hello.pdf:134:%%EOF+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello

tests/out/Hello_-W-nC1.out

new file mode 100644@@ -0,0 +1,465 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.class:1:+00000000:  ca fe ba be 00 00 00 34  00 1d 0a -- -- -- -- --  |....@@@4@]J-----|+Hello.class:2:+00000000:  -- -- -- -- -- -- -- --  -- -- -- 00 06 00 0f 09  |-----------@F@OI|+00000010:  00 10 00 11 08 00 12 0a  -- -- -- -- -- -- -- --  |@P@QH@RJ--------|+Hello.class:3:+00000010:  -- -- -- -- -- -- -- --  00 13 00 14 07 00 15 07  |--------@S@TG@UG|+00000020:  00 16 01 00 06 3c 69 6e  69 74 3e 01 00 03 28 29  |@VA@F<init>A@C()|+00000030:  56 01 00 04 43 6f 64 65  01 00 0f 4c 69 6e 65 4e  |VA@DCodeA@OLineN|+00000040:  75 6d 62 65 72 54 61 62  6c 65 01 00 04 6d 61 69  |umberTableA@Dmai|+00000050:  6e 01 00 16 28 5b 4c 6a  61 76 61 2f 6c 61 6e 67  |nA@V([Ljava/lang|+00000060:  2f 53 74 72 69 6e 67 3b  29 56 01 00 0a -- -- --  |/String;)VA@J---|+Hello.class:4:+00000060:  -- -- -- -- -- -- -- --  -- -- -- -- -- 53 6f 75  |-------------Sou|+00000070:  72 63 65 46 69 6c 65 01  00 0a -- -- -- -- -- --  |rceFileA@J------|+Hello.class:5:+00000070:  -- -- -- -- -- -- -- --  -- -- 48 65 6c 6c 6f 2e  |----------Hello.|+00000080:  6a 61 76 61 0c 00 07 00  08 07 00 17 0c 00 18 00  |javaL@G@HG@WL@X@|+00000090:  19 01 00 0c 48 65 6c 6c  6f 20 57 6f 72 6c 64 21  |YA@LHello World!|+000000a0:  07 00 1a 0c 00 1b 00 1c  01 00 05 48 65 6c 6c 6f  |G@ZL@[@\A@EHello|+000000b0:  01 00 10 6a 61 76 61 2f  6c 61 6e 67 2f 4f 62 6a  |A@Pjava/lang/Obj|+000000c0:  65 63 74 01 00 10 6a 61  76 61 2f 6c 61 6e 67 2f  |ectA@Pjava/lang/|+000000d0:  53 79 73 74 65 6d 01 00  03 6f 75 74 01 00 15 4c  |SystemA@CoutA@UL|+000000e0:  6a 61 76 61 2f 69 6f 2f  50 72 69 6e 74 53 74 72  |java/io/PrintStr|+000000f0:  65 61 6d 3b 01 00 13 6a  61 76 61 2f 69 6f 2f 50  |eam;A@Sjava/io/P|+00000100:  72 69 6e 74 53 74 72 65  61 6d 01 00 07 70 72 69  |rintStreamA@Gpri|+00000110:  6e 74 6c 6e 01 00 15 28  4c 6a 61 76 61 2f 6c 61  |ntlnA@U(Ljava/la|+00000120:  6e 67 2f 53 74 72 69 6e  67 3b 29 56 00 21 00 05  |ng/String;)V@!@E|+00000130:  00 06 00 00 00 00 00 02  00 01 00 07 00 08 00 01  |@F@@@@@B@A@G@H@A|+00000140:  00 09 00 00 00 1d 00 01  00 01 00 00 00 05 2a b7  |@I@@@]@A@A@@@E*.|+00000150:  00 01 b1 00 00 00 01 00  0a -- -- -- -- -- -- --  |@A.@@@A@J-------|+Hello.class:6:+00000150:  -- -- -- -- -- -- -- --  -- 00 00 00 06 00 01 00  |---------@@@F@A@|+00000160:  00 00 02 00 09 00 0b 00  0c 00 01 00 09 00 00 00  |@@B@I@K@L@A@I@@@|+00000170:  25 00 02 00 01 00 00 00  09 b2 00 02 12 03 b6 00  |%@B@A@@@I.@BRC.@|+00000180:  04 b1 00 00 00 01 00 0a  -- -- -- -- -- -- -- --  |D.@@@A@J--------|+Hello.class:7:+00000180:  -- -- -- -- -- -- -- --  00 00 00 0a -- -- -- --  |--------@@@J----|+Hello.class:8:+00000180:  -- -- -- -- -- -- -- --  -- -- -- -- 00 02 00 00  |------------@B@@|+00000190:  00 04 00 08 00 05 00 01  00 0d 00 00 00 02 00 0e  |@D@H@E@A@M@@@B@N|+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.pdf:2:+00000000:  -- -- -- -- -- -- -- --  -- 25 c4 e5 f2 e5 eb a7  |---------%......|+00000010:  f3 a0 d0 c4 c6 0a -- --  -- -- -- -- -- -- -- --  |.....J----------|+Hello.pdf:3:4 0 obj+Hello.pdf:4:<< /Length 5 0 R /Filter /FlateDecode >>+Hello.pdf:5:stream+Hello.pdf:6:+00000040:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 78 01  |--------------xA|+00000050:  45 8e bb 0a -- -- -- --  -- -- -- -- -- -- -- --  |E..J------------|+Hello.pdf:7:+00000050:  -- -- -- -- 02 31 14 44  7b bf e2 94 5a 98 bd 89  |----B1TD{...Z...|+00000060:  79 98 56 11 6c 17 2e f8  01 61 2d 64 d7 65 cd ff  |y.VQlW..Aa-d.e..|+00000070:  83 17 2c ac 86 99 39 0c  b3 31 b2 51 02 b9 46 97  |.W,...9L.1.QB.F.|+00000080:  e2 a9 12 f3 99 90 5c 4c  59 0a -- -- -- -- -- --  |..R...\LYJ------|+Hello.pdf:8:+00000080:  -- -- -- -- -- -- -- --  -- -- 9f 89 07 6f 86 6b  |----------..Go.k|+00000090:  f7 b4 8e d0 9b e1 e2 6a  a9 52 6a b2 40 38 fe ad  |.......j.Rj.@8..|+000000a0:  ed 94 20 bb b6 70 51 a3  44 c4 a3 0d ef 7f a0 69  |.. ..pQ.D..M.~.i|+000000b0:  c2 0b ba 30 a8 7a ac 7c  b2 bf 4f f3 bc 1e d0 17  |.K.0.z.|..O..^.W|+000000c0:  37 b5 37 e3 17 4e ff 20  a5 0a -- -- -- -- -- --  |7.7.WN. .J------|+Hello.pdf:9:endstream+Hello.pdf:10:endobj+Hello.pdf:11:5 0 obj+Hello.pdf:12:123+Hello.pdf:13:endobj+Hello.pdf:14:2 0 obj+Hello.pdf:15:<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]+Hello.pdf:16:>>+Hello.pdf:17:endobj+Hello.pdf:18:6 0 obj+Hello.pdf:19:<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R+Hello.pdf:20:>> >>+Hello.pdf:21:endobj+Hello.pdf:22:9 0 obj+Hello.pdf:23:<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>+Hello.pdf:24:stream+Hello.pdf:25:+00000200:  -- -- -- -- -- -- -- --  -- -- -- -- 78 01 85 55  |------------xA.U|+00000210:  5d 68 1c 55 14 3e bb 73  67 03 12 07 1f b4 0d 2d  |]h\UT>.sgCRG_.M-|+00000220:  b4 83 3f 6d 09 e9 32 89  56 13 8b b5 db 4d ba 49  |..?mI.2.VS...M.I|+00000230:  13 b7 eb 66 53 9b 2a ca  74 76 36 3b cd 64 66 9c  |S..fS.*.tv6;.df.|+00000240:  99 dd 26 a1 4f a5 e0 9b  16 04 e9 ab a0 3e c6 82  |..&.O...VD...>..|+00000250:  08 b6 2a 36 2f f6 a5 a5  c5 92 4a 35 0f 0a -- --  |H.*6/.....J5OJ--|+Hello.pdf:26:+00000250:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 11 5a  |--------------QZ|+00000260:  8c 20 28 7d 52 f0 3b 33  db 64 76 41 32 c3 9d f9  |. (}R.;3.dvA2...|+00000270:  ee b9 e7 9e 7b ce 77 ee  b9 97 a8 eb 6f dd f3 ec  |....{.w.....o...|+00000280:  b4 4a 34 e7 84 7e a1 9c  9b 3e 39 7d 4a ed ba 4d  |.J4..~...>9}J..M|+00000290:  69 52 a8 9b f0 e8 46 e0  e5 4a a5 09 c6 8e eb 98  |iR....F..J.I....|+000002a0:  fc 6f 7f 1e de a5 14 4b  ee ec 67 5b ed 63 5b f6  |.o~^..TK..g[.c[.|+000002b0:  e4 aa 19 18 d0 ba 86 e6  56 03 63 8e 28 a5 11 65  |..YX....VCc.(.Qe|+000002c0:  6a 86 e7 87 44 5d 97 20  1f 3c 1b 7a 8c 6f 03 3f  |j...D]. _<[z.oC?|+000002d0:  39 5b 29 e7 81 d7 80 95  d6 5c 40 7a aa 60 3a a6  |9[)......\@z.`:.|+000002e0:  6f 19 6a c1 d7 17 d4 92  ef d6 2c 3b e9 eb 56 e3  |oYj..W....,;..V.|+000002f0:  6c 63 cb 67 ce 6e b0 af  fc ec 46 eb 0e 66 27 c7  |lc.g.n....F.Nf'.|+00000300:  f1 ef 85 cf 17 4c 67 6a  12 78 1f f0 92 a1 8f 30  |....WLgjRx_....0|+00000310:  ee 03 be db b4 4e 14 63  9c 4e 7b e1 91 72 ac 9f  |.C...NTc.N{..r..|+00000320:  ce 36 66 a7 72 2d f9 c9  9a 7f 74 aa 25 bf 50 6f  |.6f.r-...~t.%.Po|+00000330:  8c 32 ce 12 a5 97 16 eb  95 37 80 9f 00 5e 75 4e  |.2.R..V..7..@^uN|+00000340:  17 8f b7 f4 d7 67 dd 71  b6 d3 43 24 f5 18 41 fe  |W....g.q..C$.XA.|+00000350:  14 f0 b3 c0 5a dd 1c e3  3c a9 c0 15 df 2d b3 3e  |T...Z.\.<..U.-.>|+00000360:  cb c3 aa 39 3c 02 fc 32  f0 25 2b 1c ab 00 c3 be  |...9<B.2.%+\.@..|+00000370:  f4 43 d0 9c 64 39 b0 a0  c5 7a 9e fd c4 5a 22 7b  |.C..d9...z...Z"{|+00000380:  46 3f 56 02 de 06 7c c8  b4 0b bc 16 ec 88 8a 17  |F?VB.F|..K.V...W|+00000390:  96 d8 e6 20 f0 bc 63 17  79 2d c4 2e 2e 9b 41 14  |... ..cWy-....AT|+000003a0:  2f 62 17 3f 85 f5 ca 68  ac 2f a7 43 bf c2 73 9f  |/bW?...h./.C..s.|+000003b0:  26 92 f7 d4 ac a3 63 c0  e0 44 1e ad fb a3 2c 87  |&.....c..D^...,.|+000003c0:  3f 72 e8 d9 d1 de 7a 11  78 c9 6f 94 39 f6 3d c0  |?r....zQx.o.9.=.|+000003d0:  6b ba 3f 52 00 86 cd cc  63 55 7d 98 79 7e 01 78  |k.?R@...cU}.y~Ax|+000003e0:  80 4e a4 74 32 c9 a5 d3  f8 1a e4 d0 bf 88 37 20  |.N.t2....Z....7 |+000003f0:  8b 9a 11 f2 c8 c7 58 0d  7d 9b 0a -- -- -- -- --  |..Q...XM}.J-----|+Hello.pdf:27:+000003f0:  -- -- -- -- -- -- -- --  -- -- -- d0 70 d0 7c f4  |-----------.p.|.|+00000400:  0c 68 15 80 74 5a 00 2a  25 b4 4c f4 58 27 9e a3  |LhU.tZ@*%.L.X'..|+00000410:  52 15 3d 95 66 a2 59 41  84 d8 ca fd a8 6f 50 7e  |RU=.f.YA.....oP~|+00000420:  d7 a7 d4 80 b4 4e eb 90  d6 81 5e a3 5f 22 c9 3c  |.....N....^._".<|+00000430:  fd 4a 73 e8 e7 21 6d 60  6c a6 c3 6e 1e 5e 38 b4  |.Js..!m`l..n^^8.|+00000440:  08 0f d8 13 b6 f9 a0 65  d3 15 db 85 26 9e 47 3b  |HO.S...e.U..&.G;|+00000450:  28 26 c4 2b 62 50 0c 91  2a 5e 15 87 c5 21 31 0c  |(&.+bPL.*^U..!1L|+00000460:  e9 90 38 18 cd 89 bd 4f  fa ce 7e 3e d8 b0 f4 2e  |..8X...O..~>....|+00000470:  d6 4d fa be 0c 0e 42 ac  67 c3 33 07 ac 70 34 01  |.M..LNB.g.3G.p4A|+00000480:  3c f8 07 eb ce 46 9a 09  b6 2e ee 68 ec f3 bc 8f  |<.G..F.I...h....|+00000490:  de 3f ef bf 63 19 b7 3e  f8 b3 8d bd 00 fa 31 27  |.?..cY.>....@.1'|+000004a0:  bf c1 a2 0b 6b 26 25 e6  5e 3f f7 4d 4f c2 43 75  |...Kk&%.^?.MO.Cu|+000004b0:  45 7c f5 d6 9d ee eb e7  e8 78 32 4b 51 de aa 9d  |E|.......x2KQ...|+000004c0:  59 92 d7 e4 fb f2 0a --  -- -- -- -- -- -- -- --  |Y.....J---------|+Hello.pdf:28:+000004c0:  -- -- -- -- -- -- -- be  f7 e4 d5 a4 0d f9 67 79  |-------.....M.gy|+000004d0:  15 ef bd b6 5c 3d ca 0b  ff 93 b9 cd 21 46 3b 92  |U...\=.K....!F;.|+000004e0:  cd 41 ce 3c 9b 51 b4 71  c6 1b c0 21 b8 a9 45 73  |.A.<.Q.q.[.!..Es|+000004f0:  f6 b7 59 4c b2 e9 b6 62  b4 60 c9 42 94 9d ab b8  |..YL...b.`.B....|+00000500:  ff cb 09 f3 c3 3c b7 b1  52 73 2e ee f0 bc b7 3f  |..I..<..Rs.....?|+00000510:  63 36 cd f7 8a 0f 8b 74  be 4f bb ac ad 6b 9f 68  |c6...O.t.O...k.h|+00000520:  3f 6a 7f 68 2b da c7 40  bf 4b 1f 4a 5f 4a df 4a  |?j~h+..@.K_J_J.J|+00000530:  57 a4 ab d2 0d 52 a5 6b  d2 b2 f4 9d f4 bd f4 b9  |W...MR.k........|+00000540:  f4 35 7a 5f 40 ba 2c 5d  e9 d8 49 71 ec 1b bb 07  |.5z_@.,]..Iq.[.G|+00000550:  7e c6 7b d6 68 ed 30 66  86 b3 14 10 f3 c2 da cc  |~.{.h.0f..TP....|+00000560:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:29:+00000560:  -- 4b 1f f1 77 06 63 9b  f9 33 a1 d5 5e 03 9d bb  |-K_.wFc..3..^C..|+00000570:  7f 63 2d e5 88 b2 53 79  46 19 56 76 2b cf 29 13  |~c-...SyFYVv+.)S|+00000580:  4a af 72 40 39 ac 6c 57  06 d0 fa 95 51 65 2f 46  |J.r@9.lWF...Qe/F|+00000590:  76 6e b0 64 63 3d ce 80  85 7f 92 67 8b a6 23 ae  |vn.dc=...~.g..#.|+000005a0:  e2 3c b1 57 75 b0 e7 c3  4b 1d ef a6 5f 5c c3 d6  |.<.Wu...K].._\..|+000005b0:  86 35 d8 49 3d 0e 9e d9  da a6 0e af 11 57 bf 15  |.5.I=N....N.QW.U|+000005c0:  55 63 bc 3b 5d 9c 06 3a  4d 21 62 8b ce 22 72 1f  |Uc.;].F:M!b.."r_|+000005d0:  3a 9c 1f 27 aa fe ce d9  5c 93 38 35 52 6f e2 94  |:._'....\.85Ro..|+000005e0:  b0 c4 2e d1 2f c6 5a 35  98 13 07 50 85 e3 6d f5  |..../.Z5.SGP..m.|+000005f0:  38 c8 55 9a 19 c9 0c 67  72 a4 66 7a 33 43 99 fe  |8.U.Y.Lgr.fz3C..|+00000600:  cc 31 c6 51 ac d1 f9 92  d9 8b d1 21 7c 47 12 de  |.1.Q.......!|GR.|+00000610:  33 cb 31 ff 9b 35 c4 67  18 ef 1d e6 a8 09 6c a3  |3.1..5.gX.]..Il.|+00000620:  87 5b 2b 34 e7 71 df 11  e5 5d 6f c1 b7 66 ea a1  |.[+4.q.Q.]o..f..|+00000630:  3a a0 69 2f a9 39 5c af  a6 3a e6 18 d9 3e 55 b7  |:.i/.9\..:.X.>U.|+00000640:  6d 35 1a 0a -- -- -- --  -- -- -- -- -- -- -- --  |m5ZJ------------|+Hello.pdf:30:+00000640:  -- -- -- -- 54 df 0c 4c  bf 69 56 b3 c4 77 37 cf  |----T.LL.iV..w7.|+00000650:  23 fa eb f5 e8 4e 4e 6d  bb 61 34 fc 66 2c a3 54  |#....NNm.a4.f,.T|+00000660:  ea 26 d1 7f b7 8f 93 34  0a -- -- -- -- -- -- --  |.&.~...4J-------|+Hello.pdf:31:endstream+Hello.pdf:32:endobj+Hello.pdf:33:10 0 obj+Hello.pdf:34:1116+Hello.pdf:35:endobj+Hello.pdf:36:7 0 obj+Hello.pdf:37:[ /ICCBased 9 0 R ]+Hello.pdf:38:endobj+Hello.pdf:39:3 0 obj+Hello.pdf:40:<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>+Hello.pdf:41:endobj+Hello.pdf:42:11 0 obj+Hello.pdf:43:<< /Type /Catalog /Pages 3 0 R >>+Hello.pdf:44:endobj+Hello.pdf:45:8 0 obj+Hello.pdf:46:<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor+Hello.pdf:47:12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602+Hello.pdf:48:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602+Hello.pdf:49:0 0 602 ] >>+Hello.pdf:50:endobj+Hello.pdf:51:12 0 obj+Hello.pdf:52:<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox+Hello.pdf:53:[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729+Hello.pdf:54:/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R+Hello.pdf:55:>>+Hello.pdf:56:endobj+Hello.pdf:57:13 0 obj+Hello.pdf:58:<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>+Hello.pdf:59:stream+Hello.pdf:60:+00000980:  -- -- 78 01 dd 57 7b 78  54 c5 15 3f 73 7f 77 36  |--xA.W{xT.U?s~w6|+00000990:  af cd 3e 92 4d 48 48 80  5d d6 e5 95 2c 81 84 b7  |..>.MHH.]...,...|+000009a0:  52 16 48 78 88 20 2f eb  2e 88 f2 48 20 28 21 08  |RVHx. /....H (!H|+000009b0:  41 b4 31 90 4a 51 09 c1  40 85 08 48 7d 15 51 a9  |A.1.JQI.@.HH}UQ.|+000009c0:  b5 2b 45 5d 09 c4 54 a4  62 23 45 84 a0 02 0a --  |.+E]I.T.b#E..BJ-|+Hello.pdf:61:+000009c0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- f8  |---------------.|+000009d0:  a2 68 8a 14 21 d8 00 43  cf bd 1b fd 3e ed d7 ef  |.h.T!.@C..[.>...|+000009e0:  eb bf ed dc 9d 33 e7 fc  e6 cc 79 dd bb f7 ce 94  |.....3....y.....|+000009f0:  2d 5c 5c 44 56 aa 24 50  60 56 c9 8c 05 64 36 eb  |-\\DV.$P`V..Ed6.|+00000a00:  49 1e 8a 67 dd 53 e6 36  45 8a bd 97 48 cb 9d bd  |I^.g.S.6E...H...|+00000a10:  60 4e 49 54 8e 7f 91 e5  4e 73 e6 dd 37 3b 2a 27  |`NIT.~..Ns..7;*'|+00000a20:  4e 66 79 40 71 d1 8c c2  a8 4c 57 78 ec 57 cc 40  |Nfy@q....LWx.W.@|+00000a30:  54 16 7d 78 bc ae b8 a4  8c ed 18 cd fa 2e 13 d7  |TV}x......X...S.|+00000a40:  bc d2 59 6d f3 89 a3 0c  b0 64 c6 bd 6d fe e9 38  |..Ym...L.d..m..8|+00000a50:  cb ee f9 33 4a 8a 78 e4  66 8f 30 e9 b6 a0 74 51  |...3J.x.f.0...tQ|+00000a60:  99 29 92 bd 9a c7 ec 05  0b 8b da f4 45 90 28 a6  |.).....EK...E.(.|+00000a70:  53 74 ae 8d 1a 96 05 77  a9 59 29 8b ee 22 0b 69  |St..Z.Ew.Y).."Ki|+00000a80:  e4 a0 8d 94 c4 d0 ad ac  2b 79 d6 98 d7 62 b2 96  |........+y...b..|+00000a90:  3e 7d f6 8d 3b ec 37 5c  a4 4e b1 e6 e2 bd 65 e9  |>}..;.7\.N....e.|+00000aa0:  79 06 73 28 b8 a4 df e5  95 57 85 ac 8f bd 85 c5  |yFs(.....W......|+00000ab0:  e8 a4 31 c1 eb 62 4a 54  07 22 fd e0 e5 95 d7 92  |..1..bJTG"......|+00000ac0:  65 bd 69 c9 98 f9 be c9  08 c5 66 bd ae 55 8a 94  |e.i.....H.f..U..|+00000ad0:  ed eb a6 c9 a1 99 22 85  6a 09 4c 2b 49 17 2e 52  |......".jIL+IW.R|+00000ae0:  cc 27 9b 34 89 03 82 70  9a bc c3 a4 76 da c4 88  |.'.4.C.p....v...|+00000af0:  cd e4 13 b7 7f 3d 52 0e  f5 89 44 aa 60 cc 4a 3e  |..S.~=RN..D.`.J>|+00000b00:  a6 09 94 cb 34 de b4 17  67 6a c5 92 8d 91 18 93  |.I..4..Wgj....X.|+00000b10:  b7 98 3a d2 e4 75 13 87  89 68 26 22 02 21 05 a5  |..:..uS..h&"B!E.|+00000b20:  70 b5 02 57 14 2e 2b b4  e6 e2 9f 75 f8 ae 02 97  |p.BWT.+....u..B.|+00000b30:  5a aa e5 25 85 4b 0d 7a  cb c5 90 6c a9 46 4b a5  |Z..%.KMz...l.FK.|+00000b40:  7e f1 42 17 79 31 84 8b  01 fd 42 17 7c 7b 3e 47  |~.BWy1..A.BW|{>G|+00000b50:  7e db 8a f3 39 f8 87 c2  39 85 6f 72 71 d6 85 bf  |~...9...9.orq...|+00000b60:  d7 a2 99 43 6c 56 68 8e  5c 3b 18 b8 a6 7f 3d 12  |...ClVh.\;X..~=R|+00000b70:  5f 9d 29 94 5f d5 e2 4c  21 fe a6 70 fa cb 0c 79  |_.)._..L!..p..Ly|+00000b80:  5a e1 cb 0c 7c a1 f0 f9  5d f8 4c e1 d3 3a 9c 3a  |Z..L|...].L..:.:|+00000b90:  99 2e 4f b5 e2 64 3a 4e  d4 e2 13 85 8f 15 8e 1f  |..O..d:N..S..U._|+00000ba0:  4b 91 c7 15 8e a5 e0 68  2d 3e fa 30 45 7e a4 f0  |K..U...h->.0E~..|+00000bb0:  e1 ea 04 f9 61 0a -- --  -- -- -- -- -- -- -- --  |..D.aJ----------|+Hello.pdf:62:+00000bb0:  -- -- -- -- -- -- 3e a8  c0 91 41 68 62 a1 69 10  |------>...Ahb.iP|+00000bc0:  0e 2b 1c 7a 3f 5e 1e 52  78 3f 1e 07 15 de 53 38  |N+\z?^^Rx?^GU.S8|+00000bd0:  50 e5 94 07 32 f1 d7 54  ec 57 78 b7 16 8d ab 7c  |P..G2..T.Wx.V..||+00000be0:  b2 51 e1 2f 0a -- -- --  -- -- -- -- -- -- -- --  |.Q./J-----------|+Hello.pdf:63:+00000be0:  -- -- -- -- -- ef 54 60  9f c2 db 0a -- -- -- --  |-----.T`...J----|+Hello.pdf:64:+00000be0:  -- -- -- -- -- -- -- --  -- -- -- -- 7f 56 d8 bb  |------------~V..|+00000bf0:  29 51 be a5 b0 47 e1 4d  85 3f 29 34 b0 bd 06 17  |)Q...G.M.?)4..FW|+00000c00:  de b0 a2 7e 77 9d ac 57  d8 bd 6b 9a dc 5d 87 dd  |...~w..W..k..]..|+00000c10:  95 fa ae 3a 9f dc 35 0d  bb 02 7a 9d 0f 3b 15 5e  |...:..5M.Bz.O;U^|+00000c20:  af 45 a4 66 a8 7c 4d e1  55 1e 5e 6d c5 2b 6c 6b  |.E.f.|M.U^^m.+lk|+00000c30:  87 c2 1f 0b b1 bd 10 2f  db 10 4e c2 1f 14 5e 52  |.._K..P/.PN._T^R|+00000c40:  81 ab f8 bd c2 8b 0a --  -- -- -- -- -- -- -- --  |......J---------|+Hello.pdf:65:+00000c40:  -- -- -- -- -- -- -- bf  4b c2 36 85 17 9e b7 c9  |-------.K.6.W...|+00000c50:  17 72 f1 bc 0d cf 6d 75  ca e7 ba 61 ab 13 cf 6e  |Wr..M.mu...a.S.n|+00000c60:  f1 cb 67 2b b0 c5 8f df  2a 3c a3 f0 b4 c2 53 4f  |..g+....*<....SO|+00000c70:  a6 cb a7 0a -- -- -- --  -- -- -- -- -- -- -- --  |...J------------|+Hello.pdf:66:+00000c70:  -- -- -- -- f1 e4 13 0e  f9 64 3a 9e 70 e0 37 f1  |----..SN.d:.p.7.|+00000c80:  d8 ac f0 38 3b 79 5c 61  53 22 36 6e e8 29 37 2a  |...8;y\aS"6n.)7*|+00000c90:  6c e8 89 c7 d8 ff 63 b5  a8 5d 5f 27 6b 15 d6 f3  |l.....c..]_'kU..|+00000ca0:  b3 b5 be 0e eb 2b f5 75  6b 7c 72 dd 34 ac 0b e8  |...N.+.uk|r.4.K.|+00000cb0:  8f 2a fc 5a 61 2d cb 6b  eb b0 c6 87 1a 2e 46 cd  |.*.Za-.k....Z.F.|+00000cc0:  50 3c c2 d9 3e e2 c2 ea  04 54 33 50 5d 88 55 5c  |P<..>...DT3P].U\|+00000cd0:  b4 55 3e 54 39 b1 52 e1  61 85 87 14 1e 5c e1 94  |.U>T9.R.a..T^\..|+00000ce0:  0f 2a ac 70 e2 57 0a --  -- -- -- -- -- -- -- --  |O*.p.WJ---------|+Hello.pdf:67:+00000ce0:  -- -- -- -- -- -- -- cb  15 1e 70 0e 93 0f 4c c2  |-------.U^pN.OL.|+00000cf0:  2f 15 2a ef c5 b2 a5 15  72 99 c2 d2 0a -- -- --  |/U*....Ur...J---|+Hello.pdf:68:+00000cf0:  -- -- -- -- -- -- -- --  -- -- -- -- -- 54 74 c4  |-------------Tt.|+00000d00:  fd 0a -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.J--------------|+Hello.pdf:69:+00000d00:  -- -- e5 36 fc 42 61 89  c2 3d 0a -- -- -- -- --  |--.6.Ba..=J-----|+Hello.pdf:70:+00000d00:  -- -- -- -- -- -- -- --  -- -- -- 8b cb ac 72 b1  |-----------...r.|+00000d10:  1d 8b 23 82 02 47 f5 32  2b ca 1a f4 45 49 58 14  |].#.BG.2+.Z.EIXT|+00000d20:  d0 17 2a dc ad b0 40 a1  74 fe 24 59 5a 8b f9 25  |.W*...@.t.$YZ..%|+00000d30:  dd e4 fc 49 28 e9 86 79  0a -- -- -- -- -- -- --  |...I(..yJ-------|+Hello.pdf:71:+00000d30:  -- -- -- -- -- -- -- --  -- 77 e5 e2 4e 85 b9 b9  |---------w..N...|+00000d40:  28 6e c5 9c 3a cc 56 28  52 28 54 98 35 b3 a3 9c  |(n..:.V(R(T.5...|+00000d50:  a5 30 93 1c 72 66 47 cc  50 98 ae 70 87 c2 ed 53  |.0.\rfG.P..p...S|+00000d60:  12 e4 ed 36 4c 2b c4 6d  fb 30 95 85 a9 2e 4c 49  |R..6L+.m.0....LI|+00000d70:  00 3f d1 41 17 6e 55 f8  b9 c2 2d 19 e9 f2 96 5c  |@?.AWnU...-Y...\|+00000d80:  4c 56 98 a4 30 51 61 42  05 c6 2b dc ec c2 38 85  |LV..0QaBE.+...8.|+00000d90:  b1 c2 2f c7 2a dc 54 87  31 dd 70 e3 e8 34 79 63  |../.*.T.1.p..4yc|+00000da0:  7f 8c 1e 9e 24 47 a7 61  54 41 9a 1c a5 30 92 a5  |~.^.$G.aTA.\.0..|+00000db0:  91 85 18 c1 d2 88 3a 14  a4 21 9f 81 fc fe 18 3e  |..X...:T.!....X>|+00000dc0:  cc 29 87 27 61 78 44 0b  04 e2 f4 61 43 ed 72 98  |.).'axDKD..aC.r.|+00000dd0:  13 c3 22 1a b1 34 34 60  93 43 ed 18 1a 11 0d 2c  |S."Z.44`.C.XZQM,|+00000de0:  05 86 58 65 c0 86 40 44  54 b2 34 c4 1a 27 87 58  |E.Xe..@DT.4.Z'.X|+00000df0:  31 24 22 02 81 42 fd 67  0a -- -- -- -- -- -- --  |1$"B.B.gJ-------|+Hello.pdf:72:+00000df0:  -- -- -- -- -- -- -- --  -- 83 39 84 c1 ad b8 41  |---------.9....A|+00000e00:  e1 fa 6e 18 a4 30 90 0b  3c b0 10 03 7a b7 97 03  |..nX.0.K<.PCz..C|+00000e10:  c6 a0 bf 42 3f bf 4b f6  53 e8 3b 06 7d 7a b5 97  |...B?.K.S.;F}z..|+00000e20:  7d c6 20 8f 87 3c 85 5c  56 cc 55 e8 cd d3 bd db  |}. ..<.\V.U.....|+00000e30:  a3 57 7b e4 30 97 93 86  9e 71 a9 b2 67 1d fc d9  |.W{.0....q..g]..|+00000e40:  c9 d2 ef 82 3f a2 19 6e  b3 1d 4e 99 9d 8c 6c 23  |....?.Yn.]N...l#|+00000e50:  dc 5a 3d ab 87 4f 66 29  f4 60 cd 1e 3e 74 d7 06  |.Z=..Of).`.^>t.F|+00000e60:  c9 ee 0a -- -- -- -- --  -- -- -- -- -- -- -- --  |..J-------------|+Hello.pdf:73:+00000e60:  -- -- -- dd 14 ba 2a 74  b1 c3 97 3a 4c fa 0a --  |---.T.*t...:L.J-|+Hello.pdf:74:+00000e60:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- 70  |---------------p|+00000e70:  9d 1d 5e 85 ce 76 bb ec  ac e0 71 fb a5 a7 02 6e  |.]^..v....q...Bn|+00000e80:  3f 3a 8d 41 47 f6 dc 51  a1 83 42 26 d7 36 53 21  |?:.AG..Q..B&.6S!|+00000e90:  83 ef 4a 46 3a da 2b a4  2b a4 29 b4 63 0b ed 46  |..JF:.+.+.).cK.F|+00000ea0:  20 35 c5 2f 53 87 21 c5  e5 90 29 7e b8 1c 48 66  | 5./S.!...)~.\Hf|+00000eb0:  bd 64 17 92 78 7d 92 82  93 33 77 0e 83 83 3d 38  |.dW.x}...3wN..=8|+00000ec0:  9c 70 44 6b 67 b7 59 a5  dd 0e 7b b4 76 b6 c4 78  |.pDkg.Y..N{.v..x|+00000ed0:  69 b3 c2 16 ad 5d 22 d7  2e 31 1e 89 5c bb 1d ba  |i..V.]"..1^.\.].|+00000ee0:  35 0e 56 e3 d9 ea af 27  28 c4 73 26 f1 0a -- --  |5NV....'(.s&.J--|+Hello.pdf:75:+00000ee0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 71 a9  |--------------q.|+00000ef0:  88 75 20 46 c1 c2 a6 2d  0a -- -- -- -- -- -- --  |.u F...-J-------|+Hello.pdf:76:+00000ef0:  -- -- -- -- -- -- -- --  -- d2 05 70 72 68 85 c6  |---------.Eprh..|+00000f00:  80 36 08 82 03 10 7e 90  03 22 22 0a -- -- -- --  |.6H.CP~.C""J----|+Hello.pdf:77:+00000f00:  -- -- -- -- -- -- -- --  -- -- -- -- 57 ac 16 59  |------------W.VY|+00000f10:  ff 3f 8d fe c7 53 e1 4f  67 84 1a cd be 4d ac e5  |.?...S.Og.Z..M..|+00000f20:  d1 d8 47 44 e8 21 6d 19  7f a5 bf bf 22 b4 87 75  |..GD.!mY~..."..u|+00000f30:  34 53 2f 22 1a c5 4a b1  93 f9 ad bc b7 68 a4 e5  |4S/"Z.J......h..|+00000f40:  74 5e c4 e3 6d d1 9f b9  7a 5e 1b d4 3d 8c d6 d0  |t^..m...z^[.=...|+00000f50:  66 73 75 0d 4e d3 62 ec  a2 43 f4 0e 1d 63 ee b4  |fsuMN.b..C.N]c..|+00000f60:  18 08 5e 2b 0e 91 47 9c  60 3f 2b 7f f0 a1 a1 9e  |XH^+N.G.`?+~....|+00000f70:  a5 3d 4c cb 51 8f a0 e8  24 4a 68 8b 78 89 2d 96  |.=L.Q...$Jh.x.-.|+00000f80:  53 44 94 d2 32 8d 47 6d  22 5b de af 1f 64 74 3f  |SD..2.Gm"[.._dt?|+00000f90:  3d c4 d7 a3 b4 85 4a 99  37 32 58 ce f1 7f 4c 3b  |=.....J.72X..~L;|+00000fa0:  68 15 5d a0 0d da 19 9a  c2 fc 4e da cb f1 28 fe  |hU].M.Y...N...(.|+00000fb0:  fc 9a b9 88 26 6a 61 4b  db b4 c1 da 6c d6 db cb  |....&jaK....l...|+00000fc0:  d6 36 d1 26 b1 9c 9a 68  91 4e fc 29 57 74 4a 36  |.6.&...h.N.)WtJ6|+00000fd0:  69 59 6c 75 07 67 40 34  93 36 cb 26 b9 c1 a8 07  |iYluGg@4.6.&...G|+00000fe0:  8f 4d f2 1c cf 10 75 b0  44 2c ae 18 2f 67 61 d4  |.M.\.Pu.D,.X/ga.|+00000ff0:  6e ab d8 25 7a 6b e3 e8  10 af 2f a7 c9 b8 0d 77  |n..%zk..P./...Mw|+00001000:  e3 98 58 a1 7b f5 25 38  43 35 1a 61 3a dd 49 07  |..X.{.%8C5Za:.IG|+00001010:  64 93 c5 45 35 31 5e aa  b1 cc 16 f7 e9 d3 cd ab  |d..E51^...V.....|+00001020:  9c ad 95 6b 4b f4 e9 62  1b 9d 61 9b 33 f1 1d cb  |...kK..b[.a.3.].|+00001030:  1e 8e 6c b3 99 31 d1 0e  6d a2 1c 27 c7 71 ce b3  |^.l..1.Nm.\'.q..|+00001040:  19 db 6c d2 9a 28 b5 38  68 3f 5a b9 ee 6b 35 25  |Y.l..(.8h?Z..k5%|+00001050:  46 e9 23 30 84 f3 29 d7  6f a2 0d f4 0c db ed ca  |F.#0..).o.M.L...|+00001060:  95 21 2a 45 5f f6 5e 4a  e5 72 75 f4 a2 6d 7c f9  |.!*E_.^J.ru..m|.|+00001070:  e5 6a d4 72 45 cd 6a 88  3c 6d 30 6d d6 66 8b 55  |.j.rE.j.<m0m.f.U|+00001080:  1c 6d 0b 57 b3 14 f9 d4  9f 7d 74 90 67 69 85 d8  |\mKW.T...}t.gi..|+00001090:  c1 71 53 4c 05 2d 92 4d  bc 55 24 ea 41 f4 5a 8c  |.qSLE-.M.U$.A.Z.|+000010a0:  45 ea fc f7 a6 6c b7 23  ac f9 46 17 86 03 13 82  |E....l.#..FW.CS.|+000010b0:  ee 7d 21 8f 3f fb 27 a2  db 11 e3 0e d3 f8 70 e2  |.}!.?.'..Q.N..p.|+000010c0:  7d ee c8 b5 6b e3 83 7a  86 0c 85 65 66 18 be d8  |}...k..z.L.efX..|+000010d0:  b0 ee f3 9e fa 4f 93 a7  fc d9 63 c6 07 dd 11 d1  |.....O....c.G.Q.|+000010e0:  ae 20 bf cd 6c c1 f4 7c  06 27 05 d9 03 ff 0c 98  |. ..l..|F'E.C.L.|+000010f0:  dd 15 30 16 05 46 87 a5  8f 7f a3 a7 87 dd b3 8a  |.U0VEF...~......|+00001100:  dd 55 8e 2a ef a0 2a 47  d1 20 3f ef ff b2 c7 30  |.U.*..*G. ?....0|+00001110:  19 1f 7c 59 88 47 42 11  71 6d 45 84 f2 3b bc ce  |Y_|Y.GBQqmE..;..|+00001120:  bb 48 dc 71 3b 4f c7 65  bb dd 05 73 f3 c3 62 3a  |.H.q;O.e..Es..b:|+00001130:  0b f1 d9 0c f4 f0 30 97  90 ed 1e c1 61 8e 98 18  |K..L..0...^.a..X|+00001140:  f4 86 dc 55 ee aa d1 85  55 ee 11 ee e2 19 85 1c  |...U....U.Q..Y.\|+00001150:  b7 39 f2 44 51 55 28 87  33 98 14 9c cb 74 72 d0  |.9.DQU(.3.T..tr.|+00001160:  13 0e 84 32 7e 60 8b 42  21 c3 bb d5 b0 c3 4b 58  |SN.2~`.B!.....KX|+00001170:  bd 2a c4 16 ee 6c b3 c0  a3 09 e5 5c 65 a5 c4 ec  |.*.V.l...I.\e...|+00001180:  31 ee 30 ba 8c 0f 4e 08  86 2b f3 33 c2 81 fc 50  |1.0..ONH.+.3...P|+00001190:  86 c7 e3 2e 08 37 8c 0f  86 1b f2 33 3c a1 10 6b  |....H7.O.[.3<.Pk|+000011a0:  d9 7e 88 94 23 ae 98 9b  d6 16 b3 9d 63 b6 f5 e0  |.~..#....V..c...|+000011b0:  79 47 d4 0a -- -- -- --  -- -- -- -- -- -- -- --  |yG.J------------|+Hello.pdf:78:+000011b0:  -- -- -- -- 97 28 90 11  a6 50 55 95 61 73 52 d0  |----.(.Q.PU.asR.|+000011c0:  eb 09 57 56 55 65 54 71  1e 6d 72 84 1a 7e 02 08  |.IWVUeTq^mr.Z~BH|+000011d0:  fa 29 10 68 03 22 64 d8  e0 4a 14 f0 f7 60 3c 1b  |.)PhC"d..JT..`<[|+000011e0:  e3 c1 eb c9 30 00 af c7  eb e1 38 43 f9 ec db 69  |....0@....8C...i|+000011f0:  dc 9a 02 8e d4 13 f2 f3  6e 9c 8a b9 af e4 5e ce  |..B..S..n.....^.|+00001200:  fd 9c c1 f3 b3 18 dd e7  f3 f9 82 cf 00 53 58 1e  |.....X......@SX^|+00001210:  45 dd fe 6d bf ce f0 7f  d9 b4 1f e9 c1 94 74 93  |E..m...~.._...t.|+00001220:  76 e1 67 77 3b 9d 14 99  fc af 2f 56 b5 7a b1 dc  |v.gw;.T.../V.z..|+00001230:  c2 a7 aa 18 ea b4 cb dc  f3 13 59 84 eb 55 11 2b  |...X.....SY..UQ+|+00001240:  97 6b 3a e5 bc 75 b8 b9  37 39 0e 37 1f 6e ee 95  |.k:..u..79N7_n..|+00001250:  ec f4 38 7d 1e a7 a7 58  a7 2b 8b 90 71 e5 0b 55  |..8}^..X.+..q.KU|+00001260:  1b 63 fb ee fc 42 4b 77  c3 ac 30 72 d0 47 f1 bf  |[c...BKw..0r.G..|+00001270:  20 81 6e 36 4e 15 7c 6f  73 f8 d6 71 b7 3a f8 58  | .n6NU|os..q.:.X|+00001280:  f4 1e 77 e6 c5 71 c6 58  96 3c ea dc 63 18 17 2c  |.^w..q.X.<..cXW,|+00001290:  c7 bd c7 6f 0b 43 41 e7  6e e1 1e 9f b3 93 a3 8a  |...oKCA.n.^.....|+000012a0:  a5 84 ac 5e bd 93 f3 d8  75 9e d3 cb d4 bb b2 51  |...^....u......Q|+000012b0:  eb de d8 78 f5 83 46 d9  74 f5 2d ed 86 d6 2c ed  |...x..F.t.-...,.|+000012c0:  9b ab 4e f6 af 51 f9 b5  cf f8 ad 51 4e 29 94 49  |..N..Q.....QN).I|+000012d0:  79 46 04 3b 19 74 b0 81  08 69 ec 21 93 3d 65 e6  |yFD;Yt..Hi.!.=e.|+000012e0:  f0 3b cf 42 89 0c ee a4  64 4a 37 47 a3 0e 86 17  |.;.B.L..dJ7G.N.W|+000012f0:  91 e2 49 b1 a4 e6 e5 f6  eb 9f 62 13 5e 37 39 1d  |..I.......bS^79]|+00001300:  94 97 9b 14 d3 53 78 3b  5b 62 f4 e9 57 3e 8b 7d  |...T.Sx;[b..W>.}|+00001310:  e3 a5 60 43 c9 dc 3d 53  d5 65 75 54 b8 cf 1d b9  |..`C..=S.euT..].|+00001320:  14 b6 ae 7d 78 c5 8b b1  5a f5 14 cb 17 fb 06 0c  |T..}x...Z.T.W.FL|+00001330:  7c 2d 2b 4b 0c 14 c9 c2  2a 02 ea 93 c7 ca 5e 08  ||-+KLT..*B....^H|+00001340:  cf 37 ea 72 8e eb 32 c5  d2 9e bd 76 8d 46 95 c8  |.7.r..2....v.F..|+00001350:  b7 d8 88 ca a8 43 dc 71  8e 48 e7 53 9e 11 51 22  |.....C.q.H.S.QQ"|+00001360:  c5 47 23 71 a5 5e 2f 52  bc 9d bb f4 75 7a fa 7a  |.G#q.^/R....uz.z|+00001370:  b4 03 53 43 1f 9c 79 f6  15 f5 91 38 21 d6 df bf  |.CSC_.y.U..8!...|+00001380:  f4 f1 43 6f e2 e2 1a a3  e6 1a ad e4 9c 47 71 ce  |..Co..Z..Z...Gq.|+00001390:  09 d4 8e bc 81 64 4b 75  12 55 5b eb 93 36 a6 c5  |I....dKuRU[..6..|+000013a0:  25 d9 f3 91 94 f2 b3 34  c7 85 e6 2b c6 2d fc fc  |%......4...+.-..|+000013b0:  42 b3 e3 6c 2f d1 d9 92  e2 32 72 ec db a7 4b d7  |B..l/....2r...K.|+000013c0:  dc 24 a7 43 f3 76 d6 9c  8e 24 ad b8 7a cd 9a ea  |.$.C.v...$..z...|+000013d0:  d5 6b d6 ac 3e 73 a9 e5  ab 33 2d 2d 38 71 f4 48  |.k..>s...3--8q.H|+000013e0:  d3 b1 63 4d 47 8e 6e 56  ef ab 4f d5 29 75 48 f8  |..cMG.nV..O.)uH.|+000013f0:  f9 b3 d3 51 f4 34 fc 9a  ed da 52 f3 39 35 4e a7  |...Q.4....R.95N.|+00001400:  3f 6e 92 c5 2c 7e 7e 6f  a6 89 cc 09 3e 3a 46 75  |?n..,~~o...I>:Fu|+00001410:  2c c6 0b 72 e4 84 c9 63  a7 8c c8 1a 5b 34 7f 5e  |,.Kr...c...Z[4~^|+00001420:  a9 7f 62 d1 9c c5 f3 66  2c 24 fa 17 20 2d 06 e4  |.~b....f,$.W -F.|+00001430:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:79:endstream+Hello.pdf:80:endobj+Hello.pdf:81:14 0 obj+Hello.pdf:82:2734+Hello.pdf:83:endobj+Hello.pdf:84:15 0 obj+Hello.pdf:85:(Hello)+Hello.pdf:86:endobj+Hello.pdf:87:16 0 obj+Hello.pdf:88:(Mac OS X 10.12.6 Quartz PDFContext)+Hello.pdf:89:endobj+Hello.pdf:90:17 0 obj+Hello.pdf:91:(TextEdit)+Hello.pdf:92:endobj+Hello.pdf:93:18 0 obj+Hello.pdf:94:(D:20200124010711Z00'00')+Hello.pdf:95:endobj+Hello.pdf:96:19 0 obj+Hello.pdf:97:()+Hello.pdf:98:endobj+Hello.pdf:99:20 0 obj+Hello.pdf:100:[ ]+Hello.pdf:101:endobj+Hello.pdf:102:1 0 obj+Hello.pdf:103:<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate+Hello.pdf:104:18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>+Hello.pdf:105:endobj+Hello.pdf:106:xref+Hello.pdf:107:0 21+Hello.pdf:108:0000000000 65535 f +Hello.pdf:109:0000005392 00000 n +Hello.pdf:110:0000000238 00000 n +Hello.pdf:111:0000001714 00000 n +Hello.pdf:112:0000000022 00000 n +Hello.pdf:113:0000000219 00000 n +Hello.pdf:114:0000000342 00000 n +Hello.pdf:115:0000001679 00000 n +Hello.pdf:116:0000001847 00000 n +Hello.pdf:117:0000000439 00000 n +Hello.pdf:118:0000001658 00000 n +Hello.pdf:119:0000001797 00000 n +Hello.pdf:120:0000002110 00000 n +Hello.pdf:121:0000002362 00000 n +Hello.pdf:122:0000005186 00000 n +Hello.pdf:123:0000005207 00000 n +Hello.pdf:124:0000005231 00000 n +Hello.pdf:125:0000005284 00000 n +Hello.pdf:126:0000005311 00000 n +Hello.pdf:127:0000005353 00000 n +Hello.pdf:128:0000005372 00000 n +Hello.pdf:129:trailer+Hello.pdf:130:<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>+Hello.pdf:131:<8db88d3335070bd9583341583cf769a3> ] >>+Hello.pdf:132:startxref+Hello.pdf:133:5536+Hello.pdf:134:%%EOF+Hello.sh:1:#!/bin/sh+Hello.sh:2:echo "Hello World!"+Hello.txt:1:Hello\ No newline at end of file

tests/out/Hello_-W-nkbT.out

new file mode 100644@@ -0,0 +1,465 @@+Hello.bat:     1:  1:      0:	#!/bin/sh+Hello.bat:     2:  1:     10:	echo "Hello World!"+Hello.class:     1:  1:      0:	+00000000:  ca fe ba be 00 00 00 34  00 1d 0a -- -- -- -- --  |....@@@4@]J-----|+Hello.class:     2:  1:     11:	+00000000:  -- -- -- -- -- -- -- --  -- -- -- 00 06 00 0f 09  |-----------@F@OI|+00000010:  00 10 00 11 08 00 12 0a  -- -- -- -- -- -- -- --  |@P@QH@RJ--------|+Hello.class:     3:  1:     24:	+00000010:  -- -- -- -- -- -- -- --  00 13 00 14 07 00 15 07  |--------@S@TG@UG|+00000020:  00 16 01 00 06 3c 69 6e  69 74 3e 01 00 03 28 29  |@VA@F<init>A@C()|+00000030:  56 01 00 04 43 6f 64 65  01 00 0f 4c 69 6e 65 4e  |VA@DCodeA@OLineN|+00000040:  75 6d 62 65 72 54 61 62  6c 65 01 00 04 6d 61 69  |umberTableA@Dmai|+00000050:  6e 01 00 16 28 5b 4c 6a  61 76 61 2f 6c 61 6e 67  |nA@V([Ljava/lang|+00000060:  2f 53 74 72 69 6e 67 3b  29 56 01 00 0a -- -- --  |/String;)VA@J---|+Hello.class:     4:  1:    109:	+00000060:  -- -- -- -- -- -- -- --  -- -- -- -- -- 53 6f 75  |-------------Sou|+00000070:  72 63 65 46 69 6c 65 01  00 0a -- -- -- -- -- --  |rceFileA@J------|+Hello.class:     5:  1:    122:	+00000070:  -- -- -- -- -- -- -- --  -- -- 48 65 6c 6c 6f 2e  |----------Hello.|+00000080:  6a 61 76 61 0c 00 07 00  08 07 00 17 0c 00 18 00  |javaL@G@HG@WL@X@|+00000090:  19 01 00 0c 48 65 6c 6c  6f 20 57 6f 72 6c 64 21  |YA@LHello World!|+000000a0:  07 00 1a 0c 00 1b 00 1c  01 00 05 48 65 6c 6c 6f  |G@ZL@[@\A@EHello|+000000b0:  01 00 10 6a 61 76 61 2f  6c 61 6e 67 2f 4f 62 6a  |A@Pjava/lang/Obj|+000000c0:  65 63 74 01 00 10 6a 61  76 61 2f 6c 61 6e 67 2f  |ectA@Pjava/lang/|+000000d0:  53 79 73 74 65 6d 01 00  03 6f 75 74 01 00 15 4c  |SystemA@CoutA@UL|+000000e0:  6a 61 76 61 2f 69 6f 2f  50 72 69 6e 74 53 74 72  |java/io/PrintStr|+000000f0:  65 61 6d 3b 01 00 13 6a  61 76 61 2f 69 6f 2f 50  |eam;A@Sjava/io/P|+00000100:  72 69 6e 74 53 74 72 65  61 6d 01 00 07 70 72 69  |rintStreamA@Gpri|+00000110:  6e 74 6c 6e 01 00 15 28  4c 6a 61 76 61 2f 6c 61  |ntlnA@U(Ljava/la|+00000120:  6e 67 2f 53 74 72 69 6e  67 3b 29 56 00 21 00 05  |ng/String;)V@!@E|+00000130:  00 06 00 00 00 00 00 02  00 01 00 07 00 08 00 01  |@F@@@@@B@A@G@H@A|+00000140:  00 09 00 00 00 1d 00 01  00 01 00 00 00 05 2a b7  |@I@@@]@A@A@@@E*.|+00000150:  00 01 b1 00 00 00 01 00  0a -- -- -- -- -- -- --  |@A.@@@A@J-------|+Hello.class:     6:  1:    345:	+00000150:  -- -- -- -- -- -- -- --  -- 00 00 00 06 00 01 00  |---------@@@F@A@|+00000160:  00 00 02 00 09 00 0b 00  0c 00 01 00 09 00 00 00  |@@B@I@K@L@A@I@@@|+00000170:  25 00 02 00 01 00 00 00  09 b2 00 02 12 03 b6 00  |%@B@A@@@I.@BRC.@|+00000180:  04 b1 00 00 00 01 00 0a  -- -- -- -- -- -- -- --  |D.@@@A@J--------|+Hello.class:     7:  1:    392:	+00000180:  -- -- -- -- -- -- -- --  00 00 00 0a -- -- -- --  |--------@@@J----|+Hello.class:     8:  1:    396:	+00000180:  -- -- -- -- -- -- -- --  -- -- -- -- 00 02 00 00  |------------@B@@|+00000190:  00 04 00 08 00 05 00 01  00 0d 00 00 00 02 00 0e  |@D@H@E@A@M@@@B@N|+Hello.java:     1:  1:      0:	import java.lang.*;+Hello.java:     2:  1:     20:	public class Hello // prints a Hello World! greeting+Hello.java:     3:  1:     73:	{ public static void main(String[] arg)+Hello.java:     4:  1:    113:	  { System.out.println("Hello World!");+Hello.java:     5:  1:    153:	  }+Hello.java:     6:  1:    157:	}+Hello.pdf:     1:  1:      0:	%PDF-1.3+Hello.pdf:     2:  1:      9:	+00000000:  -- -- -- -- -- -- -- --  -- 25 c4 e5 f2 e5 eb a7  |---------%......|+00000010:  f3 a0 d0 c4 c6 0a -- --  -- -- -- -- -- -- -- --  |.....J----------|+Hello.pdf:     3:  1:     22:	4 0 obj+Hello.pdf:     4:  1:     30:	<< /Length 5 0 R /Filter /FlateDecode >>+Hello.pdf:     5:  1:     71:	stream+Hello.pdf:     6:  1:     78:	+00000040:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 78 01  |--------------xA|+00000050:  45 8e bb 0a -- -- -- --  -- -- -- -- -- -- -- --  |E..J------------|+Hello.pdf:     7:  1:     84:	+00000050:  -- -- -- -- 02 31 14 44  7b bf e2 94 5a 98 bd 89  |----B1TD{...Z...|+00000060:  79 98 56 11 6c 17 2e f8  01 61 2d 64 d7 65 cd ff  |y.VQlW..Aa-d.e..|+00000070:  83 17 2c ac 86 99 39 0c  b3 31 b2 51 02 b9 46 97  |.W,...9L.1.QB.F.|+00000080:  e2 a9 12 f3 99 90 5c 4c  59 0a -- -- -- -- -- --  |..R...\LYJ------|+Hello.pdf:     8:  1:    138:	+00000080:  -- -- -- -- -- -- -- --  -- -- 9f 89 07 6f 86 6b  |----------..Go.k|+00000090:  f7 b4 8e d0 9b e1 e2 6a  a9 52 6a b2 40 38 fe ad  |.......j.Rj.@8..|+000000a0:  ed 94 20 bb b6 70 51 a3  44 c4 a3 0d ef 7f a0 69  |.. ..pQ.D..M.~.i|+000000b0:  c2 0b ba 30 a8 7a ac 7c  b2 bf 4f f3 bc 1e d0 17  |.K.0.z.|..O..^.W|+000000c0:  37 b5 37 e3 17 4e ff 20  a5 0a -- -- -- -- -- --  |7.7.WN. .J------|+Hello.pdf:     9:  1:    202:	endstream+Hello.pdf:    10:  1:    212:	endobj+Hello.pdf:    11:  1:    219:	5 0 obj+Hello.pdf:    12:  1:    227:	123+Hello.pdf:    13:  1:    231:	endobj+Hello.pdf:    14:  1:    238:	2 0 obj+Hello.pdf:    15:  1:    246:	<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]+Hello.pdf:    16:  1:    332:	>>+Hello.pdf:    17:  1:    335:	endobj+Hello.pdf:    18:  1:    342:	6 0 obj+Hello.pdf:    19:  1:    350:	<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R+Hello.pdf:    20:  1:    426:	>> >>+Hello.pdf:    21:  1:    432:	endobj+Hello.pdf:    22:  1:    439:	9 0 obj+Hello.pdf:    23:  1:    447:	<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>+Hello.pdf:    24:  1:    517:	stream+Hello.pdf:    25:  1:    524:	+00000200:  -- -- -- -- -- -- -- --  -- -- -- -- 78 01 85 55  |------------xA.U|+00000210:  5d 68 1c 55 14 3e bb 73  67 03 12 07 1f b4 0d 2d  |]h\UT>.sgCRG_.M-|+00000220:  b4 83 3f 6d 09 e9 32 89  56 13 8b b5 db 4d ba 49  |..?mI.2.VS...M.I|+00000230:  13 b7 eb 66 53 9b 2a ca  74 76 36 3b cd 64 66 9c  |S..fS.*.tv6;.df.|+00000240:  99 dd 26 a1 4f a5 e0 9b  16 04 e9 ab a0 3e c6 82  |..&.O...VD...>..|+00000250:  08 b6 2a 36 2f f6 a5 a5  c5 92 4a 35 0f 0a -- --  |H.*6/.....J5OJ--|+Hello.pdf:    26:  1:    606:	+00000250:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 11 5a  |--------------QZ|+00000260:  8c 20 28 7d 52 f0 3b 33  db 64 76 41 32 c3 9d f9  |. (}R.;3.dvA2...|+00000270:  ee b9 e7 9e 7b ce 77 ee  b9 97 a8 eb 6f dd f3 ec  |....{.w.....o...|+00000280:  b4 4a 34 e7 84 7e a1 9c  9b 3e 39 7d 4a ed ba 4d  |.J4..~...>9}J..M|+00000290:  69 52 a8 9b f0 e8 46 e0  e5 4a a5 09 c6 8e eb 98  |iR....F..J.I....|+000002a0:  fc 6f 7f 1e de a5 14 4b  ee ec 67 5b ed 63 5b f6  |.o~^..TK..g[.c[.|+000002b0:  e4 aa 19 18 d0 ba 86 e6  56 03 63 8e 28 a5 11 65  |..YX....VCc.(.Qe|+000002c0:  6a 86 e7 87 44 5d 97 20  1f 3c 1b 7a 8c 6f 03 3f  |j...D]. _<[z.oC?|+000002d0:  39 5b 29 e7 81 d7 80 95  d6 5c 40 7a aa 60 3a a6  |9[)......\@z.`:.|+000002e0:  6f 19 6a c1 d7 17 d4 92  ef d6 2c 3b e9 eb 56 e3  |oYj..W....,;..V.|+000002f0:  6c 63 cb 67 ce 6e b0 af  fc ec 46 eb 0e 66 27 c7  |lc.g.n....F.Nf'.|+00000300:  f1 ef 85 cf 17 4c 67 6a  12 78 1f f0 92 a1 8f 30  |....WLgjRx_....0|+00000310:  ee 03 be db b4 4e 14 63  9c 4e 7b e1 91 72 ac 9f  |.C...NTc.N{..r..|+00000320:  ce 36 66 a7 72 2d f9 c9  9a 7f 74 aa 25 bf 50 6f  |.6f.r-...~t.%.Po|+00000330:  8c 32 ce 12 a5 97 16 eb  95 37 80 9f 00 5e 75 4e  |.2.R..V..7..@^uN|+00000340:  17 8f b7 f4 d7 67 dd 71  b6 d3 43 24 f5 18 41 fe  |W....g.q..C$.XA.|+00000350:  14 f0 b3 c0 5a dd 1c e3  3c a9 c0 15 df 2d b3 3e  |T...Z.\.<..U.-.>|+00000360:  cb c3 aa 39 3c 02 fc 32  f0 25 2b 1c ab 00 c3 be  |...9<B.2.%+\.@..|+00000370:  f4 43 d0 9c 64 39 b0 a0  c5 7a 9e fd c4 5a 22 7b  |.C..d9...z...Z"{|+00000380:  46 3f 56 02 de 06 7c c8  b4 0b bc 16 ec 88 8a 17  |F?VB.F|..K.V...W|+00000390:  96 d8 e6 20 f0 bc 63 17  79 2d c4 2e 2e 9b 41 14  |... ..cWy-....AT|+000003a0:  2f 62 17 3f 85 f5 ca 68  ac 2f a7 43 bf c2 73 9f  |/bW?...h./.C..s.|+000003b0:  26 92 f7 d4 ac a3 63 c0  e0 44 1e ad fb a3 2c 87  |&.....c..D^...,.|+000003c0:  3f 72 e8 d9 d1 de 7a 11  78 c9 6f 94 39 f6 3d c0  |?r....zQx.o.9.=.|+000003d0:  6b ba 3f 52 00 86 cd cc  63 55 7d 98 79 7e 01 78  |k.?R@...cU}.y~Ax|+000003e0:  80 4e a4 74 32 c9 a5 d3  f8 1a e4 d0 bf 88 37 20  |.N.t2....Z....7 |+000003f0:  8b 9a 11 f2 c8 c7 58 0d  7d 9b 0a -- -- -- -- --  |..Q...XM}.J-----|+Hello.pdf:    27:  1:   1019:	+000003f0:  -- -- -- -- -- -- -- --  -- -- -- d0 70 d0 7c f4  |-----------.p.|.|+00000400:  0c 68 15 80 74 5a 00 2a  25 b4 4c f4 58 27 9e a3  |LhU.tZ@*%.L.X'..|+00000410:  52 15 3d 95 66 a2 59 41  84 d8 ca fd a8 6f 50 7e  |RU=.f.YA.....oP~|+00000420:  d7 a7 d4 80 b4 4e eb 90  d6 81 5e a3 5f 22 c9 3c  |.....N....^._".<|+00000430:  fd 4a 73 e8 e7 21 6d 60  6c a6 c3 6e 1e 5e 38 b4  |.Js..!m`l..n^^8.|+00000440:  08 0f d8 13 b6 f9 a0 65  d3 15 db 85 26 9e 47 3b  |HO.S...e.U..&.G;|+00000450:  28 26 c4 2b 62 50 0c 91  2a 5e 15 87 c5 21 31 0c  |(&.+bPL.*^U..!1L|+00000460:  e9 90 38 18 cd 89 bd 4f  fa ce 7e 3e d8 b0 f4 2e  |..8X...O..~>....|+00000470:  d6 4d fa be 0c 0e 42 ac  67 c3 33 07 ac 70 34 01  |.M..LNB.g.3G.p4A|+00000480:  3c f8 07 eb ce 46 9a 09  b6 2e ee 68 ec f3 bc 8f  |<.G..F.I...h....|+00000490:  de 3f ef bf 63 19 b7 3e  f8 b3 8d bd 00 fa 31 27  |.?..cY.>....@.1'|+000004a0:  bf c1 a2 0b 6b 26 25 e6  5e 3f f7 4d 4f c2 43 75  |...Kk&%.^?.MO.Cu|+000004b0:  45 7c f5 d6 9d ee eb e7  e8 78 32 4b 51 de aa 9d  |E|.......x2KQ...|+000004c0:  59 92 d7 e4 fb f2 0a --  -- -- -- -- -- -- -- --  |Y.....J---------|+Hello.pdf:    28:  1:   1223:	+000004c0:  -- -- -- -- -- -- -- be  f7 e4 d5 a4 0d f9 67 79  |-------.....M.gy|+000004d0:  15 ef bd b6 5c 3d ca 0b  ff 93 b9 cd 21 46 3b 92  |U...\=.K....!F;.|+000004e0:  cd 41 ce 3c 9b 51 b4 71  c6 1b c0 21 b8 a9 45 73  |.A.<.Q.q.[.!..Es|+000004f0:  f6 b7 59 4c b2 e9 b6 62  b4 60 c9 42 94 9d ab b8  |..YL...b.`.B....|+00000500:  ff cb 09 f3 c3 3c b7 b1  52 73 2e ee f0 bc b7 3f  |..I..<..Rs.....?|+00000510:  63 36 cd f7 8a 0f 8b 74  be 4f bb ac ad 6b 9f 68  |c6...O.t.O...k.h|+00000520:  3f 6a 7f 68 2b da c7 40  bf 4b 1f 4a 5f 4a df 4a  |?j~h+..@.K_J_J.J|+00000530:  57 a4 ab d2 0d 52 a5 6b  d2 b2 f4 9d f4 bd f4 b9  |W...MR.k........|+00000540:  f4 35 7a 5f 40 ba 2c 5d  e9 d8 49 71 ec 1b bb 07  |.5z_@.,]..Iq.[.G|+00000550:  7e c6 7b d6 68 ed 30 66  86 b3 14 10 f3 c2 da cc  |~.{.h.0f..TP....|+00000560:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:    29:  1:   1377:	+00000560:  -- 4b 1f f1 77 06 63 9b  f9 33 a1 d5 5e 03 9d bb  |-K_.wFc..3..^C..|+00000570:  7f 63 2d e5 88 b2 53 79  46 19 56 76 2b cf 29 13  |~c-...SyFYVv+.)S|+00000580:  4a af 72 40 39 ac 6c 57  06 d0 fa 95 51 65 2f 46  |J.r@9.lWF...Qe/F|+00000590:  76 6e b0 64 63 3d ce 80  85 7f 92 67 8b a6 23 ae  |vn.dc=...~.g..#.|+000005a0:  e2 3c b1 57 75 b0 e7 c3  4b 1d ef a6 5f 5c c3 d6  |.<.Wu...K].._\..|+000005b0:  86 35 d8 49 3d 0e 9e d9  da a6 0e af 11 57 bf 15  |.5.I=N....N.QW.U|+000005c0:  55 63 bc 3b 5d 9c 06 3a  4d 21 62 8b ce 22 72 1f  |Uc.;].F:M!b.."r_|+000005d0:  3a 9c 1f 27 aa fe ce d9  5c 93 38 35 52 6f e2 94  |:._'....\.85Ro..|+000005e0:  b0 c4 2e d1 2f c6 5a 35  98 13 07 50 85 e3 6d f5  |..../.Z5.SGP..m.|+000005f0:  38 c8 55 9a 19 c9 0c 67  72 a4 66 7a 33 43 99 fe  |8.U.Y.Lgr.fz3C..|+00000600:  cc 31 c6 51 ac d1 f9 92  d9 8b d1 21 7c 47 12 de  |.1.Q.......!|GR.|+00000610:  33 cb 31 ff 9b 35 c4 67  18 ef 1d e6 a8 09 6c a3  |3.1..5.gX.]..Il.|+00000620:  87 5b 2b 34 e7 71 df 11  e5 5d 6f c1 b7 66 ea a1  |.[+4.q.Q.]o..f..|+00000630:  3a a0 69 2f a9 39 5c af  a6 3a e6 18 d9 3e 55 b7  |:.i/.9\..:.X.>U.|+00000640:  6d 35 1a 0a -- -- -- --  -- -- -- -- -- -- -- --  |m5ZJ------------|+Hello.pdf:    30:  1:   1604:	+00000640:  -- -- -- -- 54 df 0c 4c  bf 69 56 b3 c4 77 37 cf  |----T.LL.iV..w7.|+00000650:  23 fa eb f5 e8 4e 4e 6d  bb 61 34 fc 66 2c a3 54  |#....NNm.a4.f,.T|+00000660:  ea 26 d1 7f b7 8f 93 34  0a -- -- -- -- -- -- --  |.&.~...4J-------|+Hello.pdf:    31:  1:   1641:	endstream+Hello.pdf:    32:  1:   1651:	endobj+Hello.pdf:    33:  1:   1658:	10 0 obj+Hello.pdf:    34:  1:   1667:	1116+Hello.pdf:    35:  1:   1672:	endobj+Hello.pdf:    36:  1:   1679:	7 0 obj+Hello.pdf:    37:  1:   1687:	[ /ICCBased 9 0 R ]+Hello.pdf:    38:  1:   1707:	endobj+Hello.pdf:    39:  1:   1714:	3 0 obj+Hello.pdf:    40:  1:   1722:	<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>+Hello.pdf:    41:  1:   1790:	endobj+Hello.pdf:    42:  1:   1797:	11 0 obj+Hello.pdf:    43:  1:   1806:	<< /Type /Catalog /Pages 3 0 R >>+Hello.pdf:    44:  1:   1840:	endobj+Hello.pdf:    45:  1:   1847:	8 0 obj+Hello.pdf:    46:  1:   1855:	<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor+Hello.pdf:    47:  1:   1937:	12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602+Hello.pdf:    48:  1:   2014:	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602+Hello.pdf:    49:  1:   2090:	0 0 602 ] >>+Hello.pdf:    50:  1:   2103:	endobj+Hello.pdf:    51:  1:   2110:	12 0 obj+Hello.pdf:    52:  1:   2119:	<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox+Hello.pdf:    53:  1:   2196:	[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729+Hello.pdf:    54:  1:   2273:	/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R+Hello.pdf:    55:  1:   2352:	>>+Hello.pdf:    56:  1:   2355:	endobj+Hello.pdf:    57:  1:   2362:	13 0 obj+Hello.pdf:    58:  1:   2371:	<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>+Hello.pdf:    59:  1:   2427:	stream+Hello.pdf:    60:  1:   2434:	+00000980:  -- -- 78 01 dd 57 7b 78  54 c5 15 3f 73 7f 77 36  |--xA.W{xT.U?s~w6|+00000990:  af cd 3e 92 4d 48 48 80  5d d6 e5 95 2c 81 84 b7  |..>.MHH.]...,...|+000009a0:  52 16 48 78 88 20 2f eb  2e 88 f2 48 20 28 21 08  |RVHx. /....H (!H|+000009b0:  41 b4 31 90 4a 51 09 c1  40 85 08 48 7d 15 51 a9  |A.1.JQI.@.HH}UQ.|+000009c0:  b5 2b 45 5d 09 c4 54 a4  62 23 45 84 a0 02 0a --  |.+E]I.T.b#E..BJ-|+Hello.pdf:    61:  1:   2511:	+000009c0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- f8  |---------------.|+000009d0:  a2 68 8a 14 21 d8 00 43  cf bd 1b fd 3e ed d7 ef  |.h.T!.@C..[.>...|+000009e0:  eb bf ed dc 9d 33 e7 fc  e6 cc 79 dd bb f7 ce 94  |.....3....y.....|+000009f0:  2d 5c 5c 44 56 aa 24 50  60 56 c9 8c 05 64 36 eb  |-\\DV.$P`V..Ed6.|+00000a00:  49 1e 8a 67 dd 53 e6 36  45 8a bd 97 48 cb 9d bd  |I^.g.S.6E...H...|+00000a10:  60 4e 49 54 8e 7f 91 e5  4e 73 e6 dd 37 3b 2a 27  |`NIT.~..Ns..7;*'|+00000a20:  4e 66 79 40 71 d1 8c c2  a8 4c 57 78 ec 57 cc 40  |Nfy@q....LWx.W.@|+00000a30:  54 16 7d 78 bc ae b8 a4  8c ed 18 cd fa 2e 13 d7  |TV}x......X...S.|+00000a40:  bc d2 59 6d f3 89 a3 0c  b0 64 c6 bd 6d fe e9 38  |..Ym...L.d..m..8|+00000a50:  cb ee f9 33 4a 8a 78 e4  66 8f 30 e9 b6 a0 74 51  |...3J.x.f.0...tQ|+00000a60:  99 29 92 bd 9a c7 ec 05  0b 8b da f4 45 90 28 a6  |.).....EK...E.(.|+00000a70:  53 74 ae 8d 1a 96 05 77  a9 59 29 8b ee 22 0b 69  |St..Z.Ew.Y).."Ki|+00000a80:  e4 a0 8d 94 c4 d0 ad ac  2b 79 d6 98 d7 62 b2 96  |........+y...b..|+00000a90:  3e 7d f6 8d 3b ec 37 5c  a4 4e b1 e6 e2 bd 65 e9  |>}..;.7\.N....e.|+00000aa0:  79 06 73 28 b8 a4 df e5  95 57 85 ac 8f bd 85 c5  |yFs(.....W......|+00000ab0:  e8 a4 31 c1 eb 62 4a 54  07 22 fd e0 e5 95 d7 92  |..1..bJTG"......|+00000ac0:  65 bd 69 c9 98 f9 be c9  08 c5 66 bd ae 55 8a 94  |e.i.....H.f..U..|+00000ad0:  ed eb a6 c9 a1 99 22 85  6a 09 4c 2b 49 17 2e 52  |......".jIL+IW.R|+00000ae0:  cc 27 9b 34 89 03 82 70  9a bc c3 a4 76 da c4 88  |.'.4.C.p....v...|+00000af0:  cd e4 13 b7 7f 3d 52 0e  f5 89 44 aa 60 cc 4a 3e  |..S.~=RN..D.`.J>|+00000b00:  a6 09 94 cb 34 de b4 17  67 6a c5 92 8d 91 18 93  |.I..4..Wgj....X.|+00000b10:  b7 98 3a d2 e4 75 13 87  89 68 26 22 02 21 05 a5  |..:..uS..h&"B!E.|+00000b20:  70 b5 02 57 14 2e 2b b4  e6 e2 9f 75 f8 ae 02 97  |p.BWT.+....u..B.|+00000b30:  5a aa e5 25 85 4b 0d 7a  cb c5 90 6c a9 46 4b a5  |Z..%.KMz...l.FK.|+00000b40:  7e f1 42 17 79 31 84 8b  01 fd 42 17 7c 7b 3e 47  |~.BWy1..A.BW|{>G|+00000b50:  7e db 8a f3 39 f8 87 c2  39 85 6f 72 71 d6 85 bf  |~...9...9.orq...|+00000b60:  d7 a2 99 43 6c 56 68 8e  5c 3b 18 b8 a6 7f 3d 12  |...ClVh.\;X..~=R|+00000b70:  5f 9d 29 94 5f d5 e2 4c  21 fe a6 70 fa cb 0c 79  |_.)._..L!..p..Ly|+00000b80:  5a e1 cb 0c 7c a1 f0 f9  5d f8 4c e1 d3 3a 9c 3a  |Z..L|...].L..:.:|+00000b90:  99 2e 4f b5 e2 64 3a 4e  d4 e2 13 85 8f 15 8e 1f  |..O..d:N..S..U._|+00000ba0:  4b 91 c7 15 8e a5 e0 68  2d 3e fa 30 45 7e a4 f0  |K..U...h->.0E~..|+00000bb0:  e1 ea 04 f9 61 0a -- --  -- -- -- -- -- -- -- --  |..D.aJ----------|+Hello.pdf:    62:  1:   2998:	+00000bb0:  -- -- -- -- -- -- 3e a8  c0 91 41 68 62 a1 69 10  |------>...Ahb.iP|+00000bc0:  0e 2b 1c 7a 3f 5e 1e 52  78 3f 1e 07 15 de 53 38  |N+\z?^^Rx?^GU.S8|+00000bd0:  50 e5 94 07 32 f1 d7 54  ec 57 78 b7 16 8d ab 7c  |P..G2..T.Wx.V..||+00000be0:  b2 51 e1 2f 0a -- -- --  -- -- -- -- -- -- -- --  |.Q./J-----------|+Hello.pdf:    63:  1:   3045:	+00000be0:  -- -- -- -- -- ef 54 60  9f c2 db 0a -- -- -- --  |-----.T`...J----|+Hello.pdf:    64:  1:   3052:	+00000be0:  -- -- -- -- -- -- -- --  -- -- -- -- 7f 56 d8 bb  |------------~V..|+00000bf0:  29 51 be a5 b0 47 e1 4d  85 3f 29 34 b0 bd 06 17  |)Q...G.M.?)4..FW|+00000c00:  de b0 a2 7e 77 9d ac 57  d8 bd 6b 9a dc 5d 87 dd  |...~w..W..k..]..|+00000c10:  95 fa ae 3a 9f dc 35 0d  bb 02 7a 9d 0f 3b 15 5e  |...:..5M.Bz.O;U^|+00000c20:  af 45 a4 66 a8 7c 4d e1  55 1e 5e 6d c5 2b 6c 6b  |.E.f.|M.U^^m.+lk|+00000c30:  87 c2 1f 0b b1 bd 10 2f  db 10 4e c2 1f 14 5e 52  |.._K..P/.PN._T^R|+00000c40:  81 ab f8 bd c2 8b 0a --  -- -- -- -- -- -- -- --  |......J---------|+Hello.pdf:    65:  1:   3143:	+00000c40:  -- -- -- -- -- -- -- bf  4b c2 36 85 17 9e b7 c9  |-------.K.6.W...|+00000c50:  17 72 f1 bc 0d cf 6d 75  ca e7 ba 61 ab 13 cf 6e  |Wr..M.mu...a.S.n|+00000c60:  f1 cb 67 2b b0 c5 8f df  2a 3c a3 f0 b4 c2 53 4f  |..g+....*<....SO|+00000c70:  a6 cb a7 0a -- -- -- --  -- -- -- -- -- -- -- --  |...J------------|+Hello.pdf:    66:  1:   3188:	+00000c70:  -- -- -- -- f1 e4 13 0e  f9 64 3a 9e 70 e0 37 f1  |----..SN.d:.p.7.|+00000c80:  d8 ac f0 38 3b 79 5c 61  53 22 36 6e e8 29 37 2a  |...8;y\aS"6n.)7*|+00000c90:  6c e8 89 c7 d8 ff 63 b5  a8 5d 5f 27 6b 15 d6 f3  |l.....c..]_'kU..|+00000ca0:  b3 b5 be 0e eb 2b f5 75  6b 7c 72 dd 34 ac 0b e8  |...N.+.uk|r.4.K.|+00000cb0:  8f 2a fc 5a 61 2d cb 6b  eb b0 c6 87 1a 2e 46 cd  |.*.Za-.k....Z.F.|+00000cc0:  50 3c c2 d9 3e e2 c2 ea  04 54 33 50 5d 88 55 5c  |P<..>...DT3P].U\|+00000cd0:  b4 55 3e 54 39 b1 52 e1  61 85 87 14 1e 5c e1 94  |.U>T9.R.a..T^\..|+00000ce0:  0f 2a ac 70 e2 57 0a --  -- -- -- -- -- -- -- --  |O*.p.WJ---------|+Hello.pdf:    67:  1:   3303:	+00000ce0:  -- -- -- -- -- -- -- cb  15 1e 70 0e 93 0f 4c c2  |-------.U^pN.OL.|+00000cf0:  2f 15 2a ef c5 b2 a5 15  72 99 c2 d2 0a -- -- --  |/U*....Ur...J---|+Hello.pdf:    68:  1:   3325:	+00000cf0:  -- -- -- -- -- -- -- --  -- -- -- -- -- 54 74 c4  |-------------Tt.|+00000d00:  fd 0a -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.J--------------|+Hello.pdf:    69:  1:   3330:	+00000d00:  -- -- e5 36 fc 42 61 89  c2 3d 0a -- -- -- -- --  |--.6.Ba..=J-----|+Hello.pdf:    70:  1:   3339:	+00000d00:  -- -- -- -- -- -- -- --  -- -- -- 8b cb ac 72 b1  |-----------...r.|+00000d10:  1d 8b 23 82 02 47 f5 32  2b ca 1a f4 45 49 58 14  |].#.BG.2+.Z.EIXT|+00000d20:  d0 17 2a dc ad b0 40 a1  74 fe 24 59 5a 8b f9 25  |.W*...@.t.$YZ..%|+00000d30:  dd e4 fc 49 28 e9 86 79  0a -- -- -- -- -- -- --  |...I(..yJ-------|+Hello.pdf:    71:  1:   3385:	+00000d30:  -- -- -- -- -- -- -- --  -- 77 e5 e2 4e 85 b9 b9  |---------w..N...|+00000d40:  28 6e c5 9c 3a cc 56 28  52 28 54 98 35 b3 a3 9c  |(n..:.V(R(T.5...|+00000d50:  a5 30 93 1c 72 66 47 cc  50 98 ae 70 87 c2 ed 53  |.0.\rfG.P..p...S|+00000d60:  12 e4 ed 36 4c 2b c4 6d  fb 30 95 85 a9 2e 4c 49  |R..6L+.m.0....LI|+00000d70:  00 3f d1 41 17 6e 55 f8  b9 c2 2d 19 e9 f2 96 5c  |@?.AWnU...-Y...\|+00000d80:  4c 56 98 a4 30 51 61 42  05 c6 2b dc ec c2 38 85  |LV..0QaBE.+...8.|+00000d90:  b1 c2 2f c7 2a dc 54 87  31 dd 70 e3 e8 34 79 63  |../.*.T.1.p..4yc|+00000da0:  7f 8c 1e 9e 24 47 a7 61  54 41 9a 1c a5 30 92 a5  |~.^.$G.aTA.\.0..|+00000db0:  91 85 18 c1 d2 88 3a 14  a4 21 9f 81 fc fe 18 3e  |..X...:T.!....X>|+00000dc0:  cc 29 87 27 61 78 44 0b  04 e2 f4 61 43 ed 72 98  |.).'axDKD..aC.r.|+00000dd0:  13 c3 22 1a b1 34 34 60  93 43 ed 18 1a 11 0d 2c  |S."Z.44`.C.XZQM,|+00000de0:  05 86 58 65 c0 86 40 44  54 b2 34 c4 1a 27 87 58  |E.Xe..@DT.4.Z'.X|+00000df0:  31 24 22 02 81 42 fd 67  0a -- -- -- -- -- -- --  |1$"B.B.gJ-------|+Hello.pdf:    72:  1:   3577:	+00000df0:  -- -- -- -- -- -- -- --  -- 83 39 84 c1 ad b8 41  |---------.9....A|+00000e00:  e1 fa 6e 18 a4 30 90 0b  3c b0 10 03 7a b7 97 03  |..nX.0.K<.PCz..C|+00000e10:  c6 a0 bf 42 3f bf 4b f6  53 e8 3b 06 7d 7a b5 97  |...B?.K.S.;F}z..|+00000e20:  7d c6 20 8f 87 3c 85 5c  56 cc 55 e8 cd d3 bd db  |}. ..<.\V.U.....|+00000e30:  a3 57 7b e4 30 97 93 86  9e 71 a9 b2 67 1d fc d9  |.W{.0....q..g]..|+00000e40:  c9 d2 ef 82 3f a2 19 6e  b3 1d 4e 99 9d 8c 6c 23  |....?.Yn.]N...l#|+00000e50:  dc 5a 3d ab 87 4f 66 29  f4 60 cd 1e 3e 74 d7 06  |.Z=..Of).`.^>t.F|+00000e60:  c9 ee 0a -- -- -- -- --  -- -- -- -- -- -- -- --  |..J-------------|+Hello.pdf:    73:  1:   3683:	+00000e60:  -- -- -- dd 14 ba 2a 74  b1 c3 97 3a 4c fa 0a --  |---.T.*t...:L.J-|+Hello.pdf:    74:  1:   3695:	+00000e60:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- -- 70  |---------------p|+00000e70:  9d 1d 5e 85 ce 76 bb ec  ac e0 71 fb a5 a7 02 6e  |.]^..v....q...Bn|+00000e80:  3f 3a 8d 41 47 f6 dc 51  a1 83 42 26 d7 36 53 21  |?:.AG..Q..B&.6S!|+00000e90:  83 ef 4a 46 3a da 2b a4  2b a4 29 b4 63 0b ed 46  |..JF:.+.+.).cK.F|+00000ea0:  20 35 c5 2f 53 87 21 c5  e5 90 29 7e b8 1c 48 66  | 5./S.!...)~.\Hf|+00000eb0:  bd 64 17 92 78 7d 92 82  93 33 77 0e 83 83 3d 38  |.dW.x}...3wN..=8|+00000ec0:  9c 70 44 6b 67 b7 59 a5  dd 0e 7b b4 76 b6 c4 78  |.pDkg.Y..N{.v..x|+00000ed0:  69 b3 c2 16 ad 5d 22 d7  2e 31 1e 89 5c bb 1d ba  |i..V.]"..1^.\.].|+00000ee0:  35 0e 56 e3 d9 ea af 27  28 c4 73 26 f1 0a -- --  |5NV....'(.s&.J--|+Hello.pdf:    75:  1:   3822:	+00000ee0:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 71 a9  |--------------q.|+00000ef0:  88 75 20 46 c1 c2 a6 2d  0a -- -- -- -- -- -- --  |.u F...-J-------|+Hello.pdf:    76:  1:   3833:	+00000ef0:  -- -- -- -- -- -- -- --  -- d2 05 70 72 68 85 c6  |---------.Eprh..|+00000f00:  80 36 08 82 03 10 7e 90  03 22 22 0a -- -- -- --  |.6H.CP~.C""J----|+Hello.pdf:    77:  1:   3852:	+00000f00:  -- -- -- -- -- -- -- --  -- -- -- -- 57 ac 16 59  |------------W.VY|+00000f10:  ff 3f 8d fe c7 53 e1 4f  67 84 1a cd be 4d ac e5  |.?...S.Og.Z..M..|+00000f20:  d1 d8 47 44 e8 21 6d 19  7f a5 bf bf 22 b4 87 75  |..GD.!mY~..."..u|+00000f30:  34 53 2f 22 1a c5 4a b1  93 f9 ad bc b7 68 a4 e5  |4S/"Z.J......h..|+00000f40:  74 5e c4 e3 6d d1 9f b9  7a 5e 1b d4 3d 8c d6 d0  |t^..m...z^[.=...|+00000f50:  66 73 75 0d 4e d3 62 ec  a2 43 f4 0e 1d 63 ee b4  |fsuMN.b..C.N]c..|+00000f60:  18 08 5e 2b 0e 91 47 9c  60 3f 2b 7f f0 a1 a1 9e  |XH^+N.G.`?+~....|+00000f70:  a5 3d 4c cb 51 8f a0 e8  24 4a 68 8b 78 89 2d 96  |.=L.Q...$Jh.x.-.|+00000f80:  53 44 94 d2 32 8d 47 6d  22 5b de af 1f 64 74 3f  |SD..2.Gm"[.._dt?|+00000f90:  3d c4 d7 a3 b4 85 4a 99  37 32 58 ce f1 7f 4c 3b  |=.....J.72X..~L;|+00000fa0:  68 15 5d a0 0d da 19 9a  c2 fc 4e da cb f1 28 fe  |hU].M.Y...N...(.|+00000fb0:  fc 9a b9 88 26 6a 61 4b  db b4 c1 da 6c d6 db cb  |....&jaK....l...|+00000fc0:  d6 36 d1 26 b1 9c 9a 68  91 4e fc 29 57 74 4a 36  |.6.&...h.N.)WtJ6|+00000fd0:  69 59 6c 75 07 67 40 34  93 36 cb 26 b9 c1 a8 07  |iYluGg@4.6.&...G|+00000fe0:  8f 4d f2 1c cf 10 75 b0  44 2c ae 18 2f 67 61 d4  |.M.\.Pu.D,.X/ga.|+00000ff0:  6e ab d8 25 7a 6b e3 e8  10 af 2f a7 c9 b8 0d 77  |n..%zk..P./...Mw|+00001000:  e3 98 58 a1 7b f5 25 38  43 35 1a 61 3a dd 49 07  |..X.{.%8C5Za:.IG|+00001010:  64 93 c5 45 35 31 5e aa  b1 cc 16 f7 e9 d3 cd ab  |d..E51^...V.....|+00001020:  9c ad 95 6b 4b f4 e9 62  1b 9d 61 9b 33 f1 1d cb  |...kK..b[.a.3.].|+00001030:  1e 8e 6c b3 99 31 d1 0e  6d a2 1c 27 c7 71 ce b3  |^.l..1.Nm.\'.q..|+00001040:  19 db 6c d2 9a 28 b5 38  68 3f 5a b9 ee 6b 35 25  |Y.l..(.8h?Z..k5%|+00001050:  46 e9 23 30 84 f3 29 d7  6f a2 0d f4 0c db ed ca  |F.#0..).o.M.L...|+00001060:  95 21 2a 45 5f f6 5e 4a  e5 72 75 f4 a2 6d 7c f9  |.!*E_.^J.ru..m|.|+00001070:  e5 6a d4 72 45 cd 6a 88  3c 6d 30 6d d6 66 8b 55  |.j.rE.j.<m0m.f.U|+00001080:  1c 6d 0b 57 b3 14 f9 d4  9f 7d 74 90 67 69 85 d8  |\mKW.T...}t.gi..|+00001090:  c1 71 53 4c 05 2d 92 4d  bc 55 24 ea 41 f4 5a 8c  |.qSLE-.M.U$.A.Z.|+000010a0:  45 ea fc f7 a6 6c b7 23  ac f9 46 17 86 03 13 82  |E....l.#..FW.CS.|+000010b0:  ee 7d 21 8f 3f fb 27 a2  db 11 e3 0e d3 f8 70 e2  |.}!.?.'..Q.N..p.|+000010c0:  7d ee c8 b5 6b e3 83 7a  86 0c 85 65 66 18 be d8  |}...k..z.L.efX..|+000010d0:  b0 ee f3 9e fa 4f 93 a7  fc d9 63 c6 07 dd 11 d1  |.....O....c.G.Q.|+000010e0:  ae 20 bf cd 6c c1 f4 7c  06 27 05 d9 03 ff 0c 98  |. ..l..|F'E.C.L.|+000010f0:  dd 15 30 16 05 46 87 a5  8f 7f a3 a7 87 dd b3 8a  |.U0VEF...~......|+00001100:  dd 55 8e 2a ef a0 2a 47  d1 20 3f ef ff b2 c7 30  |.U.*..*G. ?....0|+00001110:  19 1f 7c 59 88 47 42 11  71 6d 45 84 f2 3b bc ce  |Y_|Y.GBQqmE..;..|+00001120:  bb 48 dc 71 3b 4f c7 65  bb dd 05 73 f3 c3 62 3a  |.H.q;O.e..Es..b:|+00001130:  0b f1 d9 0c f4 f0 30 97  90 ed 1e c1 61 8e 98 18  |K..L..0...^.a..X|+00001140:  f4 86 dc 55 ee aa d1 85  55 ee 11 ee e2 19 85 1c  |...U....U.Q..Y.\|+00001150:  b7 39 f2 44 51 55 28 87  33 98 14 9c cb 74 72 d0  |.9.DQU(.3.T..tr.|+00001160:  13 0e 84 32 7e 60 8b 42  21 c3 bb d5 b0 c3 4b 58  |SN.2~`.B!.....KX|+00001170:  bd 2a c4 16 ee 6c b3 c0  a3 09 e5 5c 65 a5 c4 ec  |.*.V.l...I.\e...|+00001180:  31 ee 30 ba 8c 0f 4e 08  86 2b f3 33 c2 81 fc 50  |1.0..ONH.+.3...P|+00001190:  86 c7 e3 2e 08 37 8c 0f  86 1b f2 33 3c a1 10 6b  |....H7.O.[.3<.Pk|+000011a0:  d9 7e 88 94 23 ae 98 9b  d6 16 b3 9d 63 b6 f5 e0  |.~..#....V..c...|+000011b0:  79 47 d4 0a -- -- -- --  -- -- -- -- -- -- -- --  |yG.J------------|+Hello.pdf:    78:  1:   4532:	+000011b0:  -- -- -- -- 97 28 90 11  a6 50 55 95 61 73 52 d0  |----.(.Q.PU.asR.|+000011c0:  eb 09 57 56 55 65 54 71  1e 6d 72 84 1a 7e 02 08  |.IWVUeTq^mr.Z~BH|+000011d0:  fa 29 10 68 03 22 64 d8  e0 4a 14 f0 f7 60 3c 1b  |.)PhC"d..JT..`<[|+000011e0:  e3 c1 eb c9 30 00 af c7  eb e1 38 43 f9 ec db 69  |....0@....8C...i|+000011f0:  dc 9a 02 8e d4 13 f2 f3  6e 9c 8a b9 af e4 5e ce  |..B..S..n.....^.|+00001200:  fd 9c c1 f3 b3 18 dd e7  f3 f9 82 cf 00 53 58 1e  |.....X......@SX^|+00001210:  45 dd fe 6d bf ce f0 7f  d9 b4 1f e9 c1 94 74 93  |E..m...~.._...t.|+00001220:  76 e1 67 77 3b 9d 14 99  fc af 2f 56 b5 7a b1 dc  |v.gw;.T.../V.z..|+00001230:  c2 a7 aa 18 ea b4 cb dc  f3 13 59 84 eb 55 11 2b  |...X.....SY..UQ+|+00001240:  97 6b 3a e5 bc 75 b8 b9  37 39 0e 37 1f 6e ee 95  |.k:..u..79N7_n..|+00001250:  ec f4 38 7d 1e a7 a7 58  a7 2b 8b 90 71 e5 0b 55  |..8}^..X.+..q.KU|+00001260:  1b 63 fb ee fc 42 4b 77  c3 ac 30 72 d0 47 f1 bf  |[c...BKw..0r.G..|+00001270:  20 81 6e 36 4e 15 7c 6f  73 f8 d6 71 b7 3a f8 58  | .n6NU|os..q.:.X|+00001280:  f4 1e 77 e6 c5 71 c6 58  96 3c ea dc 63 18 17 2c  |.^w..q.X.<..cXW,|+00001290:  c7 bd c7 6f 0b 43 41 e7  6e e1 1e 9f b3 93 a3 8a  |...oKCA.n.^.....|+000012a0:  a5 84 ac 5e bd 93 f3 d8  75 9e d3 cb d4 bb b2 51  |...^....u......Q|+000012b0:  eb de d8 78 f5 83 46 d9  74 f5 2d ed 86 d6 2c ed  |...x..F.t.-...,.|+000012c0:  9b ab 4e f6 af 51 f9 b5  cf f8 ad 51 4e 29 94 49  |..N..Q.....QN).I|+000012d0:  79 46 04 3b 19 74 b0 81  08 69 ec 21 93 3d 65 e6  |yFD;Yt..Hi.!.=e.|+000012e0:  f0 3b cf 42 89 0c ee a4  64 4a 37 47 a3 0e 86 17  |.;.B.L..dJ7G.N.W|+000012f0:  91 e2 49 b1 a4 e6 e5 f6  eb 9f 62 13 5e 37 39 1d  |..I.......bS^79]|+00001300:  94 97 9b 14 d3 53 78 3b  5b 62 f4 e9 57 3e 8b 7d  |...T.Sx;[b..W>.}|+00001310:  e3 a5 60 43 c9 dc 3d 53  d5 65 75 54 b8 cf 1d b9  |..`C..=S.euT..].|+00001320:  14 b6 ae 7d 78 c5 8b b1  5a f5 14 cb 17 fb 06 0c  |T..}x...Z.T.W.FL|+00001330:  7c 2d 2b 4b 0c 14 c9 c2  2a 02 ea 93 c7 ca 5e 08  ||-+KLT..*B....^H|+00001340:  cf 37 ea 72 8e eb 32 c5  d2 9e bd 76 8d 46 95 c8  |.7.r..2....v.F..|+00001350:  b7 d8 88 ca a8 43 dc 71  8e 48 e7 53 9e 11 51 22  |.....C.q.H.S.QQ"|+00001360:  c5 47 23 71 a5 5e 2f 52  bc 9d bb f4 75 7a fa 7a  |.G#q.^/R....uz.z|+00001370:  b4 03 53 43 1f 9c 79 f6  15 f5 91 38 21 d6 df bf  |.CSC_.y.U..8!...|+00001380:  f4 f1 43 6f e2 e2 1a a3  e6 1a ad e4 9c 47 71 ce  |..Co..Z..Z...Gq.|+00001390:  09 d4 8e bc 81 64 4b 75  12 55 5b eb 93 36 a6 c5  |I....dKuRU[..6..|+000013a0:  25 d9 f3 91 94 f2 b3 34  c7 85 e6 2b c6 2d fc fc  |%......4...+.-..|+000013b0:  42 b3 e3 6c 2f d1 d9 92  e2 32 72 ec db a7 4b d7  |B..l/....2r...K.|+000013c0:  dc 24 a7 43 f3 76 d6 9c  8e 24 ad b8 7a cd 9a ea  |.$.C.v...$..z...|+000013d0:  d5 6b d6 ac 3e 73 a9 e5  ab 33 2d 2d 38 71 f4 48  |.k..>s...3--8q.H|+000013e0:  d3 b1 63 4d 47 8e 6e 56  ef ab 4f d5 29 75 48 f8  |..cMG.nV..O.)uH.|+000013f0:  f9 b3 d3 51 f4 34 fc 9a  ed da 52 f3 39 35 4e a7  |...Q.4....R.95N.|+00001400:  3f 6e 92 c5 2c 7e 7e 6f  a6 89 cc 09 3e 3a 46 75  |?n..,~~o...I>:Fu|+00001410:  2c c6 0b 72 e4 84 c9 63  a7 8c c8 1a 5b 34 7f 5e  |,.Kr...c...Z[4~^|+00001420:  a9 7f 62 d1 9c c5 f3 66  2c 24 fa 17 20 2d 06 e4  |.~b....f,$.W -F.|+00001430:  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf:    79:  1:   5169:	endstream+Hello.pdf:    80:  1:   5179:	endobj+Hello.pdf:    81:  1:   5186:	14 0 obj+Hello.pdf:    82:  1:   5195:	2734+Hello.pdf:    83:  1:   5200:	endobj+Hello.pdf:    84:  1:   5207:	15 0 obj+Hello.pdf:    85:  1:   5216:	(Hello)+Hello.pdf:    86:  1:   5224:	endobj+Hello.pdf:    87:  1:   5231:	16 0 obj+Hello.pdf:    88:  1:   5240:	(Mac OS X 10.12.6 Quartz PDFContext)+Hello.pdf:    89:  1:   5277:	endobj+Hello.pdf:    90:  1:   5284:	17 0 obj+Hello.pdf:    91:  1:   5293:	(TextEdit)+Hello.pdf:    92:  1:   5304:	endobj+Hello.pdf:    93:  1:   5311:	18 0 obj+Hello.pdf:    94:  1:   5320:	(D:20200124010711Z00'00')+Hello.pdf:    95:  1:   5346:	endobj+Hello.pdf:    96:  1:   5353:	19 0 obj+Hello.pdf:    97:  1:   5362:	()+Hello.pdf:    98:  1:   5365:	endobj+Hello.pdf:    99:  1:   5372:	20 0 obj+Hello.pdf:   100:  1:   5381:	[ ]+Hello.pdf:   101:  1:   5385:	endobj+Hello.pdf:   102:  1:   5392:	1 0 obj+Hello.pdf:   103:  1:   5400:	<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate+Hello.pdf:   104:  1:   5480:	18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>+Hello.pdf:   105:  1:   5529:	endobj+Hello.pdf:   106:  1:   5536:	xref+Hello.pdf:   107:  1:   5541:	0 21+Hello.pdf:   108:  1:   5546:	0000000000 65535 f +Hello.pdf:   109:  1:   5566:	0000005392 00000 n +Hello.pdf:   110:  1:   5586:	0000000238 00000 n +Hello.pdf:   111:  1:   5606:	0000001714 00000 n +Hello.pdf:   112:  1:   5626:	0000000022 00000 n +Hello.pdf:   113:  1:   5646:	0000000219 00000 n +Hello.pdf:   114:  1:   5666:	0000000342 00000 n +Hello.pdf:   115:  1:   5686:	0000001679 00000 n +Hello.pdf:   116:  1:   5706:	0000001847 00000 n +Hello.pdf:   117:  1:   5726:	0000000439 00000 n +Hello.pdf:   118:  1:   5746:	0000001658 00000 n +Hello.pdf:   119:  1:   5766:	0000001797 00000 n +Hello.pdf:   120:  1:   5786:	0000002110 00000 n +Hello.pdf:   121:  1:   5806:	0000002362 00000 n +Hello.pdf:   122:  1:   5826:	0000005186 00000 n +Hello.pdf:   123:  1:   5846:	0000005207 00000 n +Hello.pdf:   124:  1:   5866:	0000005231 00000 n +Hello.pdf:   125:  1:   5886:	0000005284 00000 n +Hello.pdf:   126:  1:   5906:	0000005311 00000 n +Hello.pdf:   127:  1:   5926:	0000005353 00000 n +Hello.pdf:   128:  1:   5946:	0000005372 00000 n +Hello.pdf:   129:  1:   5966:	trailer+Hello.pdf:   130:  1:   5974:	<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>+Hello.pdf:   131:  1:   6052:	<8db88d3335070bd9583341583cf769a3> ] >>+Hello.pdf:   132:  1:   6092:	startxref+Hello.pdf:   133:  1:   6102:	5536+Hello.pdf:   134:  1:   6107:	%%EOF+Hello.sh:     1:  1:      0:	#!/bin/sh+Hello.sh:     2:  1:     10:	echo "Hello World!"+Hello.txt:     1:  1:      0:	Hello

tests/out/Hello_-W-nv.out

new file mode 100644

tests/out/Hello_-W-nvC1.out

new file mode 100644

tests/out/Hello_-W-nvy.out

new file mode 100644@@ -0,0 +1,433 @@+Hello.bat-1-#!/bin/sh+Hello.bat-2-echo "Hello World!"+Hello.class-1-+Hello.class-2-+00000000-  ca fe ba be 00 00 00 34  00 1d 0a 00 06 00 0f 09  |....@@@4@]J@F@OI|+Hello.class-3-+00000010-  00 10 00 11 08 00 12 0a  00 13 00 14 07 00 15 07  |@P@QH@RJ@S@TG@UG|+00000020-  00 16 01 00 06 3c 69 6e  69 74 3e 01 00 03 28 29  |@VA@F<init>A@C()|+00000030-  56 01 00 04 43 6f 64 65  01 00 0f 4c 69 6e 65 4e  |VA@DCodeA@OLineN|+00000040-  75 6d 62 65 72 54 61 62  6c 65 01 00 04 6d 61 69  |umberTableA@Dmai|+00000050-  6e 01 00 16 28 5b 4c 6a  61 76 61 2f 6c 61 6e 67  |nA@V([Ljava/lang|+Hello.class-4-+00000060-  2f 53 74 72 69 6e 67 3b  29 56 01 00 0a 53 6f 75  |/String;)VA@JSou|+Hello.class-5-+00000070-  72 63 65 46 69 6c 65 01  00 0a 48 65 6c 6c 6f 2e  |rceFileA@JHello.|+00000080-  6a 61 76 61 0c 00 07 00  08 07 00 17 0c 00 18 00  |javaL@G@HG@WL@X@|+00000090-  19 01 00 0c 48 65 6c 6c  6f 20 57 6f 72 6c 64 21  |YA@LHello World!|+000000a0-  07 00 1a 0c 00 1b 00 1c  01 00 05 48 65 6c 6c 6f  |G@ZL@[@\A@EHello|+000000b0-  01 00 10 6a 61 76 61 2f  6c 61 6e 67 2f 4f 62 6a  |A@Pjava/lang/Obj|+000000c0-  65 63 74 01 00 10 6a 61  76 61 2f 6c 61 6e 67 2f  |ectA@Pjava/lang/|+000000d0-  53 79 73 74 65 6d 01 00  03 6f 75 74 01 00 15 4c  |SystemA@CoutA@UL|+000000e0-  6a 61 76 61 2f 69 6f 2f  50 72 69 6e 74 53 74 72  |java/io/PrintStr|+000000f0-  65 61 6d 3b 01 00 13 6a  61 76 61 2f 69 6f 2f 50  |eam;A@Sjava/io/P|+00000100-  72 69 6e 74 53 74 72 65  61 6d 01 00 07 70 72 69  |rintStreamA@Gpri|+00000110-  6e 74 6c 6e 01 00 15 28  4c 6a 61 76 61 2f 6c 61  |ntlnA@U(Ljava/la|+00000120-  6e 67 2f 53 74 72 69 6e  67 3b 29 56 00 21 00 05  |ng/String;)V@!@E|+00000130-  00 06 00 00 00 00 00 02  00 01 00 07 00 08 00 01  |@F@@@@@B@A@G@H@A|+00000140-  00 09 00 00 00 1d 00 01  00 01 00 00 00 05 2a b7  |@I@@@]@A@A@@@E*.|+Hello.class-6-+00000150-  00 01 b1 00 00 00 01 00  0a 00 00 00 06 00 01 00  |@A.@@@A@J@@@F@A@|+00000160-  00 00 02 00 09 00 0b 00  0c 00 01 00 09 00 00 00  |@@B@I@K@L@A@I@@@|+00000170-  25 00 02 00 01 00 00 00  09 b2 00 02 12 03 b6 00  |%@B@A@@@I.@BRC.@|+Hello.class-7-+Hello.class-8-+00000180-  04 b1 00 00 00 01 00 0a  00 00 00 0a 00 02 00 00  |D.@@@A@J@@@J@B@@|+00000190-  00 04 00 08 00 05 00 01  00 0d 00 00 00 02 00 0e  |@D@H@E@A@M@@@B@N|+Hello.java-1-import java.lang.*;+Hello.java-2-public class Hello // prints a Hello World! greeting+Hello.java-3-{ public static void main(String[] arg)+Hello.java-4-  { System.out.println("Hello World!");+Hello.java-5-  }+Hello.java-6-}+Hello.pdf-1-%PDF-1.3+Hello.pdf-2-+00000000-  -- -- -- -- -- -- -- --  -- 25 c4 e5 f2 e5 eb a7  |---------%......|+00000010-  f3 a0 d0 c4 c6 0a -- --  -- -- -- -- -- -- -- --  |.....J----------|+Hello.pdf-3-4 0 obj+Hello.pdf-4-<< /Length 5 0 R /Filter /FlateDecode >>+Hello.pdf-5-stream+Hello.pdf-6-+00000040-  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 78 01  |--------------xA|+Hello.pdf-7-+00000050-  45 8e bb 0a 02 31 14 44  7b bf e2 94 5a 98 bd 89  |E..JB1TD{...Z...|+00000060-  79 98 56 11 6c 17 2e f8  01 61 2d 64 d7 65 cd ff  |y.VQlW..Aa-d.e..|+00000070-  83 17 2c ac 86 99 39 0c  b3 31 b2 51 02 b9 46 97  |.W,...9L.1.QB.F.|+Hello.pdf-8-+00000080-  e2 a9 12 f3 99 90 5c 4c  59 0a 9f 89 07 6f 86 6b  |..R...\LYJ..Go.k|+00000090-  f7 b4 8e d0 9b e1 e2 6a  a9 52 6a b2 40 38 fe ad  |.......j.Rj.@8..|+000000a0-  ed 94 20 bb b6 70 51 a3  44 c4 a3 0d ef 7f a0 69  |.. ..pQ.D..M.~.i|+000000b0-  c2 0b ba 30 a8 7a ac 7c  b2 bf 4f f3 bc 1e d0 17  |.K.0.z.|..O..^.W|+000000c0-  37 b5 37 e3 17 4e ff 20  a5 0a -- -- -- -- -- --  |7.7.WN. .J------|+Hello.pdf-9-endstream+Hello.pdf-10-endobj+Hello.pdf-11-5 0 obj+Hello.pdf-12-123+Hello.pdf-13-endobj+Hello.pdf-14-2 0 obj+Hello.pdf-15-<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]+Hello.pdf-16->>+Hello.pdf-17-endobj+Hello.pdf-18-6 0 obj+Hello.pdf-19-<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R+Hello.pdf-20->> >>+Hello.pdf-21-endobj+Hello.pdf-22-9 0 obj+Hello.pdf-23-<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>+Hello.pdf-24-stream+Hello.pdf-25-+00000200-  -- -- -- -- -- -- -- --  -- -- -- -- 78 01 85 55  |------------xA.U|+00000210-  5d 68 1c 55 14 3e bb 73  67 03 12 07 1f b4 0d 2d  |]h\UT>.sgCRG_.M-|+00000220-  b4 83 3f 6d 09 e9 32 89  56 13 8b b5 db 4d ba 49  |..?mI.2.VS...M.I|+00000230-  13 b7 eb 66 53 9b 2a ca  74 76 36 3b cd 64 66 9c  |S..fS.*.tv6;.df.|+00000240-  99 dd 26 a1 4f a5 e0 9b  16 04 e9 ab a0 3e c6 82  |..&.O...VD...>..|+Hello.pdf-26-+00000250-  08 b6 2a 36 2f f6 a5 a5  c5 92 4a 35 0f 0a 11 5a  |H.*6/.....J5OJQZ|+00000260-  8c 20 28 7d 52 f0 3b 33  db 64 76 41 32 c3 9d f9  |. (}R.;3.dvA2...|+00000270-  ee b9 e7 9e 7b ce 77 ee  b9 97 a8 eb 6f dd f3 ec  |....{.w.....o...|+00000280-  b4 4a 34 e7 84 7e a1 9c  9b 3e 39 7d 4a ed ba 4d  |.J4..~...>9}J..M|+00000290-  69 52 a8 9b f0 e8 46 e0  e5 4a a5 09 c6 8e eb 98  |iR....F..J.I....|+000002a0-  fc 6f 7f 1e de a5 14 4b  ee ec 67 5b ed 63 5b f6  |.o~^..TK..g[.c[.|+000002b0-  e4 aa 19 18 d0 ba 86 e6  56 03 63 8e 28 a5 11 65  |..YX....VCc.(.Qe|+000002c0-  6a 86 e7 87 44 5d 97 20  1f 3c 1b 7a 8c 6f 03 3f  |j...D]. _<[z.oC?|+000002d0-  39 5b 29 e7 81 d7 80 95  d6 5c 40 7a aa 60 3a a6  |9[)......\@z.`:.|+000002e0-  6f 19 6a c1 d7 17 d4 92  ef d6 2c 3b e9 eb 56 e3  |oYj..W....,;..V.|+000002f0-  6c 63 cb 67 ce 6e b0 af  fc ec 46 eb 0e 66 27 c7  |lc.g.n....F.Nf'.|+00000300-  f1 ef 85 cf 17 4c 67 6a  12 78 1f f0 92 a1 8f 30  |....WLgjRx_....0|+00000310-  ee 03 be db b4 4e 14 63  9c 4e 7b e1 91 72 ac 9f  |.C...NTc.N{..r..|+00000320-  ce 36 66 a7 72 2d f9 c9  9a 7f 74 aa 25 bf 50 6f  |.6f.r-...~t.%.Po|+00000330-  8c 32 ce 12 a5 97 16 eb  95 37 80 9f 00 5e 75 4e  |.2.R..V..7..@^uN|+00000340-  17 8f b7 f4 d7 67 dd 71  b6 d3 43 24 f5 18 41 fe  |W....g.q..C$.XA.|+00000350-  14 f0 b3 c0 5a dd 1c e3  3c a9 c0 15 df 2d b3 3e  |T...Z.\.<..U.-.>|+00000360-  cb c3 aa 39 3c 02 fc 32  f0 25 2b 1c ab 00 c3 be  |...9<B.2.%+\.@..|+00000370-  f4 43 d0 9c 64 39 b0 a0  c5 7a 9e fd c4 5a 22 7b  |.C..d9...z...Z"{|+00000380-  46 3f 56 02 de 06 7c c8  b4 0b bc 16 ec 88 8a 17  |F?VB.F|..K.V...W|+00000390-  96 d8 e6 20 f0 bc 63 17  79 2d c4 2e 2e 9b 41 14  |... ..cWy-....AT|+000003a0-  2f 62 17 3f 85 f5 ca 68  ac 2f a7 43 bf c2 73 9f  |/bW?...h./.C..s.|+000003b0-  26 92 f7 d4 ac a3 63 c0  e0 44 1e ad fb a3 2c 87  |&.....c..D^...,.|+000003c0-  3f 72 e8 d9 d1 de 7a 11  78 c9 6f 94 39 f6 3d c0  |?r....zQx.o.9.=.|+000003d0-  6b ba 3f 52 00 86 cd cc  63 55 7d 98 79 7e 01 78  |k.?R@...cU}.y~Ax|+000003e0-  80 4e a4 74 32 c9 a5 d3  f8 1a e4 d0 bf 88 37 20  |.N.t2....Z....7 |+Hello.pdf-27-+000003f0-  8b 9a 11 f2 c8 c7 58 0d  7d 9b 0a d0 70 d0 7c f4  |..Q...XM}.J.p.|.|+00000400-  0c 68 15 80 74 5a 00 2a  25 b4 4c f4 58 27 9e a3  |LhU.tZ@*%.L.X'..|+00000410-  52 15 3d 95 66 a2 59 41  84 d8 ca fd a8 6f 50 7e  |RU=.f.YA.....oP~|+00000420-  d7 a7 d4 80 b4 4e eb 90  d6 81 5e a3 5f 22 c9 3c  |.....N....^._".<|+00000430-  fd 4a 73 e8 e7 21 6d 60  6c a6 c3 6e 1e 5e 38 b4  |.Js..!m`l..n^^8.|+00000440-  08 0f d8 13 b6 f9 a0 65  d3 15 db 85 26 9e 47 3b  |HO.S...e.U..&.G;|+00000450-  28 26 c4 2b 62 50 0c 91  2a 5e 15 87 c5 21 31 0c  |(&.+bPL.*^U..!1L|+00000460-  e9 90 38 18 cd 89 bd 4f  fa ce 7e 3e d8 b0 f4 2e  |..8X...O..~>....|+00000470-  d6 4d fa be 0c 0e 42 ac  67 c3 33 07 ac 70 34 01  |.M..LNB.g.3G.p4A|+00000480-  3c f8 07 eb ce 46 9a 09  b6 2e ee 68 ec f3 bc 8f  |<.G..F.I...h....|+00000490-  de 3f ef bf 63 19 b7 3e  f8 b3 8d bd 00 fa 31 27  |.?..cY.>....@.1'|+000004a0-  bf c1 a2 0b 6b 26 25 e6  5e 3f f7 4d 4f c2 43 75  |...Kk&%.^?.MO.Cu|+000004b0-  45 7c f5 d6 9d ee eb e7  e8 78 32 4b 51 de aa 9d  |E|.......x2KQ...|+Hello.pdf-28-+000004c0-  59 92 d7 e4 fb f2 0a be  f7 e4 d5 a4 0d f9 67 79  |Y.....J.....M.gy|+000004d0-  15 ef bd b6 5c 3d ca 0b  ff 93 b9 cd 21 46 3b 92  |U...\=.K....!F;.|+000004e0-  cd 41 ce 3c 9b 51 b4 71  c6 1b c0 21 b8 a9 45 73  |.A.<.Q.q.[.!..Es|+000004f0-  f6 b7 59 4c b2 e9 b6 62  b4 60 c9 42 94 9d ab b8  |..YL...b.`.B....|+00000500-  ff cb 09 f3 c3 3c b7 b1  52 73 2e ee f0 bc b7 3f  |..I..<..Rs.....?|+00000510-  63 36 cd f7 8a 0f 8b 74  be 4f bb ac ad 6b 9f 68  |c6...O.t.O...k.h|+00000520-  3f 6a 7f 68 2b da c7 40  bf 4b 1f 4a 5f 4a df 4a  |?j~h+..@.K_J_J.J|+00000530-  57 a4 ab d2 0d 52 a5 6b  d2 b2 f4 9d f4 bd f4 b9  |W...MR.k........|+00000540-  f4 35 7a 5f 40 ba 2c 5d  e9 d8 49 71 ec 1b bb 07  |.5z_@.,]..Iq.[.G|+00000550-  7e c6 7b d6 68 ed 30 66  86 b3 14 10 f3 c2 da cc  |~.{.h.0f..TP....|+Hello.pdf-29-+00000560-  0a 4b 1f f1 77 06 63 9b  f9 33 a1 d5 5e 03 9d bb  |JK_.wFc..3..^C..|+00000570-  7f 63 2d e5 88 b2 53 79  46 19 56 76 2b cf 29 13  |~c-...SyFYVv+.)S|+00000580-  4a af 72 40 39 ac 6c 57  06 d0 fa 95 51 65 2f 46  |J.r@9.lWF...Qe/F|+00000590-  76 6e b0 64 63 3d ce 80  85 7f 92 67 8b a6 23 ae  |vn.dc=...~.g..#.|+000005a0-  e2 3c b1 57 75 b0 e7 c3  4b 1d ef a6 5f 5c c3 d6  |.<.Wu...K].._\..|+000005b0-  86 35 d8 49 3d 0e 9e d9  da a6 0e af 11 57 bf 15  |.5.I=N....N.QW.U|+000005c0-  55 63 bc 3b 5d 9c 06 3a  4d 21 62 8b ce 22 72 1f  |Uc.;].F:M!b.."r_|+000005d0-  3a 9c 1f 27 aa fe ce d9  5c 93 38 35 52 6f e2 94  |:._'....\.85Ro..|+000005e0-  b0 c4 2e d1 2f c6 5a 35  98 13 07 50 85 e3 6d f5  |..../.Z5.SGP..m.|+000005f0-  38 c8 55 9a 19 c9 0c 67  72 a4 66 7a 33 43 99 fe  |8.U.Y.Lgr.fz3C..|+00000600-  cc 31 c6 51 ac d1 f9 92  d9 8b d1 21 7c 47 12 de  |.1.Q.......!|GR.|+00000610-  33 cb 31 ff 9b 35 c4 67  18 ef 1d e6 a8 09 6c a3  |3.1..5.gX.]..Il.|+00000620-  87 5b 2b 34 e7 71 df 11  e5 5d 6f c1 b7 66 ea a1  |.[+4.q.Q.]o..f..|+00000630-  3a a0 69 2f a9 39 5c af  a6 3a e6 18 d9 3e 55 b7  |:.i/.9\..:.X.>U.|+Hello.pdf-30-+00000640-  6d 35 1a 0a 54 df 0c 4c  bf 69 56 b3 c4 77 37 cf  |m5ZJT.LL.iV..w7.|+00000650-  23 fa eb f5 e8 4e 4e 6d  bb 61 34 fc 66 2c a3 54  |#....NNm.a4.f,.T|+00000660-  ea 26 d1 7f b7 8f 93 34  0a -- -- -- -- -- -- --  |.&.~...4J-------|+Hello.pdf-31-endstream+Hello.pdf-32-endobj+Hello.pdf-33-10 0 obj+Hello.pdf-34-1116+Hello.pdf-35-endobj+Hello.pdf-36-7 0 obj+Hello.pdf-37-[ /ICCBased 9 0 R ]+Hello.pdf-38-endobj+Hello.pdf-39-3 0 obj+Hello.pdf-40-<< /Type /Pages /MediaBox [0 0 612 792] /Count 1 /Kids [ 2 0 R ] >>+Hello.pdf-41-endobj+Hello.pdf-42-11 0 obj+Hello.pdf-43-<< /Type /Catalog /Pages 3 0 R >>+Hello.pdf-44-endobj+Hello.pdf-45-8 0 obj+Hello.pdf-46-<< /Type /Font /Subtype /TrueType /BaseFont /GQTMZF+Menlo-Regular /FontDescriptor+Hello.pdf-47-12 0 R /Encoding /MacRomanEncoding /FirstChar 72 /LastChar 111 /Widths [ 602+Hello.pdf-48-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 602 0 0 0 0 0 0 602+Hello.pdf-49-0 0 602 ] >>+Hello.pdf-50-endobj+Hello.pdf-51-12 0 obj+Hello.pdf-52-<< /Type /FontDescriptor /FontName /GQTMZF+Menlo-Regular /Flags 33 /FontBBox+Hello.pdf-53-[-558 -375 718 1041] /ItalicAngle 0 /Ascent 928 /Descent -236 /CapHeight 729+Hello.pdf-54-/StemV 99 /XHeight 547 /StemH 83 /AvgWidth 602 /MaxWidth 602 /FontFile2 13 0 R+Hello.pdf-55->>+Hello.pdf-56-endobj+Hello.pdf-57-13 0 obj+Hello.pdf-58-<< /Length 14 0 R /Length1 4064 /Filter /FlateDecode >>+Hello.pdf-59-stream+Hello.pdf-60-+00000980-  -- -- 78 01 dd 57 7b 78  54 c5 15 3f 73 7f 77 36  |--xA.W{xT.U?s~w6|+00000990-  af cd 3e 92 4d 48 48 80  5d d6 e5 95 2c 81 84 b7  |..>.MHH.]...,...|+000009a0-  52 16 48 78 88 20 2f eb  2e 88 f2 48 20 28 21 08  |RVHx. /....H (!H|+000009b0-  41 b4 31 90 4a 51 09 c1  40 85 08 48 7d 15 51 a9  |A.1.JQI.@.HH}UQ.|+Hello.pdf-61-+000009c0-  b5 2b 45 5d 09 c4 54 a4  62 23 45 84 a0 02 0a f8  |.+E]I.T.b#E..BJ.|+000009d0-  a2 68 8a 14 21 d8 00 43  cf bd 1b fd 3e ed d7 ef  |.h.T!.@C..[.>...|+000009e0-  eb bf ed dc 9d 33 e7 fc  e6 cc 79 dd bb f7 ce 94  |.....3....y.....|+000009f0-  2d 5c 5c 44 56 aa 24 50  60 56 c9 8c 05 64 36 eb  |-\\DV.$P`V..Ed6.|+00000a00-  49 1e 8a 67 dd 53 e6 36  45 8a bd 97 48 cb 9d bd  |I^.g.S.6E...H...|+00000a10-  60 4e 49 54 8e 7f 91 e5  4e 73 e6 dd 37 3b 2a 27  |`NIT.~..Ns..7;*'|+00000a20-  4e 66 79 40 71 d1 8c c2  a8 4c 57 78 ec 57 cc 40  |Nfy@q....LWx.W.@|+00000a30-  54 16 7d 78 bc ae b8 a4  8c ed 18 cd fa 2e 13 d7  |TV}x......X...S.|+00000a40-  bc d2 59 6d f3 89 a3 0c  b0 64 c6 bd 6d fe e9 38  |..Ym...L.d..m..8|+00000a50-  cb ee f9 33 4a 8a 78 e4  66 8f 30 e9 b6 a0 74 51  |...3J.x.f.0...tQ|+00000a60-  99 29 92 bd 9a c7 ec 05  0b 8b da f4 45 90 28 a6  |.).....EK...E.(.|+00000a70-  53 74 ae 8d 1a 96 05 77  a9 59 29 8b ee 22 0b 69  |St..Z.Ew.Y).."Ki|+00000a80-  e4 a0 8d 94 c4 d0 ad ac  2b 79 d6 98 d7 62 b2 96  |........+y...b..|+00000a90-  3e 7d f6 8d 3b ec 37 5c  a4 4e b1 e6 e2 bd 65 e9  |>}..;.7\.N....e.|+00000aa0-  79 06 73 28 b8 a4 df e5  95 57 85 ac 8f bd 85 c5  |yFs(.....W......|+00000ab0-  e8 a4 31 c1 eb 62 4a 54  07 22 fd e0 e5 95 d7 92  |..1..bJTG"......|+00000ac0-  65 bd 69 c9 98 f9 be c9  08 c5 66 bd ae 55 8a 94  |e.i.....H.f..U..|+00000ad0-  ed eb a6 c9 a1 99 22 85  6a 09 4c 2b 49 17 2e 52  |......".jIL+IW.R|+00000ae0-  cc 27 9b 34 89 03 82 70  9a bc c3 a4 76 da c4 88  |.'.4.C.p....v...|+00000af0-  cd e4 13 b7 7f 3d 52 0e  f5 89 44 aa 60 cc 4a 3e  |..S.~=RN..D.`.J>|+00000b00-  a6 09 94 cb 34 de b4 17  67 6a c5 92 8d 91 18 93  |.I..4..Wgj....X.|+00000b10-  b7 98 3a d2 e4 75 13 87  89 68 26 22 02 21 05 a5  |..:..uS..h&"B!E.|+00000b20-  70 b5 02 57 14 2e 2b b4  e6 e2 9f 75 f8 ae 02 97  |p.BWT.+....u..B.|+00000b30-  5a aa e5 25 85 4b 0d 7a  cb c5 90 6c a9 46 4b a5  |Z..%.KMz...l.FK.|+00000b40-  7e f1 42 17 79 31 84 8b  01 fd 42 17 7c 7b 3e 47  |~.BWy1..A.BW|{>G|+00000b50-  7e db 8a f3 39 f8 87 c2  39 85 6f 72 71 d6 85 bf  |~...9...9.orq...|+00000b60-  d7 a2 99 43 6c 56 68 8e  5c 3b 18 b8 a6 7f 3d 12  |...ClVh.\;X..~=R|+00000b70-  5f 9d 29 94 5f d5 e2 4c  21 fe a6 70 fa cb 0c 79  |_.)._..L!..p..Ly|+00000b80-  5a e1 cb 0c 7c a1 f0 f9  5d f8 4c e1 d3 3a 9c 3a  |Z..L|...].L..:.:|+00000b90-  99 2e 4f b5 e2 64 3a 4e  d4 e2 13 85 8f 15 8e 1f  |..O..d:N..S..U._|+00000ba0-  4b 91 c7 15 8e a5 e0 68  2d 3e fa 30 45 7e a4 f0  |K..U...h->.0E~..|+Hello.pdf-62-+00000bb0-  e1 ea 04 f9 61 0a 3e a8  c0 91 41 68 62 a1 69 10  |..D.aJ>...Ahb.iP|+00000bc0-  0e 2b 1c 7a 3f 5e 1e 52  78 3f 1e 07 15 de 53 38  |N+\z?^^Rx?^GU.S8|+00000bd0-  50 e5 94 07 32 f1 d7 54  ec 57 78 b7 16 8d ab 7c  |P..G2..T.Wx.V..||+Hello.pdf-63-+Hello.pdf-64-+00000be0-  b2 51 e1 2f 0a ef 54 60  9f c2 db 0a 7f 56 d8 bb  |.Q./J.T`...J~V..|+00000bf0-  29 51 be a5 b0 47 e1 4d  85 3f 29 34 b0 bd 06 17  |)Q...G.M.?)4..FW|+00000c00-  de b0 a2 7e 77 9d ac 57  d8 bd 6b 9a dc 5d 87 dd  |...~w..W..k..]..|+00000c10-  95 fa ae 3a 9f dc 35 0d  bb 02 7a 9d 0f 3b 15 5e  |...:..5M.Bz.O;U^|+00000c20-  af 45 a4 66 a8 7c 4d e1  55 1e 5e 6d c5 2b 6c 6b  |.E.f.|M.U^^m.+lk|+00000c30-  87 c2 1f 0b b1 bd 10 2f  db 10 4e c2 1f 14 5e 52  |.._K..P/.PN._T^R|+Hello.pdf-65-+00000c40-  81 ab f8 bd c2 8b 0a bf  4b c2 36 85 17 9e b7 c9  |......J.K.6.W...|+00000c50-  17 72 f1 bc 0d cf 6d 75  ca e7 ba 61 ab 13 cf 6e  |Wr..M.mu...a.S.n|+00000c60-  f1 cb 67 2b b0 c5 8f df  2a 3c a3 f0 b4 c2 53 4f  |..g+....*<....SO|+Hello.pdf-66-+00000c70-  a6 cb a7 0a f1 e4 13 0e  f9 64 3a 9e 70 e0 37 f1  |...J..SN.d:.p.7.|+00000c80-  d8 ac f0 38 3b 79 5c 61  53 22 36 6e e8 29 37 2a  |...8;y\aS"6n.)7*|+00000c90-  6c e8 89 c7 d8 ff 63 b5  a8 5d 5f 27 6b 15 d6 f3  |l.....c..]_'kU..|+00000ca0-  b3 b5 be 0e eb 2b f5 75  6b 7c 72 dd 34 ac 0b e8  |...N.+.uk|r.4.K.|+00000cb0-  8f 2a fc 5a 61 2d cb 6b  eb b0 c6 87 1a 2e 46 cd  |.*.Za-.k....Z.F.|+00000cc0-  50 3c c2 d9 3e e2 c2 ea  04 54 33 50 5d 88 55 5c  |P<..>...DT3P].U\|+00000cd0-  b4 55 3e 54 39 b1 52 e1  61 85 87 14 1e 5c e1 94  |.U>T9.R.a..T^\..|+Hello.pdf-67-+00000ce0-  0f 2a ac 70 e2 57 0a cb  15 1e 70 0e 93 0f 4c c2  |O*.p.WJ.U^pN.OL.|+Hello.pdf-68-+00000cf0-  2f 15 2a ef c5 b2 a5 15  72 99 c2 d2 0a 54 74 c4  |/U*....Ur...JTt.|+Hello.pdf-69-+Hello.pdf-70-+00000d00-  fd 0a e5 36 fc 42 61 89  c2 3d 0a 8b cb ac 72 b1  |.J.6.Ba..=J...r.|+00000d10-  1d 8b 23 82 02 47 f5 32  2b ca 1a f4 45 49 58 14  |].#.BG.2+.Z.EIXT|+00000d20-  d0 17 2a dc ad b0 40 a1  74 fe 24 59 5a 8b f9 25  |.W*...@.t.$YZ..%|+Hello.pdf-71-+00000d30-  dd e4 fc 49 28 e9 86 79  0a 77 e5 e2 4e 85 b9 b9  |...I(..yJw..N...|+00000d40-  28 6e c5 9c 3a cc 56 28  52 28 54 98 35 b3 a3 9c  |(n..:.V(R(T.5...|+00000d50-  a5 30 93 1c 72 66 47 cc  50 98 ae 70 87 c2 ed 53  |.0.\rfG.P..p...S|+00000d60-  12 e4 ed 36 4c 2b c4 6d  fb 30 95 85 a9 2e 4c 49  |R..6L+.m.0....LI|+00000d70-  00 3f d1 41 17 6e 55 f8  b9 c2 2d 19 e9 f2 96 5c  |@?.AWnU...-Y...\|+00000d80-  4c 56 98 a4 30 51 61 42  05 c6 2b dc ec c2 38 85  |LV..0QaBE.+...8.|+00000d90-  b1 c2 2f c7 2a dc 54 87  31 dd 70 e3 e8 34 79 63  |../.*.T.1.p..4yc|+00000da0-  7f 8c 1e 9e 24 47 a7 61  54 41 9a 1c a5 30 92 a5  |~.^.$G.aTA.\.0..|+00000db0-  91 85 18 c1 d2 88 3a 14  a4 21 9f 81 fc fe 18 3e  |..X...:T.!....X>|+00000dc0-  cc 29 87 27 61 78 44 0b  04 e2 f4 61 43 ed 72 98  |.).'axDKD..aC.r.|+00000dd0-  13 c3 22 1a b1 34 34 60  93 43 ed 18 1a 11 0d 2c  |S."Z.44`.C.XZQM,|+00000de0-  05 86 58 65 c0 86 40 44  54 b2 34 c4 1a 27 87 58  |E.Xe..@DT.4.Z'.X|+Hello.pdf-72-+00000df0-  31 24 22 02 81 42 fd 67  0a 83 39 84 c1 ad b8 41  |1$"B.B.gJ.9....A|+00000e00-  e1 fa 6e 18 a4 30 90 0b  3c b0 10 03 7a b7 97 03  |..nX.0.K<.PCz..C|+00000e10-  c6 a0 bf 42 3f bf 4b f6  53 e8 3b 06 7d 7a b5 97  |...B?.K.S.;F}z..|+00000e20-  7d c6 20 8f 87 3c 85 5c  56 cc 55 e8 cd d3 bd db  |}. ..<.\V.U.....|+00000e30-  a3 57 7b e4 30 97 93 86  9e 71 a9 b2 67 1d fc d9  |.W{.0....q..g]..|+00000e40-  c9 d2 ef 82 3f a2 19 6e  b3 1d 4e 99 9d 8c 6c 23  |....?.Yn.]N...l#|+00000e50-  dc 5a 3d ab 87 4f 66 29  f4 60 cd 1e 3e 74 d7 06  |.Z=..Of).`.^>t.F|+Hello.pdf-73-+Hello.pdf-74-+00000e60-  c9 ee 0a dd 14 ba 2a 74  b1 c3 97 3a 4c fa 0a 70  |..J.T.*t...:L.Jp|+00000e70-  9d 1d 5e 85 ce 76 bb ec  ac e0 71 fb a5 a7 02 6e  |.]^..v....q...Bn|+00000e80-  3f 3a 8d 41 47 f6 dc 51  a1 83 42 26 d7 36 53 21  |?:.AG..Q..B&.6S!|+00000e90-  83 ef 4a 46 3a da 2b a4  2b a4 29 b4 63 0b ed 46  |..JF:.+.+.).cK.F|+00000ea0-  20 35 c5 2f 53 87 21 c5  e5 90 29 7e b8 1c 48 66  | 5./S.!...)~.\Hf|+00000eb0-  bd 64 17 92 78 7d 92 82  93 33 77 0e 83 83 3d 38  |.dW.x}...3wN..=8|+00000ec0-  9c 70 44 6b 67 b7 59 a5  dd 0e 7b b4 76 b6 c4 78  |.pDkg.Y..N{.v..x|+00000ed0-  69 b3 c2 16 ad 5d 22 d7  2e 31 1e 89 5c bb 1d ba  |i..V.]"..1^.\.].|+Hello.pdf-75-+00000ee0-  35 0e 56 e3 d9 ea af 27  28 c4 73 26 f1 0a 71 a9  |5NV....'(.s&.Jq.|+Hello.pdf-76-+00000ef0-  88 75 20 46 c1 c2 a6 2d  0a d2 05 70 72 68 85 c6  |.u F...-J.Eprh..|+Hello.pdf-77-+00000f00-  80 36 08 82 03 10 7e 90  03 22 22 0a 57 ac 16 59  |.6H.CP~.C""JW.VY|+00000f10-  ff 3f 8d fe c7 53 e1 4f  67 84 1a cd be 4d ac e5  |.?...S.Og.Z..M..|+00000f20-  d1 d8 47 44 e8 21 6d 19  7f a5 bf bf 22 b4 87 75  |..GD.!mY~..."..u|+00000f30-  34 53 2f 22 1a c5 4a b1  93 f9 ad bc b7 68 a4 e5  |4S/"Z.J......h..|+00000f40-  74 5e c4 e3 6d d1 9f b9  7a 5e 1b d4 3d 8c d6 d0  |t^..m...z^[.=...|+00000f50-  66 73 75 0d 4e d3 62 ec  a2 43 f4 0e 1d 63 ee b4  |fsuMN.b..C.N]c..|+00000f60-  18 08 5e 2b 0e 91 47 9c  60 3f 2b 7f f0 a1 a1 9e  |XH^+N.G.`?+~....|+00000f70-  a5 3d 4c cb 51 8f a0 e8  24 4a 68 8b 78 89 2d 96  |.=L.Q...$Jh.x.-.|+00000f80-  53 44 94 d2 32 8d 47 6d  22 5b de af 1f 64 74 3f  |SD..2.Gm"[.._dt?|+00000f90-  3d c4 d7 a3 b4 85 4a 99  37 32 58 ce f1 7f 4c 3b  |=.....J.72X..~L;|+00000fa0-  68 15 5d a0 0d da 19 9a  c2 fc 4e da cb f1 28 fe  |hU].M.Y...N...(.|+00000fb0-  fc 9a b9 88 26 6a 61 4b  db b4 c1 da 6c d6 db cb  |....&jaK....l...|+00000fc0-  d6 36 d1 26 b1 9c 9a 68  91 4e fc 29 57 74 4a 36  |.6.&...h.N.)WtJ6|+00000fd0-  69 59 6c 75 07 67 40 34  93 36 cb 26 b9 c1 a8 07  |iYluGg@4.6.&...G|+00000fe0-  8f 4d f2 1c cf 10 75 b0  44 2c ae 18 2f 67 61 d4  |.M.\.Pu.D,.X/ga.|+00000ff0-  6e ab d8 25 7a 6b e3 e8  10 af 2f a7 c9 b8 0d 77  |n..%zk..P./...Mw|+00001000-  e3 98 58 a1 7b f5 25 38  43 35 1a 61 3a dd 49 07  |..X.{.%8C5Za:.IG|+00001010-  64 93 c5 45 35 31 5e aa  b1 cc 16 f7 e9 d3 cd ab  |d..E51^...V.....|+00001020-  9c ad 95 6b 4b f4 e9 62  1b 9d 61 9b 33 f1 1d cb  |...kK..b[.a.3.].|+00001030-  1e 8e 6c b3 99 31 d1 0e  6d a2 1c 27 c7 71 ce b3  |^.l..1.Nm.\'.q..|+00001040-  19 db 6c d2 9a 28 b5 38  68 3f 5a b9 ee 6b 35 25  |Y.l..(.8h?Z..k5%|+00001050-  46 e9 23 30 84 f3 29 d7  6f a2 0d f4 0c db ed ca  |F.#0..).o.M.L...|+00001060-  95 21 2a 45 5f f6 5e 4a  e5 72 75 f4 a2 6d 7c f9  |.!*E_.^J.ru..m|.|+00001070-  e5 6a d4 72 45 cd 6a 88  3c 6d 30 6d d6 66 8b 55  |.j.rE.j.<m0m.f.U|+00001080-  1c 6d 0b 57 b3 14 f9 d4  9f 7d 74 90 67 69 85 d8  |\mKW.T...}t.gi..|+00001090-  c1 71 53 4c 05 2d 92 4d  bc 55 24 ea 41 f4 5a 8c  |.qSLE-.M.U$.A.Z.|+000010a0-  45 ea fc f7 a6 6c b7 23  ac f9 46 17 86 03 13 82  |E....l.#..FW.CS.|+000010b0-  ee 7d 21 8f 3f fb 27 a2  db 11 e3 0e d3 f8 70 e2  |.}!.?.'..Q.N..p.|+000010c0-  7d ee c8 b5 6b e3 83 7a  86 0c 85 65 66 18 be d8  |}...k..z.L.efX..|+000010d0-  b0 ee f3 9e fa 4f 93 a7  fc d9 63 c6 07 dd 11 d1  |.....O....c.G.Q.|+000010e0-  ae 20 bf cd 6c c1 f4 7c  06 27 05 d9 03 ff 0c 98  |. ..l..|F'E.C.L.|+000010f0-  dd 15 30 16 05 46 87 a5  8f 7f a3 a7 87 dd b3 8a  |.U0VEF...~......|+00001100-  dd 55 8e 2a ef a0 2a 47  d1 20 3f ef ff b2 c7 30  |.U.*..*G. ?....0|+00001110-  19 1f 7c 59 88 47 42 11  71 6d 45 84 f2 3b bc ce  |Y_|Y.GBQqmE..;..|+00001120-  bb 48 dc 71 3b 4f c7 65  bb dd 05 73 f3 c3 62 3a  |.H.q;O.e..Es..b:|+00001130-  0b f1 d9 0c f4 f0 30 97  90 ed 1e c1 61 8e 98 18  |K..L..0...^.a..X|+00001140-  f4 86 dc 55 ee aa d1 85  55 ee 11 ee e2 19 85 1c  |...U....U.Q..Y.\|+00001150-  b7 39 f2 44 51 55 28 87  33 98 14 9c cb 74 72 d0  |.9.DQU(.3.T..tr.|+00001160-  13 0e 84 32 7e 60 8b 42  21 c3 bb d5 b0 c3 4b 58  |SN.2~`.B!.....KX|+00001170-  bd 2a c4 16 ee 6c b3 c0  a3 09 e5 5c 65 a5 c4 ec  |.*.V.l...I.\e...|+00001180-  31 ee 30 ba 8c 0f 4e 08  86 2b f3 33 c2 81 fc 50  |1.0..ONH.+.3...P|+00001190-  86 c7 e3 2e 08 37 8c 0f  86 1b f2 33 3c a1 10 6b  |....H7.O.[.3<.Pk|+000011a0-  d9 7e 88 94 23 ae 98 9b  d6 16 b3 9d 63 b6 f5 e0  |.~..#....V..c...|+Hello.pdf-78-+000011b0-  79 47 d4 0a 97 28 90 11  a6 50 55 95 61 73 52 d0  |yG.J.(.Q.PU.asR.|+000011c0-  eb 09 57 56 55 65 54 71  1e 6d 72 84 1a 7e 02 08  |.IWVUeTq^mr.Z~BH|+000011d0-  fa 29 10 68 03 22 64 d8  e0 4a 14 f0 f7 60 3c 1b  |.)PhC"d..JT..`<[|+000011e0-  e3 c1 eb c9 30 00 af c7  eb e1 38 43 f9 ec db 69  |....0@....8C...i|+000011f0-  dc 9a 02 8e d4 13 f2 f3  6e 9c 8a b9 af e4 5e ce  |..B..S..n.....^.|+00001200-  fd 9c c1 f3 b3 18 dd e7  f3 f9 82 cf 00 53 58 1e  |.....X......@SX^|+00001210-  45 dd fe 6d bf ce f0 7f  d9 b4 1f e9 c1 94 74 93  |E..m...~.._...t.|+00001220-  76 e1 67 77 3b 9d 14 99  fc af 2f 56 b5 7a b1 dc  |v.gw;.T.../V.z..|+00001230-  c2 a7 aa 18 ea b4 cb dc  f3 13 59 84 eb 55 11 2b  |...X.....SY..UQ+|+00001240-  97 6b 3a e5 bc 75 b8 b9  37 39 0e 37 1f 6e ee 95  |.k:..u..79N7_n..|+00001250-  ec f4 38 7d 1e a7 a7 58  a7 2b 8b 90 71 e5 0b 55  |..8}^..X.+..q.KU|+00001260-  1b 63 fb ee fc 42 4b 77  c3 ac 30 72 d0 47 f1 bf  |[c...BKw..0r.G..|+00001270-  20 81 6e 36 4e 15 7c 6f  73 f8 d6 71 b7 3a f8 58  | .n6NU|os..q.:.X|+00001280-  f4 1e 77 e6 c5 71 c6 58  96 3c ea dc 63 18 17 2c  |.^w..q.X.<..cXW,|+00001290-  c7 bd c7 6f 0b 43 41 e7  6e e1 1e 9f b3 93 a3 8a  |...oKCA.n.^.....|+000012a0-  a5 84 ac 5e bd 93 f3 d8  75 9e d3 cb d4 bb b2 51  |...^....u......Q|+000012b0-  eb de d8 78 f5 83 46 d9  74 f5 2d ed 86 d6 2c ed  |...x..F.t.-...,.|+000012c0-  9b ab 4e f6 af 51 f9 b5  cf f8 ad 51 4e 29 94 49  |..N..Q.....QN).I|+000012d0-  79 46 04 3b 19 74 b0 81  08 69 ec 21 93 3d 65 e6  |yFD;Yt..Hi.!.=e.|+000012e0-  f0 3b cf 42 89 0c ee a4  64 4a 37 47 a3 0e 86 17  |.;.B.L..dJ7G.N.W|+000012f0-  91 e2 49 b1 a4 e6 e5 f6  eb 9f 62 13 5e 37 39 1d  |..I.......bS^79]|+00001300-  94 97 9b 14 d3 53 78 3b  5b 62 f4 e9 57 3e 8b 7d  |...T.Sx;[b..W>.}|+00001310-  e3 a5 60 43 c9 dc 3d 53  d5 65 75 54 b8 cf 1d b9  |..`C..=S.euT..].|+00001320-  14 b6 ae 7d 78 c5 8b b1  5a f5 14 cb 17 fb 06 0c  |T..}x...Z.T.W.FL|+00001330-  7c 2d 2b 4b 0c 14 c9 c2  2a 02 ea 93 c7 ca 5e 08  ||-+KLT..*B....^H|+00001340-  cf 37 ea 72 8e eb 32 c5  d2 9e bd 76 8d 46 95 c8  |.7.r..2....v.F..|+00001350-  b7 d8 88 ca a8 43 dc 71  8e 48 e7 53 9e 11 51 22  |.....C.q.H.S.QQ"|+00001360-  c5 47 23 71 a5 5e 2f 52  bc 9d bb f4 75 7a fa 7a  |.G#q.^/R....uz.z|+00001370-  b4 03 53 43 1f 9c 79 f6  15 f5 91 38 21 d6 df bf  |.CSC_.y.U..8!...|+00001380-  f4 f1 43 6f e2 e2 1a a3  e6 1a ad e4 9c 47 71 ce  |..Co..Z..Z...Gq.|+00001390-  09 d4 8e bc 81 64 4b 75  12 55 5b eb 93 36 a6 c5  |I....dKuRU[..6..|+000013a0-  25 d9 f3 91 94 f2 b3 34  c7 85 e6 2b c6 2d fc fc  |%......4...+.-..|+000013b0-  42 b3 e3 6c 2f d1 d9 92  e2 32 72 ec db a7 4b d7  |B..l/....2r...K.|+000013c0-  dc 24 a7 43 f3 76 d6 9c  8e 24 ad b8 7a cd 9a ea  |.$.C.v...$..z...|+000013d0-  d5 6b d6 ac 3e 73 a9 e5  ab 33 2d 2d 38 71 f4 48  |.k..>s...3--8q.H|+000013e0-  d3 b1 63 4d 47 8e 6e 56  ef ab 4f d5 29 75 48 f8  |..cMG.nV..O.)uH.|+000013f0-  f9 b3 d3 51 f4 34 fc 9a  ed da 52 f3 39 35 4e a7  |...Q.4....R.95N.|+00001400-  3f 6e 92 c5 2c 7e 7e 6f  a6 89 cc 09 3e 3a 46 75  |?n..,~~o...I>:Fu|+00001410-  2c c6 0b 72 e4 84 c9 63  a7 8c c8 1a 5b 34 7f 5e  |,.Kr...c...Z[4~^|+00001420-  a9 7f 62 d1 9c c5 f3 66  2c 24 fa 17 20 2d 06 e4  |.~b....f,$.W -F.|+00001430-  0a -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |J---------------|+Hello.pdf-79-endstream+Hello.pdf-80-endobj+Hello.pdf-81-14 0 obj+Hello.pdf-82-2734+Hello.pdf-83-endobj+Hello.pdf-84-15 0 obj+Hello.pdf-85-(Hello)+Hello.pdf-86-endobj+Hello.pdf-87-16 0 obj+Hello.pdf-88-(Mac OS X 10.12.6 Quartz PDFContext)+Hello.pdf-89-endobj+Hello.pdf-90-17 0 obj+Hello.pdf-91-(TextEdit)+Hello.pdf-92-endobj+Hello.pdf-93-18 0 obj+Hello.pdf-94-(D:20200124010711Z00'00')+Hello.pdf-95-endobj+Hello.pdf-96-19 0 obj+Hello.pdf-97-()+Hello.pdf-98-endobj+Hello.pdf-99-20 0 obj+Hello.pdf-100-[ ]+Hello.pdf-101-endobj+Hello.pdf-102-1 0 obj+Hello.pdf-103-<< /Title 15 0 R /Producer 16 0 R /Creator 17 0 R /CreationDate 18 0 R /ModDate+Hello.pdf-104-18 0 R /Keywords 19 0 R /AAPL:Keywords 20 0 R >>+Hello.pdf-105-endobj+Hello.pdf-106-xref+Hello.pdf-107-0 21+Hello.pdf-108-0000000000 65535 f +Hello.pdf-109-0000005392 00000 n +Hello.pdf-110-0000000238 00000 n +Hello.pdf-111-0000001714 00000 n +Hello.pdf-112-0000000022 00000 n +Hello.pdf-113-0000000219 00000 n +Hello.pdf-114-0000000342 00000 n +Hello.pdf-115-0000001679 00000 n +Hello.pdf-116-0000001847 00000 n +Hello.pdf-117-0000000439 00000 n +Hello.pdf-118-0000001658 00000 n +Hello.pdf-119-0000001797 00000 n +Hello.pdf-120-0000002110 00000 n +Hello.pdf-121-0000002362 00000 n +Hello.pdf-122-0000005186 00000 n +Hello.pdf-123-0000005207 00000 n +Hello.pdf-124-0000005231 00000 n +Hello.pdf-125-0000005284 00000 n +Hello.pdf-126-0000005311 00000 n +Hello.pdf-127-0000005353 00000 n +Hello.pdf-128-0000005372 00000 n +Hello.pdf-129-trailer+Hello.pdf-130-<< /Size 21 /Root 11 0 R /Info 1 0 R /ID [ <8db88d3335070bd9583341583cf769a3>+Hello.pdf-131-<8db88d3335070bd9583341583cf769a3> ] >>+Hello.pdf-132-startxref+Hello.pdf-133-5536+Hello.pdf-134-%%EOF+Hello.sh-1-#!/bin/sh+Hello.sh-2-echo "Hello World!"+Hello.txt-1-Hello\ No newline at end of file

tests/out/Hello_-W-ny.out

new file mode 100644@@ -0,0 +1,433 @@+Hello.bat:1:#!/bin/sh+Hello.bat:2:echo "Hello World!"+Hello.class:1:+Hello.class:2:+00000000:  ca fe ba be 00 00 00 34  00 1d 0a 00 06 00 0f 09  |....@@@4@]J@F@OI|+Hello.class:3:+00000010:  00 10 00 11 08 00 12 0a  00 13 00 14 07 00 15 07  |@P@QH@RJ@S@TG@UG|+00000020:  00 16 01 00 06 3c 69 6e  69 74 3e 01 00 03 28 29  |@VA@F<init>A@C()|+00000030:  56 01 00 04 43 6f 64 65  01 00 0f 4c 69 6e 65 4e  |VA@DCodeA@OLineN|+00000040:  75 6d 62 65 72 54 61 62  6c 65 01 00 04 6d 61 69  |umberTableA@Dmai|+00000050:  6e 01 00 16 28 5b 4c 6a  61 76 61 2f 6c 61 6e 67  |nA@V([Ljava/lang|+Hello.class:4:+00000060:  2f 53 74 72 69 6e 67 3b  29 56 01 00 0a 53 6f 75  |/String;)VA@JSou|+Hello.class:5:+00000070:  72 63 65 46 69 6c 65 01  00 0a 48 65 6c 6c 6f 2e  |rceFileA@JHello.|+00000080:  6a 61 76 61 0c 00 07 00  08 07 00 17 0c 00 18 00  |javaL@G@HG@WL@X@|+00000090:  19 01 00 0c 48 65 6c 6c  6f 20 57 6f 72 6c 64 21  |YA@LHello World!|+000000a0:  07 00 1a 0c 00 1b 00 1c  01 00 05 48 65 6c 6c 6f  |G@ZL@[@\A@EHello|+000000b0:  01 00 10 6a 61 76 61 2f  6c 61 6e 67 2f 4f 62 6a  |A@Pjava/lang/Obj|+000000c0:  65 63 74 01 00 10 6a 61  76 61 2f 6c 61 6e 67 2f  |ectA@Pjava/lang/|+000000d0:  53 79 73 74 65 6d 01 00  03 6f 75 74 01 00 15 4c  |SystemA@CoutA@UL|+000000e0:  6a 61 76 61 2f 69 6f 2f  50 72 69 6e 74 53 74 72  |java/io/PrintStr|+000000f0:  65 61 6d 3b 01 00 13 6a  61 76 61 2f 69 6f 2f 50  |eam;A@Sjava/io/P|+00000100:  72 69 6e 74 53 74 72 65  61 6d 01 00 07 70 72 69  |rintStreamA@Gpri|+00000110:  6e 74 6c 6e 01 00 15 28  4c 6a 61 76 61 2f 6c 61  |ntlnA@U(Ljava/la|+00000120:  6e 67 2f 53 74 72 69 6e  67 3b 29 56 00 21 00 05  |ng/String;)V@!@E|+00000130:  00 06 00 00 00 00 00 02  00 01 00 07 00 08 00 01  |@F@@@@@B@A@G@H@A|+00000140:  00 09 00 00 00 1d 00 01  00 01 00 00 00 05 2a b7  |@I@@@]@A@A@@@E*.|+Hello.class:6:+00000150:  00 01 b1 00 00 00 01 00  0a 00 00 00 06 00 01 00  |@A.@@@A@J@@@F@A@|+00000160:  00 00 02 00 09 00 0b 00  0c 00 01 00 09 00 00 00  |@@B@I@K@L@A@I@@@|+00000170:  25 00 02 00 01 00 00 00  09 b2 00 02 12 03 b6 00  |%@B@A@@@I.@BRC.@|+Hello.class:7:+Hello.class:8:+00000180:  04 b1 00 00 00 01 00 0a  00 00 00 0a 00 02 00 00  |D.@@@A@J@@@J@B@@|+00000190:  00 04 00 08 00 05 00 01  00 0d 00 00 00 02 00 0e  |@D@H@E@A@M@@@B@N|+Hello.java:1:import java.lang.*;+Hello.java:2:public class Hello // prints a Hello World! greeting+Hello.java:3:{ public static void main(String[] arg)+Hello.java:4:  { System.out.println("Hello World!");+Hello.java:5:  }+Hello.java:6:}+Hello.pdf:1:%PDF-1.3+Hello.pdf:2:+00000000:  -- -- -- -- -- -- -- --  -- 25 c4 e5 f2 e5 eb a7  |---------%......|+00000010:  f3 a0 d0 c4 c6 0a -- --  -- -- -- -- -- -- -- --  |.....J----------|+Hello.pdf:3:4 0 obj+Hello.pdf:4:<< /Length 5 0 R /Filter /FlateDecode >>+Hello.pdf:5:stream+Hello.pdf:6:+00000040:  -- -- -- -- -- -- -- --  -- -- -- -- -- -- 78 01  |--------------xA|+Hello.pdf:7:+00000050:  45 8e bb 0a 02 31 14 44  7b bf e2 94 5a 98 bd 89  |E..JB1TD{...Z...|+00000060:  79 98 56 11 6c 17 2e f8  01 61 2d 64 d7 65 cd ff  |y.VQlW..Aa-d.e..|+00000070:  83 17 2c ac 86 99 39 0c  b3 31 b2 51 02 b9 46 97  |.W,...9L.1.QB.F.|+Hello.pdf:8:+00000080:  e2 a9 12 f3 99 90 5c 4c  59 0a 9f 89 07 6f 86 6b  |..R...\LYJ..Go.k|+00000090:  f7 b4 8e d0 9b e1 e2 6a  a9 52 6a b2 40 38 fe ad  |.......j.Rj.@8..|+000000a0:  ed 94 20 bb b6 70 51 a3  44 c4 a3 0d ef 7f a0 69  |.. ..pQ.D..M.~.i|+000000b0:  c2 0b ba 30 a8 7a ac 7c  b2 bf 4f f3 bc 1e d0 17  |.K.0.z.|..O..^.W|+000000c0:  37 b5 37 e3 17 4e ff 20  a5 0a -- -- -- -- -- --  |7.7.WN. .J------|+Hello.pdf:9:endstream+Hello.pdf:10:endobj+Hello.pdf:11:5 0 obj+Hello.pdf:12:123+Hello.pdf:13:endobj+Hello.pdf:14:2 0 obj+Hello.pdf:15:<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [0 0 612 792]+Hello.pdf:16:>>+Hello.pdf:17:endobj+Hello.pdf:18:6 0 obj+Hello.pdf:19:<< /ProcSet [ /PDF /Text ] /ColorSpace << /Cs1 7 0 R >> /Font << /TT1 8 0 R+Hello.pdf:20:>> >>+Hello.pdf:21:endobj+Hello.pdf:22:9 0 obj+Hello.pdf:23:<< /Length 10 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>+Hello.pdf:24:stream+Hello.pdf:25:+00000200:  -- -- -- -- -- -- -- --  -- -- -- -- 78 01 85 55  |------------xA.U|+00000210:  5d 68 1c 55 14 3e bb 73  67 03 12 07 1f b4 0d 2d  |]h\UT>.sgCRG_.M-|+00000220:  b4 83 3f 6d 09 e9 32 89  56 13 8b b5 db 4d ba 49  |..?mI.2.VS...M.I|+00000230:  13 b7 eb 66 53 9b 2a ca  74 76 36 3b cd 64 66 9c  |S..fS.*.tv6;.df.|+00000240:  99 dd 26 a1 4f a5 e0 9b  16 04 e9 ab a0 3e c6 82  |..&.O...VD...>..|+Hello.pdf:26:+00000250:  08 b6 2a 36 2f f6 a5 a5  c5 92 4a 35 0f 0a 11 5a  |H.*6/.....J5OJQZ|+00000260:  8c 20 28 7d 52 f0 3b 33  db 64 76 41 32 c3 9d f9  |. (}R.;3.dvA2...|+00000270:  ee b9 e7 9e 7b ce 77 ee  b9 97 a8 eb 6f dd f3 ec  |....{.w.....o...|+00000280:  b4 4a 34 e7 84 7e a1 9c  9b 3e 39 7d 4a ed ba 4d  |.J4..~...>9}J..M|+00000290:  69 52 a8 9b f0 e8 46 e0  e5 4a a5 09 c6 8e eb 98  |iR....F..J.I....|+000002a0:  fc 6f 7f 1e de a5 14 4b  ee ec 67 5b ed 63 5b f6  |.o~^..TK..g[.c[.|+000002b0:  e4 aa 19 18 d0 ba 86 e6  56 03 63 8e 28 a5 11 65  |..YX....VCc.(.Qe|+000002c0:  6a 86 e7 87 44 5d 97 20  1f 3c 1b 7a 8c 6f 03 3f  |j...D]. _<[z.oC?|+000002d0:  39 5b 29 e7 81 d7 80 95  d6 5c 40 7a aa 60 3a a6  |9[)......\@z.`:.|+000002e0:  6f 19 6a c1 d7 17 d4 92  ef d6 2c 3b e9 eb 56 e3  |oYj..W....,;..V.|+000002f0:  6c 63 cb 67 ce 6e b0 af  fc ec 46 eb 0e 66 27 c7  |lc.g.n....F.Nf'.|+00000300:  f1 ef 85 cf 17 4c 67 6a  12 78 1f f0 92 a1 8f 30  |....WLgjRx_....0|+00000310:  ee 03 be db b4 4e 14 63  9c 4e 7b e1 91 72 ac 9f  |.C...NTc.N{..r..|+00000320:  ce 36 66 a7 72 2d f9 c9  9a 7f 74 aa 25 bf 50 6f  |.6f.r-...~t.%.Po|+00000330:  8c 32 ce 12 a5 97 16 eb  95 37 80 9f 00 5e 75 4e  |.2.R..V..7..@^uN|+00000340:  17 8f b7 f4 d7 67 dd 71  b6 d3 43 24 f5 18 41 fe  |W....g.q..C$.XA.|+00000350:  14 f0 b3 c0 5a dd 1c e3  3c a9 c0 15 df 2d b3 3e  |T...Z.\.<..U.-.>|+00000360:  cb c3 aa 39 3c 02 fc 32  f0 25 2b 1c ab 00 c3 be  |...9<B.2.%+\.@..|+00000370:  f4 43 d0 9c 64 39 b0 a0  c5 7a 9e fd c4 5a 22 7b  |.C..d9...z...Z"{|+00000380:  46 3f 56 02 de 06 7c c8  b4 0b bc 16 ec 88 8a 17  |F?VB.F|..K.V...W|+00000390:  96 d8 e6 20 f0 bc 63 17  79 2d c4 2e 2e 9b 41 14  |... ..cWy-....AT|+000003a0:  2f 62 17 3f 85 f5 ca 68  ac 2f a7 43 bf c2 73 9f  |/bW?...h./.C..s.|+000003b0:  26 92 f7 d4 ac a3 63 c0  e0 44 1e ad fb a3 2c 87  |&.....c..D^...,.|+000003c0:  3f 72 e8 d9 d1 de 7a 11  78 c9 6f 94 39 f6 3d c0  |?r....zQx.o.9.=.|+000003d0:  6b ba 3f 52 00 86 cd cc  63 55 7d 98 79 7e 01 78  |k.?R@...cU}.y~Ax|+000003e0:  80 4e a4 74 32 c9 a5 d3  f8 1a e4 d0 bf 88 37 20  |.N.t2....Z....7 |+Hello.pdf:27:+000003f0:  8b 9a 11 f2 c8 c7 58 0d  7d 9b 0a d0 70 d0 7c f4  |..Q...XM}.J.p.|.|+00000400:  0c 68 15 80 74 5a 00 2a  25 b4 4c f4 58 27 9e a3  |LhU.tZ@*%.L.X'..|+00000410:  52 15 3d 95 66 a2 59 41  84 d8 ca fd a8 6f 50 7e  |RU=.f.YA.....oP~|+00000420:  d7 a7 d4 80 b4 4e eb 90  d6 81 5e a3 5f 22 c9 3c  |.....N....^._".<|+00000430:  fd 4a 73 e8 e7 21 6d 60  6c a6 c3 6e 1e 5e 38 b4  |.Js..!m`l..n^^8.|+00000440:  08 0f d8 13 b6 f9 a0 65  d3 15 db 85 26 9e 47 3b  |HO.S...e.U..&.G;|+00000450:  28 26 c4 2b 62 50 0c 91  2a 5e 15 87 c5 21 31 0c  |(&.+bPL.*^U..!1L|+00000460:  e9 90 38 18 cd 89 bd 4f  fa ce 7e 3e d8 b0 f4 2e  |..8X...O..~>....|+00000470:  d6 4d fa be 0c 0e 42 ac  67 c3 33 07 ac 70 34 01  |.M..LNB.g.3G.p4A|+00000480:  3c f8 07 eb ce 46 9a 09  b6 2e ee 68 ec f3 bc 8f  |<.G..F.I...h....|+00000490:  de 3f ef bf 63 19 b7 3e  f8 b3 8d bd 00 fa 31 27  |.?..cY.>....@.1'|+000004a0:  bf c1 a2 0b 6b 26 25 e6  5e 3f f7 4d 4f c2 43 75  |...Kk&%.^?.MO.Cu|+000004b0:  45 7c f5 d6 9d ee eb e7  e8 78 32 4b 51 de aa 9d  |E|.......x2KQ...|+Hello.pdf:28:+000004c0:  59 92 d7 e4 fb f2 0a be  f7 e4 d5 a4 0d f9 67 79  |Y.....J.....M.gy|+000004d0:  15 ef bd b6 5c 3d ca 0b  ff 93 b9 cd 21 46 3b 92  |U...\=.K....!F;.|+000004e0:  cd 41 ce 3c 9b 51 b4 71  c6 1b c0 21 b8 a9 45 73  |.A.<.Q.q.[.!..Es|+000004f0:  f6 b7 59 4c b2 e9 b6 62  b4 60 c9 42 94 9d ab b8  |..YL...b.`.B....|+00000500:  ff cb 09 f3 c3 3c b7 b1  52 73 2e ee f0 bc b7 3f  |..I..<..Rs.....?|+00000510:  63 36 cd f7 8a 0f 8b 74  be 4f bb ac ad 6b 9f 68  |c6...O.t.O...k.h|+00000520:  3f 6a 7f 68 2b da c7 40  bf 4b 1f 4a 5f 4a df 4a  |?j~h+..@.K_J_J.J|+00000530:  57 a4 ab d2 0d 52 a5 6b  d2 b2 f4 9d f4 bd f4 b9  |W...MR.k........|+00000540:  f4 35 7a 5f 40 ba 2c 5d  e9 d8 49 71 ec 1b bb 07  |.5z_@.,]..Iq.[.G|+00000550:  7e c6 7b d6 68 ed 30 66  86 b3 14 10 f3 c2 da cc  |~.{.h.0f..TP....|+Hello.pdf:29:+00000560:  0a 4b 1f f1 77 06 63 9b  f9 33 a1 d5 5e 03 9d bb  |JK_.wFc..3..^C..|+00000570:  7f 63 2d e5 88 b2 53 79  46 19 56 76 2b cf 29 13  |~c-...SyFYVv+.)S|

The diff stops at 1024 KiB. git show d2fb133 shows the rest.